Jump to content

Content repository API for Java: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Tags: Reverted Mobile edit Mobile web edit
No edit summary
Tags: Reverted section blanking Mobile edit Mobile web edit
Line 12: Line 12:
A JCR can export portions of its tree to XML in two standard formats and can import hierarchies directly from XML. JSR 283 compliant implementations must support a standardized form of [[SQL]] for queries and a query object model QOM. JSR 283 deprecates the [[XPath]] query language defined in JSR 170.
A JCR can export portions of its tree to XML in two standard formats and can import hierarchies directly from XML. JSR 283 compliant implementations must support a standardized form of [[SQL]] for queries and a query object model QOM. JSR 283 deprecates the [[XPath]] query language defined in JSR 170.
The [[Apache Jackrabbit]] reference implementation of JCR also supports the integration of the [[Apache Lucene]] search engine to give full text searches of data in the repository.
The [[Apache Jackrabbit]] reference implementation of JCR also supports the integration of the [[Apache Lucene]] search engine to give full text searches of data in the repository.

== Available implementations ==
Both JSRs are led by [[David Nüscheler]] of [[Adobe Systems]] (formerly of [[Day Software]]). Day had both a commercial JCR implementation called Content Repository Extreme (CRX) and was involved in the open source [[Apache Jackrabbit]] JCR,<ref>[http://jackrabbit.apache.org Apache Jackrabbit home page]</ref><ref>[http://wiki.apache.org/jackrabbit/JcrLinks JCR links] to articles and applications based on JCR.</ref> which had its 2.0 release in January 2010. ModeShape<ref>http://modeshape.org</ref> is another open source JCR implementation that supports JSR-283. [[Jahia]], [[Hippo CMS]] and [[Magnolia (CMS)|Magnolia]] are Enterprise Content Management systems built on the JCR API, using Jackrabbit as its repository by default, but able to plug in any other JSR-170 certified repository implementation. JSR-170 is also supported by [[Oracle Beehive]], Oracle's enterprise collaboration software. The eXo JCR by eXo Platform is an open source repository with paid commercial support and documentation. Many other commercial vendors are working on JCR compatibility and products. [[Alfresco (software)|Alfresco]] is an open source content management system which provides a JCR API onto their repository. GX released the new [[GX WebManager Community Edition|community version]] of its Web [[enterprise content management]] (ECM) platform based natively on [[Apache Jackrabbit]] and JSR.

PHP adaptions have been started by [[TYPO3]], translating the Java API to PHP.<ref>[http://forge.typo3.org/projects/package-phpcr phpCR]</ref><ref>[https://github.com/phpcr/phpcr phpcr on github]</ref> The [[PHPCR]] interfaces are also implemented by Jackalope,<ref>[https://jackalope.github.com/ Jackalope: JCR for PHP]</ref> a PHP frontend talking to the Jackrabbit backend through the WebDAV interface, and [[Midgard (software)|Midgard]],<ref>{{cite news|title=Midgard2 PHPCR provider hits 1.0|first=Henri|last=Bergius|url=http://bergie.iki.fi/blog/midgard2_phpcr_provider_hits_1-0/|date=2011-12-23}}</ref> a cross-language content repository.


== See also ==
== See also ==

Revision as of 20:45, 5 September 2023

Content Repository API for Java (JCR) is a specification for a Java platform application programming interface (API) to access content repositories in a uniform manner.[1][failed verification] The content repositories are used in content management systems to keep the content data and also the metadata used in content management systems (CMS) such as versioning metadata. The specification was developed under the Java Community Process as JSR-170 (Version 1),[2][3] and as JSR-283 (version 2).[4] The main Java package is javax.jcr.

Overview

A JCR is a type of object database tailored to storing, searching, and retrieving hierarchical data. The JCR API grew out of the needs of content management systems, which require storing documents and other binary objects with associated metadata; however, the API is applicable to many additional types of applications. In addition to object storage, the JCR provides: APIs for versioning of data; transactions; observation of changes in data; and import or export of data to XML in a standard way.

== Data

Queries

A JCR can export portions of its tree to XML in two standard formats and can import hierarchies directly from XML. JSR 283 compliant implementations must support a standardized form of SQL for queries and a query object model QOM. JSR 283 deprecates the XPath query language defined in JSR 170. The Apache Jackrabbit reference implementation of JCR also supports the integration of the Apache Lucene search engine to give full text searches of data in the repository.

See also

References

  1. ^ Java API for XML Registries - Another Java API for Registries and Repositories
  2. ^ JSR-170
  3. ^ "JSR-170 (HTML version of the specification)". Archived from the original on 2009-06-08. Retrieved 2009-02-17.
  4. ^ JSR-283