Release PNDTools


Oh damn, I totally missed those posts from November, sorry about not replying and thanks to milkshake for helping out.


I totally should add some more hints or a general help to the program, I get that not everything is obvious to a new user.


In fact (and to give this bump some sense) I am working on that right now:





This is an integrated helper utility to guide the user trough the process of creating a PXML file. (SteaK's PNDCreator has something similar)


It supports most of the PXML specification and probably all that is needed for 90% of the PNDs (things like multi-app PNDs, multiple categories, etc. are not implemented, but can be added manually with the already present PXML editor).


I try to make it as easy as possible for the user to create a valid PXML file, so you have got some license presets (but you can add your own), sub-categories are filtered by main category (so you can't enter Game->WebBrowser any more), icon and screenshots show up as thumbnails, you can link to your executable directly through the PND browser (where you add files), etc.


At the end there will be a short validation process to make sure everything is valid.


Hopefully that will help new users get into PND business and also aide veteran developers, who are tired of having to edit the PXML file manually every time.


Anyway, it's a work in progress, especially the final file creation is not done yet and I am currently rather busy so the next release will take a while.


I also changed my setting to receive notifications when someone replies to this thread, so hopefully I don't miss any new bug reports.


Cheers,


foxblock


EDIT:

it does but you dont feed it an existing PND unless its already working :p use the tool to package your files for you.
Well you can do that, in fact I use PNDTools to update my PNDs, too. I just open the old PND with the tool, replace file that have changed (or add new ones), use the integrated PXML editor to advance the version number and pack it again - works fine for me :) (Granted you use the most recent beta version, which you should btw, it's pretty stable and has this nice PXML editor).
 
Last edited by a moderator:
yes but what I was reffering to is feeding PNDtools a non working PND wont make it auto create a valid working PND unless the PXML is fixed etc.
 
Pushed a few fixes to the PXMLCreator branch and merged it into master, read: The beta version is now officially stable (albeit not fully feature-complete).


Get the new version (0.3.8)


It contains the mentioned PXML creator for manual PXML creation (not the helper utility/wizard yet) as well as a few general fixes, so is a highly recommended update for everyone.


Full version log:



Code:
Version 0.3.8 - built 22.01.2012

* PXMLtools branch

* Added PXML creator (basic graphical, node-based XML editor with built-in help and partial validation)

* Added functionality to automatically open files passed by command-line or drag&drop (meaning you can now set PNDTools as default program to open PND files)

* Added batch files for squashtools and chmod and functionality to use those instead of direct exe calls (see included readme.txt for more info)

* Added Lazarus compatibility fixes

* Fixed several bugs, which have accumulated over the time (like big icons not being attached correctly)

* Fixed exe-calls failing on Windows XP (and lower?)
 
Last edited by a moderator:
Just gave the update a run. Good stuff. :) You're probably aware of these issues, but here are my experiences with the PXML generator.

  • File extensions have to be entered manually, when saving PXML and PND files. It would be nice if these were added automatically.
  • Copy/paste hotkeys (ctrl-c, ctrl-v) don't seem to be working in PXML generator fields.
  • Had to add these PXML entiries manually for preview pic & documentation:




Code:
<previewpics>

<pic src="preview.png"/>

</previewpics>


<info name="SnapSnap readme" type="text/html" src="readme.txt"/>


I did a test upload to the repo, which was successful but gave me this message:

there where still some errors/improvements you could make/fix which we were able to bypass, maybe


you would like to fix those for next time?


Array


(


[package] => Array


(


[version] => Array


(


[type] =>


)


)


[application] => Array


(


[0] => Array


(


[subcategories] => Array


(


[system] => Array


(


[0] => Sub category matching the used main category


)


)


)


)


)


Future suggestions:

  • Repo-style validation
  • A preview window at the end showing it like a repo entry (with a little side field showing the documentation)
 
Hey, thanks for the feedback :)

  • File extensions have to be entered manually, when saving PXML and PND files. It would be nice if these were added automatically.
Ugh, yeah that's something I should have done already. I forget the Delphi TSaveDialog classes don't do that automatically.

  • Copy/paste hotkeys (ctrl-c, ctrl-v) don't seem to be working in PXML generator fields.
Oh, did not notice that, thanks for the report. I suspect it's because for some entry fields I limit the characters that you can enter (so you cannot use invalid chars in the ID for example).

  • Had to add these PXML entiries manually for preview pic & documentation:
That is actually deliberate. The default PXML structure is just the basic structure to get a valid and "complete" (in the sense of all mandatory fields) file. No optional elements are included.


That's what I wanted to get across with the info message, but maybe it is worth discussing whether to make the default structure complete in the sense of all usual functionality covered.


Btw, did you add those elements with a text editor or the buttons in the PXML editor?

I did a test upload to the repo, which was successful but gave me this message:
No idea what that is supposed to mean, milkshake gotta do the deciphering ;)

Future suggestions:

  • Repo-style validation
  • A preview window at the end showing it like a repo entry (with a little side field showing the documentation)
The first suggestion is definitely planned, first I am working on the Easy-PXML-Generator, which will have that built in, then I add it to the "full" PXML editor :)


I don't exactly get what you mean by the latter suggestion, can you elaborate on that? (You mean like showing the entry like it would look like when uploaded to the repo? Also what documentation? ;) )


Thanks again.
 
Code:
Array

(

[package] => Array

(

[version] => Array

(

[type] =>

)


)


[application] => Array

(

[0] => Array

(

[subcategories] => Array

(

[System] => Array

(

[0] => Sub category matching the used main category

)


)


)


)


)


Its saying the subcat seems to match the main cat which mans it breaks the freedesktop standards.
 
You mean it doesn't match the main category, don't you? ;) (also you can actually edit your posts here, it's not IRC :p )


Well, I will have a look at it, I made it so you can only select the available sub-cats to a main category, but you can also enter you own (differing from the standard) - maybe I have messed up with the category list somewhere.


EDIT: Well okay the sub-category appears to be empty (or rather has the explanatory text I put in the default PXML), that obviously is not correct ;)


The validator (yet to come) probably should check for that case and delete empty sub-category nodes automatically.
 
Last edited by a moderator:
no I mean that the subcat seems to == the main cat i.e. subcat: systsem / maincat: system which is not valid, or at least it looks that way without looking into it.


I know its a forum but at work im on I.E.6 which doesnt allow post edits comes up with a javascript error :/
 
Well as I said in my edit the sub-category has the default explanatory text aka "Sub category matching the used main category", so it's not equal, but neither valid.


To be honest though, the error ouput of the repo is kinda hard to understand, do you have plans improving in that regard? I am also asking because I thought one could add some kind of "testing" page to the repo for people to upload their PXML and get it validated (with proper error output) - so you don't have to upload the full PND for that.


Also IE6 :-|| companies still use that? That's horrible...
 
yes I will improve the output at some point :p its just a pain in the butt!!


ah yes I get you know, PNDtools has default text that appears in the input box as a AID to the user and that has saved into the PXML :p so basically the array in my output is just saying the subcat is not valid :)

I know, yes big MAJOR companies who have built websystems based on I.E.6 still use it as they dont wont to pay millions to have it updated no doubt :)
 
Btw, did you add those elements with a text editor or the buttons in the PXML editor?
Text editor. It's possible that I failed to notice certain PXML generator features!

Regarding the preview (which I wasn't very descriptive about): When a PND has been made, it would be cool to have instant confirmation that the icon & preview pic(s) are working, the readme has been included properly (and will show up in the Documents menu as intended), the category is correct, etc. It would just save that extra minute of SD swapping, switching to Minimenu to see if the preview is working etc, then having to go back to the PC and repack the PND because of some silly detail.


I know, it's only a minute out of one's life. But it can build up quickly... into minutes.


So I envisioned a little popup window showing all the same info that the repo displays (plus maybe a check box confirming that a valid readme is present). Come to think of it, this would be handy before you create the PND. Kind of like a 'print preview'. :)
 
Btw, did you add those elements with a text editor or the buttons in the PXML editor?
Text editor. It's possible that I failed to notice certain PXML generator features!
Haha, no worries, I tried to hint at them in the info notice (when you click "Create PXML"), but that was just a temporary workaround anyway. The editor needs some proper introduction.


Anyway, you can use those buttons to add new nodes to the PXML:





Use the radio buttons at the top to select which buttons show up. The default setting is "selection", which is context sensitive, so only nodes you can add as childs to the currently selected one show up (for example when you select the application node all nodes you could add to that show up as buttons, when you select a category node only a button for the sub-category will show up).


Selecting the radio button for "application" or "package" will always just show ALL nodes you could add to that element.


You can also right-click nodes in the tree view and select to delete them.


It's not an ideal set-up (heck it's not even a good one), but so far it allows for maximum functionality, yet without the need to familiarize with the (P)XML structure.


The Easy-PXML-Creator will make that work easier anyway.

Regarding the preview (which I wasn't very descriptive about): When a PND has been made, it would be cool to have instant confirmation that the icon & preview pic(s) are working, the readme has been included properly (and will show up in the Documents menu as intended), the category is correct, etc. It would just save that extra minute of SD swapping, switching to Minimenu to see if the preview is working etc, then having to go back to the PC and repack the PND because of some silly detail.


I know, it's only a minute out of one's life. But it can build up quickly... into minutes.


So I envisioned a little popup window showing all the same info that the repo displays (plus maybe a check box confirming that a valid readme is present). Come to think of it, this would be handy before you create the PND. Kind of like a 'print preview'. :)
Aaah, I get it now.


Well that sounds exactly what a validator should do, with the addition of actually showing the working result (as a valid result might still lack features you thought you added).


I think the Easy-PXML-Creator will take up that task, too, as it aims for a more visual editor (showing thumbnails of added screenshots, etc.) with more user feedback.


The current PXML editor is actually just an interface to edit the raw PXML without the need to mess with the XML structure.
 
  • Copy/paste hotkeys (ctrl-c, ctrl-v) don't seem to be working in PXML generator fields.
Confirmed that bug, though it really just happens for the input fields in which I limit the characters you can enter (being things like language, version number, etc.).


I don't feel you necessarily need the copy-paste functionality there and it works where you need it (title and description for example), but it certainly breaks an expected behaviour which is never a good thing.


Where exactly did you notice that, or where do you feel you needed copy-pasting where you could not.


Btw, you can still paste by right-clicking and selecting "Paste" in the context-menu (uncomfortable I know).


I will work on allowing for this in the next update anyway.
 
Great little tool for creating pnds. Small, simple to install and simple to use. I liked it. Only one sugesstion, add loading and saving of a project.


Thomas
 
Last edited by a moderator:
Back
Top