Breath (or cup) of pure oXygen
One of my DiXiT objectives are the improvements to the oXygen-TEI framework. Oxygen is a very popular XML editor that offers built-in support for TEI and the plan is to make this support even better. I will be staying with the oXygen team over the summer but I thought some reconnaissance beforehand would not go amiss.
Early November weather in Romanian city of Craiova (headquarters of SyncRO, creators of the most popular editor in TEI community) is quite chilly but the warm welcome I got from George, Alex, Octavian and the rest of oXygen crew makes you not to notice the cold.
Idea for this week was to turn me into oXygen editor power-user with the plan of developing enhancements for the oXygen TEI framework. I went through the process of customizing the various aspects of oXygen behaviour – especially defining new Actions available in the Author mode to perform specific tasks.
The necessary steps were to isolate the relevant bits from php-based TEI Critical Edition Toolbox: the xslts used to convert the original TEI source to feed into the BP, the CSS files and JS libraries. I had to add an ANT transformation scenario in oXygen and enable it in TEI framework to actually perform the operation.
Next step was to create a custom button to trigger the transformation. So far oXygen allows this in Author mode only. Every custom button or menu option can invoke one of built-in or custom-made oXygen operations. Operation that can invoke transformations is called ro.sync.ecss.extensions.commons.operations.ExecuteTransformationScenariosOperation. This is one of standard oXygen operations that does exactly what it’s name says – executes a transformation scenario. As a parameter it takes a name of the transformation scenario and I used the ANT based scenario I added to the framework before. Having an oXygen action ready it’s just a click of a button to add a button triggering that action.
The detailed description of the above process that can be repeated to create other custom button can be found on github. Once done it’s not that scary! Cheers!