As discussed in earlier sections, the Metadata Registry is used to store, create and manage metadata records. These metadata records are then indexed in Solr and exposed to end users via the Discovery Portal. The Metadata Registry has two main methods for exposing and exchanging metadata records with the Discovery Portal; the Registry Object API and the Syncing Process.
Registry Object API
The Registry Object API is provided as one of the Registry services and it allows the Discovery Portal to request information about registry objects which match a query or specific registry object ID. The portal utilises this API for the detailed display of records and to retrieve any additional metadata that the display logic requires.
This API is designed in much of a REST-ful interface where GET statement refers to a collection.
The Registry Object API is available via
The API has been developed in a way which allows the Portal to request specific metadata items to prevent the need to retrieve the whole metadata record each request. As of release 15, the Registry Object API offers the following handlers:
- <blank>: returns everything
- Core: returns the basic metadata of the registry object, eg (id, key, title, group,...)
- Descriptions: returns the list of descriptions and descriptions type
- Relationships: A list of all the related objects group by class (limit of 5 by default, overwrite with related_object_limit), and a total count of each relationship class.
- Subjects: A list of subjects, in resolved form, unresolved form and type
- Spatial: A list of spatial objects that the registry object contain.
- Temporal: A list of temporal range that the registry object contain. Limited by year.
- Citations: Citation information of the registry object
- Dates: A list of available date and date type
- Connection Tree: Data for the display of connection tree graph use for SOLR
- RelatedInfo: Metadata that is located in the relatedInfo RIFCS section
- Identifiers: A list of identifiers, type and their resolved form.
- Rights: A list of rights element that the registry object contain
- Contact: Contact information for the registry object.
- Direct Access: whether the registry object has any downloadable for direct access portal.
- Suggest: A suggestion list of registry objects that closely related to this registry object.
- Logo: A determined logo for the registry object, normally this is found in description[type=logo]
- Tags: A list of registry object internal/social tags for the registry object
- Existence Dates: A list of specialised dates field for the registry object
- Identifier Match: A list of records that shares the same identifier as the registry object.
Viewing a registry object
The portal will use all of the information available in the Registry Object API in order to display the registry object accordingly. For more information on how to write a new registry object handler, please refer to the guide.
The portal default display and search model is registry_object, this is defined in applications/portal/core/config/config.php. For more information on how to use a different display and search model (that is used to customise the Portal for different type of data), please refer to the guide.
The portal registry_object model has an internal registry object called _ro.php (applications/portal/registry_object/models/_ro.php) that is encapsulated by the registry_objects model (applications/portal/registry_object/models/registry_objects.php).
Everytime an object of _ro is initialised, portal requests the registry for all the information regarding this given registry object id and build an object of its own.
The process is simplified with the registry_objects model. We can simply instantiate a new object by
Searching for registry objects
The portal make extensive use of the
solr.php library located at
engine/libraries/Solr.php for searching. The portal delivers a search page that is powered by AJAX and the AngularJS framework to interact with SOLR and deliver search results.
Example: a simple search
Example: a simple facet
Searching and Facetting functionality is made available via the SOLR indexed fields. The indexed fields are found at the our solr schema file, the latest is located at