!--a11y-->
Extensions 
Extensions can be built on top of the framework to provide additional functions for resources. Extensions that enhance the application layer are application extensions. Extensions that are closely related to the framework are called framework extensions.
Extensions that can be plugged into the framework are:
·
Repository
Managers:
Map objects stored in a backend system (an information source) to resources in
the repository framework.
For example, the file system repository manager maps files and directories of
the file system to resources and collections.
·
Repository
Filters and Repository Filter
Managers:
Repository filters allow the manipulation of objects as they are passed
through the framework.
·
Repository
Services:
Add additional uniform functions to the resources of a specific repository. A
repository service is related to a repository and can also communicate with
the repository manager’s backend.
For example, the application properties service offers additional properties
that can be stored with a resource. An application can use these to save data
like timestamps that indicates the application-specific lifetime of a
resource.
Note that an instance of a repository service is instantiated for every
repository. As a consequence, each repository that uses the repository service
can configure it to meet the individual requirements of the repository.
·
Global
Services:
Add additional uniform functions for framework resources. For example, the
relation service enables an application to store and retrieve relations
between resources like document X is attached to document Y.
Note that global services are only instantiated once for the framework as
opposed to repository services where each repository can use its own instance
of a service.
·
Semantic
Objects and Semantic Object
Providers:
Semantic objects expose special aspects of resource objects, for example the
business methods and data they encapsulate. The semantic object provider
handles the conversion of resource objects into semantic objects. For example,
a semantic object provider can convert a resource of a specific type into the
semantic object TeamRoom.

Extensions can be added to extensions. For example, when a third party search engine is used instead of Search and Classification (TREX), an extension has to be added to the index management service.
The figure shows extensions that can be plugged into the framework.
