[...]
Well, yeah. I thought JCR was supposed to be this "Repository.java"? Why not just use that? Do we really need another layer?
I think so, yes. JCR is incredibly powerful, but exactly because of this power, it feels a little "low level". JCR is sort of a virtual hypergranular file system with multidimensions. Think of it as a persistent DOM with enhanced serializing and query functionalities.
I think you will always need a sort of "application oriented API" on top of JCR... just like you need business objects on top of a relational database.
On lenya-dev there are some discussions about switching from java.io repository access to an abstract repository API. We considered JCR, but if there will be another application-oriented API for Cocoon above JCR in any case, this would certainly make things easier.
From the Lenya point of view, I think it would look like
+---------------------------------------------+ | Complex Lenya CMS operations | +---------------------------------------------+ | Lenya CMS API | +---------------------------------------------+ | Cocoon repository API | +---------------------------------------------+ | Whatever repository (e.g., JCR) | +---------------------------------------------+
Do you think it would make sense to consider Lenya interests when designing this application-oriented API?
-- Andreas
