Technologies used in Open Context
Current development efforts aim to make Open Context easier to adapt to meet the user experience requirements for different applications and user communities. To support greater flexibility in interface composition, Open Context development is currently continuing to implement XML/XSLT technologies. These will allow great flexibility in customizing content presentation and user interface tools and will enable Open Context to support rapid prototyping and iterative design techniques typical of user experience optimization methods. Finally, a major motivation for the XML/XSLT development focus is to facilitate the creation of simple, RESTful web services that will enable machine-to-machine interoperability and facilitate "mashups" of Open Context content with content from other data sources on the Web.
All source code is released under a GNU-GPL version 3 open source license. Click here to access the code repository.
Open Context is an open source project built with commonplace open source web technologies, including PHP (using the Zend framework), MySQL, Dojo Ajax, and most recently deployed, Apache-Solr. Apache-Solr is used to support Open Context's faceted search interface and web services. This feature allows users to find items based on more than one dimension and according to project-specific taxonomies, which is ideal for exploratory browsing. Initially implemented in MySQL, this faceted browsing feature suffered increasing greater performance problems as Open Context's collection grew. In order to have more scalable support for faceted navigation, we implemented Apache-Solr, an application that supports very demanding sites, including the Internet Archive, Netflix, and CNET, where it was first developed. Apache-Solr is gaining popularity in the digital library community, and cloud-based implementations of Solr can be very scalable. The main challenge in this development effort was finding ways to implement ArchaeoML's recursive data structures in Solr's fairly "flat" indexing schema.
Open Context's implementation of Solr is very modular, and can be installed on other systems. We will shortly release a plugin for Omeka, a small museums collection management application, that once installed, will give Omeka faceted navigation and web-services like Open Context.
Like OCHRE, Open Context now host many different projects, with different methodologies, recording systems, and temporal and geographic coverage. This wide applicability lowers costs, since a common set of ArchaeoML-based software and database tools can be used for many projects without any additional software development.While ArchaeoML (see the "concepts" page) is very useful for cultural heritage data management and dissemination (and can even see application in areas as diverse as Public Health and environmental biology), there are many scenarios where users where may want to work with ArchaeoML content in other applications and systems. Some of these scenarios include combining ArchaeoML data with data from other collections. Open Context, or any other cultural heritage data system, cannot always meet the diverse needs of all users. For example, content drawn from Open Context could be far more interesting to some users when visualized in GoogleEarth along with datasets from other sources. Thus, Open Context implements a variety of powerful web-services to make it easier to work with other systems.
Atom-based Web services represent an important aspect of data portability. They can enable mash-ups use of cultural heritage content without requiring adherence to complex and difficult semantic frameworks or cumbersome (WS*/SOAP) Web services. Atom allows users to incrementally work with richer data structures and semantic markup as they need and as they have the capacity. When combined with faceted search features such as those offered by Open Context, Atom implementations can also benefit from sophisticated semantic frameworks that enable more specific and relevant retrieval of content than possible through keyword text searches. In this regard, the Open Context Atom implementation generates feeds requested through a sophisticated faceted query interface that accepts many parameters and Boolean operators. This enables users to take advantage of Open Context's ArchaeoML-based data structures and sophisticated index in order to make search requests with constraints specified in a number of dimensions.
Many such web-services are starting to see wider implementation in the cultural heritage sector. Several museums and heritage organizations, including the National Maritime Museum (London), the Powerhouse Museum (Sydney) and others implement the Open Search protocol to output keyword search requests as RSS feeds. One of the first major Atom implementations is in the Pleiades ancient world-mapping project. Pleiades offers a variety of Atom representations for both query and search results, as well as requests for specific records. The ease of creating and using Atom-based Web services, coupled with Atom's wide support in popular applications, has generated great enthusiasm for this content syndication approach.
