What you need to know if I'm hit by a bus: basics
I'm building a basic introduction to the ScanCan project for any programmer who might have to take over the project in the event that I'm "hit by a bus", or otherwise not available. This post will be built up steadily over time, as I document the app structure, markup practices etc.
Application structure
The application currently lives in the main Cocoon servlet on the "production" Tomcat on Lettuce. It shares that servlet with several other applications, but right now it's the most "live" and important. The XML data (articles and reviews) lives in a single collection in the db called "scancan".
DTDs/standards
This is a legacy project which still uses TEI P4 (even though it's in steady use, with new material being added every year). The DTD for the XML markup is tei_scancan.dtd
; it was generated from the old TEI Pizza Chef tool without customizations.
Other standards used are XHTML 1.1 (for web output), CSS 2.1, JavaScript (no specific version, but probably nothing newer than 1.2), and XSL:FO in the production of PDFs. PDF production is done using XEP, and does make use of some XEP-specific features (for instance, to provide a useful TOC sidebar in the PDF file for a journal volume). This means the project as it stands is dependent on XEP.