QSOS Editor
From QSOS wiki
Contents |
How to package and publish a new version?
- Update Changes with bugfixes and new features
- Modify Makefile with appropriate version number (and new componants to include when packaging)
- Modify application.ini: don't forget MinVersion/MaxVersion' of the Gecko engine and also Version of QSOS Editor...
- Modify install.rdf: don't forget em:version, em:minVersion, em:maxVersion and last but not least em:updateKey (use maccoy for that)
- Build the packages: make app and make ext and store them at http://www.qsos.org/tools/
- Generate sha1 hasf of the xpi file: sha1sum xuleditor-firefox-X.Y.xpi
- Modify xuleditor-update.rdf: don't forget em:minVersion, em:maxVersion, em:updateLink, em:updateHash (with hash generated before, prefixed sha1:), em:version and last but not least em:signature (use maccoy for that)
- Store xuleditor-update.rdf at http://www.qsos.org/tools/
- Tag the new version in the Git repo : http://git.savannah.gnu.org/cgit/qsos.git/tree/apps/xuleditor
- Post a entry on http://www.qsos.org
How to try the lastest available version
A short list of command to try the next QSOS xuleditor:
$ git clone git://git.savannah.nongnu.org/qsos.git $ cd qsos $ git checkout o3s-qsos-2.x $ cd apps/xuleditor // Pour le lancer en ligne de commande $ ./xuleditor release // Pour l'installer comme extension Firefox/Iceweasel $ make ext && firefox xuleditor-firefox-2.0.xpi
Command line options
On Unix/Linux system, the xuleditor script allows you to launch the editor with different options depending on what you're doing. Remember that xulrunner applications are cached in a hidden folder in your home directory (~/.raphael.semeteys@atosorigin.com/ in our case).
- [FILE]: display a warning explaining most options and launch the editor in release mode
- clean: removes the xulrunner cache, you should use this one if you've just updated the editor
- clear [FILE]: removes the xulrunner cache and launch the editor, perfect for fast testing
- release [FILE]: just launch the editor, do not remove the cache. You should always use this one once you have run clean
- debug [FILE]: clean and launch the editor and the error console, perfect for "deep" testing
What about the code ?
To make it easy to add fields in the editor, I used two javascript objects as dictionaries. It stores the correspondance between xul id for the interface part and xml path for the document:
- textElements["xul_id_for_an_element_textbox_or_label"] = "xml/path/in/evaluations" : those fields will be automatically filled , saved and cleared when you open/save and close an evaluation
- dateElements["xul_id"] = "xml/path" : the same thing but with dates.
Other fields should be handled in the corresponding functions in the editor.
Notes
There is a TODO list in the xuleditor folder. Feel free to fix those requests !

