jackalope/jackalope - does not support versioning?

112 views
Skip to first unread message

Elias Asfaw-Kirby

unread,
Apr 3, 2013, 11:29:23 AM4/3/13
to jackal...@googlegroups.com
Hi team,

 I finally got PHPCR working to persist custom php classes, but I'm running to some major blocks with versioning support.

 Can somebody confirm that jackalope/jackalope (meaning using PHPCR to persist content to a LOCAL database WITHOUT using Jackrabbit) does NOT support versioning?

 I get a "Transport does not support versioning" error when testing.  

 If not, what kind of effort is needed to implement this (for somebody that has done no phpcr internal programming).

Thanks,

Eli

David Buchmann

unread,
Apr 3, 2013, 11:53:09 AM4/3/13
to Elias Asfaw-Kirby, jackal...@googlegroups.com
hi eli,

unfortunately you got that right. jackalope-doctrine-dbal does not do
versioning at the moment. only jackalope-jackrabbit does it, because it
can rely on jackrabbit to do the hard work of it.

i think it should not be insanely complicated to implement. you would
have to implement the interface

https://github.com/jackalope/jackalope/blob/master/src/Jackalope/Transport/VersioningInterface.php

in the class
https://github.com/jackalope/jackalope-doctrine-dbal/blob/master/src/Jackalope/Transport/DoctrineDBAL/Client.php

though there is some additional hidden things here. either we would have
to implement full versioning and expose the versions as phpcr paths as
well, or we would need to refactor jackalope core to work with simple
versioning too and add methods to the VersioningInterface to support
getting the version history directly.

so all in all i think it would be rather challenging, but we would be
glad to help you if you want to do this.

your other option would be to use jackalope-jackrabbit for now. its not
harder than using some other java based things like elasticsearch. just
drop the jar and do java -jar (but of course needs java on the server,
there are use cases to want to use jackalope-doctrine-dbal, which is why
it exists)

cheers,david
> --
> You received this message because you are subscribed to the Google
> Groups "Jackalope" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to jackalope-de...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
Liip AG // Agile Web Development // T +41 26 422 25 11
CH-1700 Fribourg // PGP 0xA581808B // www.liip.ch

Elias Asfaw-Kirby

unread,
Apr 8, 2013, 12:50:29 PM4/8/13
to jackal...@googlegroups.com, Elias Asfaw-Kirby
Thanks David,

 Luckily we can run jackrabbit, so we are going that route...
 
 FYI - for others going this route, be aware when configuring Jackrabbit to use a db, the "schema" parameter in the repository.xml config file is supposed to be the name of  database... (ex.  <param name="schema" value="postgresql"/> ), not the typical "schema" (aka db name).

 I tested phpcr versioning, which does work with Jackrabbit.  Although, I did run into issues with not retrieving any versioned properties before the first checkin.  I simply didn't return any properties for that version...  Fix is to checkout the node before doing the first write.  (FYI - this is not a PHPCR issue).

Reply all
Reply to author
Forward
0 new messages