oXygen frameworks part 1: extend or modify?

20150808_203231

Biserică Stavropoleos, București

A chance meeting at the Conventus Vindobonensis* last week reminded me of the TEI CE Toolbox framework I prepared last autumn during my visit at SyncRo headquarters in Romania. As I headed for Craiova straight from Vienna it was easy to remember to make this framework a bit more state of the art. Outcome, as usual, can be found on GitHub, but let me describe here what I did today and why.

Having TEI CE Toolbox in oXygen is all very well, but most probably we’d want the full TEI framework support as well. Thus it is sensible to use TEI framework for oXygen, maintained by TEI consortium, as a starting point. And, obviously, this is what I did last November. But, TEI consortium regularly publishes new releases of TEI so any framework based on previous release will miss the new additions.

The mechanism of extending the oXygen framework comes to the rescue. You might want to see Octavian Nadolu’s presentation on the subject from DiXiT Camp 2 in Graz.

What to extend then? For the update of the TEI framework to take place automatically it is necessary to install it as an add-on from here as described by James Cummings in his blog post. Once you do that, you’ll have two versions of TEI P5 framework, so it’s wise to deactivate the one shipped with oXygen and switch to add-on version in Options-Preferences-Document Type Associations dialog.

ext-dta

Extending the framework

This will be our starting point in extending TEI Framework. From Document Type Associations dialog you need to select TEI P5 (add-on) and then Extend option (see illustration above). The extended framework needs to be given a name, and a place to live. Choose external storage option to be able to save it on your hard drive and share it later. I called mine TEI P5 – CE Toolbox Extension and saved it in tei framework directory.

ext-newframework

Create new extended framework

As TEI CE Toolbox requires additional resources – XSL transforms, JS libraries and CSS stylesheets – I had to copy all that where the framework can reach it, in this case to teicetoolbox subdirectory in tei framework directory.

ext-frameworkdir

Contents of TEI framework directory

Then I had to recreate TEI CE Toolbox transformation scenario, as it is the whole point of TEI CE Toolbox. In general case, you might want to provide not only transformation scenarios but new document templates, validation schemas, Author mode custom actions or CSS styling. The procedure was exactly the same as last time, in short putting in ANT build file and configuring the transformation: specifying the build file to use, parameters for the build and location for the output. Everything happens in the Transformation tab of the Document Type dialog for our new extended framework.

ext-transform

Configuring ANT transformation scenario

Framework created in this manner will provide all the functionality of original TEI framework plus everything we build into it. Moreover it will automatically reflect changes made to original framework as new versions are released.

If you created the extension for your private enjoyment, this is the end of the story. Chances are, though, that you will need to share it with other TEIers out there. The easiest way for dissemination with automated updates is to release it as an add-on. This post already got quite long, so bear with me and wait a day or two for the continuation of the add-on adventure.

keep-calm-to-be-continued-5

To be continued…

Societas Internationalis Studiis Neolatinis Provehendis Conventum sextum decimum


Leave a Reply

Your email address will not be published. Required fields are marked *