PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

A (simple) PHPCR browser

Note: This article was originally published at Planet PHP on 21 December 2010.
Planet PHP

I resurrected another piece of software I did a few (too many) months ago in the "proof of concept" phase of Jackalope, a content repository browser.

I wrote that back then, when we were experimenting with the jackrabbit-davex-client library and integrated that into PHP with Zend's Java Bridge. I did it with our homegrown PHP framework Okapi and YUI (2.6, IIRC). Here's a screeenshot:

What you mainly can do is browse your repo and see all the nodes and properties and edit some of them.

The great thing about this JCR/PHPCR API thingie is, that I took this over a year old code, which was written when Jackalope didn't even exist, adjusted the "connector", search and replace the new namespace stuff and it almost ran again. After maybe half an hour, I had it completely running. All thanks to a standardized API.

This piece of software may be useful as it is, as you can easily browse your repo and see what's in there (something which is a bit cumbersome without such a tool), but it would be great, if we could add some more features like adding properties or reenabling the version stuff (which is not-yet-finished in Jackalope). So if anyone wants to add some features, go ahead, the whole repo is on github. See below for more info.

Another very cool thing would be, if someone ported it to Symfony 2. That would be a super useful and show-what-we-have project for Symfony 2, the Symfony CMF project and Jackalope. So, if anyone needs a little holiday season project, go ahead :)

To get the current code running on your computer, you don't need more than Jackrabbit (of course) and an apache with PHP 5.3. Clone the repo from https://github.com/chregu/phpcrbrowser and do what's in the README.

If you want to extend the current phpcrbrowser, then you should have a look into conf/commandmap.php for the routes and localinc/api/command/crbrowser.php for the commands. And if you have any question, just ask.