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