ADA: The Technical Side
The previous versions of ADA were built on a combination of PHP and MySQL, glued together with various templating packages that time has been unkind towards.
For this third iteration of the Avestan Digital Archive, the second to be hosted by the Freie Universität Berlin, we opted for a complete and fully open source software package, one that allowed us to implement the flexibility of a non-relational (NoSQL) database. Our choice was the Exist database (stylized eXist-db), an XML-focused database and self-contained software package. The considerations behind these decision were twofold:
- A technological synchronization with CAB, allowing interoperability between the platforms, while maintaining a distinct and unique identity and development philosophy for each.
- Longform XML resembles the natural structure of a book or a manuscript more closely than any table-based relational database, which allows us to encode manuscripts and build philological tools in a more intuitive way.
Exist-db is a framework built on a NoSQL document-oriented XML database. Data manipulation is handled through XQuery, which also functions as the system’s native query language. XQuery’s functional programming roots allow it to operate as both a query and a scripting language, and as such its use extends beyond data handling and manipulation. It can extend into building programs and libraries or invoking scripts via AJAX. In more traditional software and websites, this role is usually assigned to structural languages like PHP, ASP, or Python.
The website aspect of the platform is built as a standard model-view controller (MVC) application on top of Exist-db, which provides an “application platform”, in other words a system for web content management, like templating html pages.
ADA’s source code and the philological material (including the indexing and transliteration of manuscripts) will be provided with an open source license on our github page.