The scope of the project is to provide developers with a reference implementation for a content repository that is accessible through APIs. It will serve as a solid and efficient base for developing Content Applications. By "Content Applications," we mean any application with a primary function of managing structured or semi-structured content in any way. These could be Document Management applications, Digital Asset Management applications, Case or Record Management applications, Web Content Management applications, or simply business-specific applications.
The various APIs included initially in the targeted scope are:
- Native Java APIs
- REST-based APIs (leveraging JAX-RS)
- CMIS  server APIs (HTTP and SOAP)
Each of these has a different role:
- Native Java Services provide Java developers a nice way to extend the repository to build a full application on top of it, or to integrate it in an existing Java application. Here, the use of Equinox on the whole application would be a strong benefit for the developer.
- REST-based web services provide developers of global solutions a way to integrate a content repository with other components of their applications in a simple, loosely coupled way. A very common use case for such an API is the development of a remote application that accesses content, such as an application running on a mobile device or on desktop software.
- CMIS implementation allows the Apricot content repository to interoperate with other CMS systems having implemented this standard. The CMIS standard is one of few attempts to standardize some parts of the Content Repository and we think there is a lot of value in it and will continue to support it.
Other APIs might potentially be added to the project at further stages.