On Thu, Jul 17, 2008 at 5:06 PM, Michael Harris <[EMAIL PROTECTED]> wrote: > thanx for all your help. > > So there are two things here -- one is the webdav component of the app. JR > isn't going to be involved in this; we are using it just for prototyping, > although we will use the JR-webdav client to access the sharepoint repo the > organization uses. > > the second is the storage of our app content. This content is xml. the app > is basically a web based xml editor. we were thinking of using JR to store > the xml file, as we have requiremens around versioning and locking. So, if > a repository is bundled with the app (deployment method one), do servlets > even come into play? We are using Struts as our web tier, and were going to > wrap services around the repository functionality (get a file, lock a file, > version a file, save a file, lock a file, etc). In that approach, would the > service layer be able to access the repo? I assume we would have to build > some functionality around managing the sessions that provide access ot the > repo.
Yes, no problem, your services use the JCR API and map the service calls to it. But I could imagine that using the WebDAV server already gives all you need (since you mentioned your services work with files). In that case you "only" need a WebDAV client - you don't need to do much on the server side then. You should also have a look at Sling, which is a thin web application framework on top of JCR. It provides XML and JSON views of the nodes and properties in a RESTful way. Files in the repository (nt:file) are delivered as in a static webserver. And developing with Sling makes much more fun than Struts ;-): http://incubator.apache.org/sling/ http://incubator.apache.org/sling/site/links.html > or am i totally off here? > > Every "deploy in app server" wiki entry assumes oracle. they all have setup > jndi with oracle parts. Do we need a db? Doesn't the repo run on disk (or > i should say, can't jackrabbit just run on the filesystem?) You can configure a so-called PersistenceManager for storing the data. You can use the Derby bundle persistence manager (default configuration in most repository.xmls) that uses an embedded Apache Derby database. Have a look at http://jackrabbit.apache.org/jackrabbit-configuration.html and http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ and http://wiki.apache.org/jackrabbit/DataStore (DataStore is a separate and faster storage for binary data, such as files stored in the repository). Regards, Alex -- Alexander Klimetschek [EMAIL PROTECTED]
