Content repository
# Content repository

A content repository or content store is a database of digital content with an associated set of data management, search and access methods allowing application-independent access to the content, rather like a digital library, but with the ability to store and modify content in addition to searching and retrieving. The content repository acts as the storage engine for a larger application such as a content management system or a document management system, which adds a user interface on top of the repository's application programming interface.

## Advantages provided by repositories

* Common rules for data access allow many applications to work with the same content without interrupting the data.
* They give out signals when changes happen, letting other applications using the repository know that something has been modified, which enables collaborative data management.
* Developers can deal with data using programs that are more compatible with the desktop programming environment.
* The data model is scriptable when users use a content repository.

## Content repository features

A content repository may provide functionality such as:

* Add/edit/delete content
* Hierarchy and sort order management
* Query / search
* Versioning
* Access control
* Import / export
* Locking
* Life-cycle management
* Retention and holding / records management

## Examples

* Apache Jackrabbit
* ModeShape

## Applications

* Content management
* Document management
* Digital asset management
* Records management
* Revision control
* Social collaboration
* Web content management

## Standards and specification

* Content repository API for Java
* WebDAV
* Content Management Interoperability Services
