Blog Posts

Jackalope - JCR for PHP started

We initiated a new open source project called Jackalope. Its purpose is to bring JCR via Jackrabbit to the PHP world. The Team working on it currently consists of Christian Stocker, David Buchmann, Tobias Ebnöther and of course we would welcome you too! :) We use the Apache License and are very open minded about collaborations, inputs and wishes.

JCR provides a great standardized storage for hierarchical content and supports some nice features like full text search, versioning, transactions, observation, and more.

Our main goal is to create a PHP Connector for Jackrabbit without using any Java. To achieve this goal our development will go trough two stages. In a first step we have built a simple demo using the Java Bridge from Zend Server. Based on this we are now writing functional tests for the api. This gives us a great way to replace the Java Bridge with a native PHP module in a second step.

This is how that will look like:

The current modules consist of phpCR API Interfaces which are subject to change since we're trying to share it with another project to make sure you can easily swap your library in case you're not happy with it.

Then there is jr_cr which is the prototype implementation using the Zend Java Bridge and the Jackrabbit davex client which we mainly use to write functional tests and show the demo.

Our current growing jewel are the Jackalope API tests which are using PHPUnit as testing environment. We want to achieve a test suite that completely covers the API and enables other projects to check if they're compatible with the phpCR interfaces.

Jackalope itself will be the PHP connector not making use of any framework to provide a pure library with as few dependencies as possible. It's not targeted on any use case yet which should make it very flexible for many projects.

You will find the code for the different components at http://github.com/jackalope. We hang out in #jackalope at freenode and there is also a mailing list. For more information check out our wiki and if you have any question, do not hesitate to ask us on one of those channels.

Related Entries:
- Content storage done right
- Jackrabbit and its two SQL languages - some findings
- How to manage patching a github hosted repo
- How to make Jackrabbit globally distributable, fail-safe and scalable in one go
- A (simple) PHPCR browser

About the author

Comments [0]

Add a comment

Your email adress will never be published. Comment spam will be deleted!