Contributor(s): David Germano, Andres Montano.
THL relies chiefly on Ruby on Rails (RoR) for its database applications. We presently have the following RoR applications:
Other apps we plan for include:
These ROR applications (i) share extensive code/modular units with each other, (ii) have robust APIs that provide web services to each other at the editorial level, and (iii) are completely interconnected for end users.
The Integration works something like this. You are in the MMS cataloging and image and you want to specify its place - Kathmandu. You thus choose "select place" and that opens up the browsing/searching of the Place Dictionary app via a Web service API. You find "Kathmandu" by browsing or searching and hit "select". That passes the place ID for "Kathmandu" into the place field in the MMS image cataloging record. Then the label "Katmandu" is show through that ID being used to retrieve the place name from the Place Dictionary through a Web service API; in addition the label "Kathmandu" is also then hyperlinked back to its corrresponding place descriptive record in the Place Dictionary. An additional aspect of this is that then in the Place Dictionary you will be able to see how many images have been cataloged by any given place, since the Place Dictionary will every night do a regularly scheduled query of the MMS to see what images have been cataloged by what places, and retrieve the corresponding MMS image IDs. The reason it is done every night rather than dynamically is simply speed issues.
Likewise, the Knowledge Map is used to maintain hierarchical typologies that are then jointly used as controlled vocabulary via Web service APIs for all these other applications. For example, it has a "grammar tree" which is used by the Tibetan Rich Dictionary to specify what grammar function a term is. In the same way as outlined above, the word "noun" (or whatever) in the Tibetan Rich Dictionary for a given term will then be hyperlinked to the corresponding place where "noun" occurs in the Knowledge Map for grammar functions. Likewise, from the Knowledge Map for grammar functions you will be able to see how many dictonary terms have been indexed by each grammar function. Thus the Knowledge Maps and Place Dictionary in particular become rich indexes where you can look up a topic or a place, and see all the resources in THL available for it - images, audio-video, essays, texts, maps, etc.
General THL RoR Development Resources: