Demonstration
Overview
Provided the user is familiar with various components which comprise the aDORe Archive, this demonstration will introduce the user to the following:
- What configurations exist? What does each define?
- How do I create a new processing profiles?
- What is a processing profile?
- How does the aDORe Archive ingest content?
- How do I retrieve content after ingestion?
Configuring aDORe Archive
aDORe Archive configurations are stored in a properties file similar
to $install_dir/adoreArchive/adore-archive/etc/archive.properties.
Key configurables include:
* adoreArchive.Organization - Defines the local OpenURL SID - (e.g. adoreArchive.Organization=info:sid/library.lanl.gov) * adoreArchive.tmpDir - Defines the path to a tmp processing directory - (e.g. adoreArchive.tmpDir=tmp) * adoreArchive.threads - Defines the number of threads used during ingestion - (e.g. adoreArchive.threads=1) * adore-arcfile.ResolverURL - Defines the BaseURL path to the ARCfile Resolver - (e.g. adore-arcfile.ResolverURL=http://localhost:8080/adore-arcfile-resolver/resolver) * adore-arcfile.StoreDirectory - Defines the ARCfile Storage Directory Path - (e.g. adore-arcfile.StoreDirectory=$install_dir/adore-archive/data/arc) * adore-arcfile.IndexDirectory - Defines the ARCfile Index Directory Path - (e.g. adore-arcfile.IndexDirectory=$install_dir/adore-archive/data/tape) * adore-arcfile.PrefixURL - Defines the Local ARCfile Prefix - (e.g. adore-arcfile.PrefixURL=info:lanl-repo/arc/) * adore-arcfile.DataStreamPrefix - Defines the Local Datastream Prefix - (e.g. adore-arcfile.DataStreamPrefix=info:lanl-repo/ds/) * adore-arcfile-registry.OAIURL - Defines the BaseURL path to the OAI-PMH ARCfile Registry OAI-PMH Service Interface - (e.g. adore-arcfile-registry.OAIURL=http://localhost:8080/adore-arcfile-registry/OAIHandler) * adore-arcfile-registry.PutRecordURL - Defines the BaseURL path to the OAI-PMH Arc Registry PutRecord Service Interface - (e.g. adore-arcfile-registry.PutRecordURL=http://localhost:8080/adore-arcfile-registry/PutRecordHandler) * adore-xmltape.PrefixURL - Defines the Local XMLtape Prefix - (e.g. adore-xmltape.PrefixURL=adore-xmltape.PrefixURL=info:lanl-repo/xmltape/) * adore-xmltape.AccessorURL - Defines the basURL for the multi-tape OAI-PMH Service Interface - (e.g. adore-xmltape.AccessorURL=http://localhost:8080/adore-archive-accessor/Handler) * adore-xmltape.StoreDirectory - Defines the XMLtape Storage Directory Path - (e.g. adore-xmltape.StoreDirectory=$install_dir/adore-archive/data/tape) * adore-xmltape.IndexDirectory - Defines the XMLtape Index Directory Path - (e.g. adore-xmltape.IndexDirectory=$install_dir/adore-archive/data/tape) * adore-xmltape-index.Plugin - Defines the aDORe Archive XMLtape Indexing Plug-in class name - (e.g. adore-xmltape-index.Plugin=gov.lanl.xmltape.index.BasicTapeIndex) * adore-xmltape-index.IdIdxPlugin - Defines the aDORe Federation XMLtape identifier indexing implementation - (e.g. adore-xmltape-index.IdIdxPlugin=gov.lanl.xmltape.identifier.index.jdbImpl.IdentifierIndex) * adore-xmltape-registry.OAIURL - Defines the BaseURL path to the OAI-PMH XMLtape Registry OAI-PMH Service Interface - (e.g. adore-xmltape-registry.OAIURL=http://localhost:8080/adore-xmltape-registry/OAIHandler) * adore-xmltape-registry.PutRecordURL - Defines the BaseURL path to the XMLtape Registry PutRecord Service Interface - (e.g. adore-xmltape-registry.PutRecordURL=http://localhost:8080/adore-xmltape-registry/PutRecordHandler) * adore-xmltape.ResolverURL - Defines the aDORe Archive XMLTape OpenURL Resolver Service BaseURL - (e.g. adore-xmltape.ResolverURL=http://localhost:8080/adore-xmltape-resolver) * adore-xmltape-xquery.ResolverURL - Defines the aDORe Archive XMLTape XQuery OpenURL Resolver Service BaseURL - (e.g. adore-xmltape-xquery.ResolverURL=http://localhost:8080/adore-xmltape-xquery)
Creating a New Processing Profile
First, lets define a processing profile. A Processing Profile is a configuration grouping
which define how source content should be pre-processed to create XMLTapes and ARCfiles for ingestion
into the aDORe Archive. The Adore Archive provides a robust plug-in architecture which allows developers
to pre-process content prior to indexing and registration. Our processing profile, which we'll name 'test' will
simply copy the source XMLtape/ARCfiles to their respective archive storage directories. For each processing
profile, a new profile reference will need to be created in the archive.properties file.
The configuration grouping includes:
* <profilePrefix>.FullName - Define the full name of Collection Profile - (e.g. test.FullName=info:sid/library.lanl.gov/sample) * <profilePrefix>.pmh-defaultproperty - Define the Collection PMH Default Properties filepath - (e.g. test.pmh-defaultproperty=$install_dir/adore-archive/etc/moai/test.properties) * <profilePrefix>.IndexSetSpecProps - Define the Collection SetSpec XPath Properties filepath - (e.g. test.IndexSetSpecProps =$install_dir/adore-archive/etc/XPath.properties) ### Optional Profile Configurations ### * <profilePrefix>.TapeStoreDirectory - Overrides default storage location for XMLtape Files - (i.e. test.TapeStoreDirectory=/d1/adore/data/test/tape) * <profilePrefix>.TapeIndexDirectory - Overrides default storage location for XMLtape Index Files - (i.e. test.TapeIndexDirectory=/d1/adore/data/test/idx) * <profilePrefix>.ArcStoreDirectory - Overrides default storage location for ARCfiles - (i.e. test.TapeIndexDirectory=/d1/adore/data/arc)
Content Ingestion
Before we perform a first content ingestion, let's ensure our Tomcat and MySQL services are running.
To verify your Tomcat instance is running, open http://localhost:8080/.
The Tomcat Servlet Engine should appear.
To verify your MySQL instance is running, log in using the arc_registry user using the following command: mysql -u arc_registry -p .
Enter the appropriate db password when prompted to do so. MySQL should welcome you and provide you with a mysql query prompt.
Type 'exit' to return to your shell prompt.
For this demonstration, we'll ingest a set of pre-constructed XMLTape and ARCFiles.
The contents of the XMLTape and ARCFiles were derived from the Library of Congress'
American Memory Project. Refer to the aDORe Archive Tutorial for additional information
on how to create XMLTapes and ARCfile from public resources such as those found in
the American Memory project.
The demonstration will perform the following functions:
- Pass file-path refs for configuration file, XMLTape and ARCFile to ingestion application along with the processing profile id.
- Copy the source XMLtape/ARCfiles to their respective archive storage directories.
- Index XMLTape using the specified adore-xmltape-index.Plugin implementation.
- Index ARCfile to create a CDX file.
- Register XMLTape using the defined adore-xmltape-registry.PutRecordURL interface.
- Register ARCfile using the defined adore-arcfile-registry.PutRecordURL interface.
Run the following command: sh ./demo.sh <install_dir> (i.e. ./demo.sh /usr/local/adore)
Content Retrieval
To verify that our new XMLTape was properly registered, let's make an OAI-PMH ListRecords request to the XMLTape Registry:
http://localhost:8080/adore-xmltape-registry/OAIHandler?verb=ListRecords&metadataPrefix=tape
To verify that our new ARCfile was properly registered, let's make an OAI-PMH ListRecords request to the ARCfile Registry:
http://localhost:8080/adore-arcfile-registry/OAIHandler?verb=ListRecords&metadataPrefix=arc
To retrieve the contents of our XMLTape, let's make an OAI-PMH ListRecords request to the Archive Accessor:
http://localhost:8080/adore-archive-accessor/Handler/demoTape?verb=ListRecords&metadataPrefix=native
To retrieve the contents of our ARCfile, let's make an OpenURL request to the ARCfile Resolver:
http://localhost:8080/adore-arcfile-resolver/472de88d-5670-45df-9200-fb135189f00e/openurl-aDORe4?url_ver=Z39.88-2004&rft_id=info%3Alanl-repo%2Fds%2Fa9866bc2-306b-4698-abaf-a0f43c1ea611&svc_id=info:lanl-repo/svc/getDatastream
To retrieve a list of identifiers contained in our ARCfile, we'll make a OpenURL Request for svc_id "info:lanl-repo/svc/identifiers.list":
http://localhost:8080/adore-arcfile-resolver/472de88d-5670-45df-9200-fb135189f00e/openurl-aDORe3?url_ver=Z39.88-2004&rft_id=info%3Alanl-repo%2Farc%2F472de88d-5670-45df-9200-fb135189f00e&svc_id=info:lanl-repo/svc/identifiers.list
To retrieve a list of identifiers contained in our XMLTape, we'll make a OpenURL Request for svc_id "info:lanl-repo/svc/identifiers.list":
http://localhost:8080/adore-xmltape-resolver/demoTape/openurl-aDORe3?rft_id=info%3Alanl-repo%2Fxmltape%2FdemoTape&svc_id=info%3Alanl-repo%2Fsvc%2Fidentifiers.list&url_ver=Z39.88-2004
To obtain a DIDL for a given rft_id using the OpenURL Resolver, we'll make a OpenURL Request for svc_id "info:lanl-repo/svc/getDIDL":
http://localhost:8080/adore-xmltape-resolver/demoTape/openurl-aDORe1?url_ver=Z39.88-2004&rft_id=info%3Adoi%2F10.1016%2Fj.dyepig.2004.06.022&svc_id=info:lanl-repo/svc/getDIDL
To retrieve a list of available locations for a given rft_id using the OpenURL Resolver, we'll make a OpenURL Request for svc_id "info:lanl-repo/svc/locate.sru":
http://localhost:8080/adore-xmltape-resolver/demoTape/openurl-aDORe2?url_ver=Z39.88-2004&rft_id=info%3Adoi%2F10.1016%2Fj.dyepig.2004.06.022&svc_id=info:lanl-repo/svc/locate.sru
The adore-xmltape-xquery OpenURL interface may be used to perform ad hoc of XML repository content:
http://localhost:8080/adore-xmltape-xquery/demoTape/openurl-aDORe7?url_ver=Z39.88-2004&rft_id=info%3Alanl-repo%2Fxmltape%2FdemoTape&svc_id=info:lanl-repo/svc/mimetypes.list

