I've committed to a sling/oak stack for a new project because of the object model, wealth of infrastructure, and, well, the price. I'm a bit lost as to where to start, so here's a list of questions on my plate. I'd appreciate any pointers, suggestions, RTFM links etc. I'm still working my way through the sling docs, but I wanted to throw this out at the same time to possibly save some time going down unproductive paths.
I'm migrating a app that had a sping (roo) based hibernate/jpa persistence back-end. This provided a simple POJO persistence framework. While these object were not the primary reason for using a JCR, it does seem superfluous to hold onto this back-end when the JCR provides similar functionality. What's the equivalent mechanism in sling for persisting a hierarchy of POJOs? Similarly, editing such POJOs. The current app uses a JavaScript app to navigate the tree and read/write objects. Sling adds a lot more functionality to the basic servlet container so I'm wondering what client-side frameworks take advantage of this, and is there anything OOTB that provides simple but extensible CRUD functionality? Where can I find information on the conventions regarding the JCR structure? Some resources indicate content belongs in a JCR_ROOT named /content, but I"m not sure if this is a convention or what the standard internal mapping for the JCR is. The real reason for this is we have a lot of media files that need to be stored in a hierarchy and referenced by the above POJOs. One of the initial tasks is to create an import mechanism that unpacks a zip and extracts it into the JCR at a particular node path. What's the accepted convention for ingesting bulk data? One thought I had was to create a new OSGI bundle that exposed a REST API that would accept POSTed content and associated metadata. Another was to watch a WebDAV drop folder and create an event handler to ingest any files dropped into that folder. Then there's the issue of users, permissions, change auditing, etc. Is there an existing mechanism for connecting to an LDAP server? I'd like to expose all content via WebDAV and allow authenticated users to modify it and track the changes by user, similar to a source control, but with no branching. What is needed to track user edits, and create change records for edits made by specific users, to a specific tree hierarchy of content, or by other sort criteria? Content browsing Aside from WebDAV, are there any standard modules to present a web view of hierarchical content that consists of media files (pdf, text, image, audio, video, html, etc) ? Do any of these provide any change control functionality, like viewing change history, locking, viewing previous versions etc? Thanks in advance. -Bruce
