Adrian Crum wrote: >> we need is a factory for javax.jcr.Repository, and that >> could be put in the content component. >> >> I would really prefer to not mix components for a couple of >> reasons: >> - Some of the existing content stuff should have been in >> the framework IMO >> - Mixing old and new in a single component is going to get >> messy >> >> I would really rather see the repository and its associated >> low level tools become part of the framework. I don't >> care what we call it, jackrabbit was just the easy choice at >> the time. >> I'm trying to understand what we want out of a Jackrabbit integration. The API for accessing OFBiz content is definitely not a comfortable one but I wonder if that isn't more of a reflection of its entities being overly complicated. The DataResource/Content separation has its uses but definitely makes creating content systems less than intuitive.
My concern with JackRabbit is similar to concerns I have with Lucene as a search system, which is the disconnection between the layers. It seems like it becomes more complicated to join business data against "content" once these things are disconnected and that we will end up writing more glue code to bring them back together. When we started our Webslinger work, JSR-283 was not as popular as it is now and we settled on CommonsVFS as a filesystem abstraction layer. I've looked at JSR-283 fairly closely and its an interesting device but has its quirks. Its ability to associate multiple streams of content with a single URL is interesting but departs from the conventional way people think of file systems. Whether this is a bug or a feature isn't clear to me. One of the things that seems very important to me is the ability to have strong file-based content handling because that is the most common mode of data exchange. The WebDAV features of JackRabbit are an interesting possible replacement but I'm not clear that it really represents a full-fledged substitute for file based content management. I wouldn't relish writing a binding for Jackrabbit to the existing content entities though it seems like they could accommodate it. It might be worth looking at the existing JackRabbit JDBC bindings and creating identical EntityEngine entities. That should make a port of the JDBC based back-end to the entity engine straightforward. This would have the benefit of supporting ECAs automatically, maintaining full SQL compatibility and preserving the ability to query content with the entity engine interface. The one significant benefit to wrapping the existing content classes with JackRabbit would be the ability to immediately query existing system content with the easier to manage JackRabbit API. We would have to construct some kind of programmatic namespace to connect in stores, parties and other content to the JackRabbit root but it could make working with the content system much easier. -- Ean Schuessler, CTO e...@brainfood.com 214-720-0700 x 315 Brainfood, Inc. http://www.brainfood.com