Browse and search developer information

Registry Repository

Pattern Description


This is an evolution of the shared repository pattern in which the “registry” and “repository” components are separated. This allows a single registry to provide indexing and querying of information and documents held across multiple repositories.

Information submitted to the document repository is also registered within the registry, with relevant associated metadata describing the information item/document. This can be implemented in a variety of ways – the repository can initiate the creation of the registry entry, or vice-versa, or it can be done directly by the Document Source.

A Document Consumer can then query the registry to retrieve a list of information matching their criteria. They can then retrieve specific items from that list by requesting them from the relevant Document Repository.


  • Allows information from a range of repositories, potentially in a range of organisations to be indexed and searched.
  • Has the potential to support the sharing of any kind of information at any level of granularity from any source.
  • Document Sources do not need to be aware of the existence or capabilities of the Document Consumers.
  • Can be combined with a subscription and notification mechanism to notify Document Consumers when information changes (by consuming a document you could subscribe to notifications of future changes to that document).


  • Sharing policies (data sharing agreements) must be agreed by all parties.
  • Governing the use of the metadata about entries in the registry may be difficult, especially if the metadata itself contains items that could be sensitive.