Software ArchitectureGeneral DiscussionThere are three main software solutions which support a SobekCM library. The first solution is the web application itself which allows users to interact with the library and discover and interact with the digital objects within the library. The second solution is for internal tracking and reporting purposes and installs a windows form application. Finally, and somewhat less related, are the legacy windows form application used during the process of digitization within the Digital Library Center at the University of Florida. These solutions overlap and share major portions of code and logic.
Intelligent Digital ObjectsAt the core of all three solutions is the same intelligent digital object, encoded within the SobekCM Item class, which allows for consistency in display and behavior throughout the entire digitization workflow, preservation, and display.
This object can read and write itself in a variety of metadata formats ( METS, EAD, MODS with VRACore extensions, Dublin Core, Marc, DarwinCore, etc..). The intelligent object can represent any type of object that can be displayed within this library, from a simple digital object to a compound object, and from an archival collection to an authority record. An intelligent object can also save its metadata information to the database or to a Solr/Lucene index. It can also save its behavior information or progress/tracking information to the database. Internally, all digital objects are encoded within a metadata files that conforms to the Metadata Encoding and Transmission Standard [METS], although a variety of other standards can be encoded in the decriptive and administrative sections within that file. SobekCM LibraryAnother large set of code is shared between the web application and the SMaRT tool. This code allows for consistency and accurate reporting between these two solutions.
This library contains all of the classes which represent item aggregations (or collections), routines for item discovery from the database and/or Solr/Lucene, and many supporting objects. In this way, delivery of information within the tracking and reporting tool uses almost all of the same code used for web delivery. These different objects are all found in the SobekCM Library namespace. Related Resources
|