MSC v2 has arrived

09 Sep 2020

Dear WG members,

The Metadata Standards Catalog has now been updated to the new version 2 code.

Most of the big changes have gone on in the underlying code, so you may not notice much difference, but here are the highlights.

  • You can now add relationships between records from either end, so if you have a network of records to add, you can add them in any order.
  • The workflow for adding information about versions of metadata schemes, tools and crosswalks has changed. You now reach the screen for editing a version from the display screen of the corresponding record rather than the editing screen. This gets rid of the problem of having to have multiple editing tabs open at once.
  • The types of information you can record about a version have changed slightly. As part of this, to help make the code simpler and less liable to breakage, we have removed the facility to specify in a machine-readable way the particular version of a scheme that a tool or crosswalk was designed for. Sorry about that. If there is demand we may find a more robust way of doing it later on.
  • You can now view the records for organizations, mappings, and endorsements directly, and there are corresponding indexes for them. If you know an entry needs updating but can't remember which standard or tool you saw it in, you will be able to find it much more easily now.
  • The subject classification is now a proper profile of the UNESCO Thesaurus, solving some issues we had with the original. In particular, we have eliminated duplicate labels at different levels of granularity and clarified how certain terms should be used in the context of the Catalog.
  • The vocabularies we use for URL types, data types, organization types, tool types and identifier schemes are now strictly enforced, but it is possible to add new terms easily.
  • The site should be compliant with the Web Content Accessibility Guidelines (WCAG) version 2.1 to AA standard, but if you encounter any accessibility issues, do let us know.

The API is not (yet) feature complete compared with version 1, but further development is planned. What we have working so far is the GET method for the following endpoints:

  • Legacy endpoints /api/m, /api/g, and so on for the five main record types, with the same behaviour and output as version 1. This will likely be withdrawn in future, but is provided to help with transition to the new API.
  • New endpoints /api2/m, /api2/g, and so on for the five main record types.
  • New endpoints /api2/datatype, /api2/type, /api2/location, and /api2/id_scheme for the respective controlled vocabularies.
  • New endpoint /api2/thesaurus, for looking up the details of the subject classification.
  • New endpoints /api2/rel and /api2/invrel, for looking up relationships between the five main record types. Similar information is available directly in the responses from the main record endpoints, but there the information will be read only. These endpoints will in due course allow editing.

As far as possible the responses from the new endpoints conform to the Google JSON Style Guide. Still to come are the following features:

  • An endpoint for handling API user authentication tokens.
  • Corresponding POST, PUT and DELETE methods on the endpoints for the main five record types, controlled vocabulary terms, relationships and inverse relationships.
  • The PATCH method on the endpoints for relationships and inverse relationships.
  • A filtering parameter on GET methods for collection endpoints, providing a search query interface similar to the one previously available for version 1.

The code for version 2 is now visible publicly in a new GitHub repository. The version 1 code remains available for reference.

Best wishes,
Alex Ball
Co-chair MSCWG

Edit 2020-09-10: corrected URLs for API endpoints for relationships/inverse relationships.