Home

dbu edited this page Nov 23, 2011 · 18 revisions

Jackalope is an open source PHP implementation of the PHPCR API, which is a PHP adaption of the Java Content Repository (JCR) standard, an open API specification defined in JSR-283.

Jackalope's test-driven development aims to provide a full implementation of the PHPCR API. The main backends are relational databases supported by the Doctrine library and the Apache Jackrabbit JCR server.

Roadmap

We currently work on write support to complete the API, which is pretty far by now. Then we have to increase test coverage and improve stability and reliability.

Regarding PHP backends that allow to use Jackalope without any Java component, the upcoming JSR-333 might introduce a backend daemon (an apache module?) for JCR that Jackalope could talk to, being even more performant than our current setups with Jackrabbit and Doctrine while at the same time even easier to set up.

Implementation state - test reports

There is extensive API testing and unit testing, telling what does work and what not. It is run automatically by travis:

Build Status

Contributing

Please announce yourself on the mailing list jackalope-dev@googlegroups.com to avoid duplicated work. A good entry point is checking for skipped or incomplete tests in tests/inc/JackrabbitImplementationLoader.php and tests/inc/DoctrineDBALImplementationLoader.php. Try to uncomment the test you want to run - you might need to implement or fix the test as well in the phpcr-api-tests repository - and then implement the functionality.

There is an technical introduction to get you started how Jackalope is built up.

Background

Jackalope builds a bridge between the Content Repository as a critical piece of enterprise IT (i.e. the Java world) and the world of agile web development with PHP. This best-of-breed approach offers enterprises a unique way to sustainably connect to today's largely PHP-driven world of social media, mashups and to a wide area of lean, light-weight frontend technologies.

The Java Content Repository standard provides a sustainable, long-term interface for accessing document stores in a uniform manner. These content repositories provide the foundation of a flexible modern content management architecture. A content repository is like a file system, but keeping content together with meta data and provides common services such as versioning, powerful query and selection mechanisms, access control or search. The standard is supported by a wide range of enterprise content management system vendors and infrastructure players such as the Apache Foundation, Day, IBM, Oracle, SAP, Open Text and many more.