For a long time the only means to insert records into a Meresco index was by harvesting them from an OAI repository. Over time a need arised to be able to insert records from non OAI sources. This has been accomplished by making use of the ‘Inbox’ component.
Several Meresco implementers already had their own database without an OAI-repository interface. Moreover it turned out to be impossible to add OAI interfaces to these systems; some did just not provide the technical means necessary to construct such an interface. Most systems provide means to export their data into a file-format; being one large file or several smaller files. This gives Meresco an opportunity to index these records.
The ‘Inbox’ component monitors a directory for file activity. Every file is read and the content is inserted into the application DNA of the server. By adding format specific components as observer of the inbox component, virtually any data format can be used and indexed. For example, using the standard Meresco XSLT crosswalk mechanism, the custom XML format can be converted to e.g. OAI Dublin Core or MODS.
Recently the inbox was implemented in the TU Delft Library Discover Project as a means to update records selectively. The usage of the new search engine has uncovered several mistakes made over the years in the catalogue and these are now being corrected. After correcting the found mistakes the record is exported into the inbox and thereby automatically reindexed.
2 gedachten over “Inbox component”
Pingback: How to scale up Meresco « MERESCO
You don’t mention that Meresco uses SRUUpdate for ingesting XML documents. This is also used by the Meresco Harvester that can send a metadata element of a OAI-PMH response as a SRUUpdate request to the Meresco server. This is a powerful mechanism also for non-OAI sources. Although we at Tilburg University have the inbox functionality for more than a year, our preferred way to connect non-OAI sources to the Meresco server is via SRUUpdate. Once you have written a SRUUpdate client you can adapt it for all kinds of (update) jobs. One application is selective deletes! For selective updates in the case of a OAI repository you can use the GetRecord request with such a SRUUpdate client.
For enriching Meresco documents with extra information coming from external sources we also use SRUUpdate.
What this shows is that Meresco is a flexible system that allows for different ways to do a job.