Hi Robert, Very much appreciate the guidance here. After another day of RTFM’ing, some followup questions.
From: Robert Munteanu <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Friday, December 12, 2014 at 2:15 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Re: Production ready deployment options for a sling JCR? Hi Bruce, On Thu, 2014-12-11 at 21:15 +0000, Bruce Edge wrote: 1. Is the combination of sling/jackbabbit released in any production ready incarnation? Or, is one expected to use Adobe¹s CQ5 suite for production work? While I myself work exclusively with CQ in production, I know for a fact that many use Sling+JCR in production. Not sure what you mean by 'released in a production ready incarnation' though. I suppose that is a naïve question where OSGI is concerned. The question should be directed to the release status for each component. It makes more sense now as I see it as a set of blocks rather than a monolithic project. Coming from the monolithic project world that is spring, this is a new viewpoint that takes some getting used to. If you are looking for a launchpad release, people typically build their own launchpads, based on their needs. I personally would start with the latest SNAPSHOT launchpad and customise it for my needs. Does this refer to modifying ./launchpad/builder/src/main/bundles/list.xml to contain the desired services? Still reading up on run modes. Will this mechanism prevail long term or is the goal to move to something like the crankstart launcher, which, as I read, may eliminate the need for run modes. [3] 2. What exactly is the JCR under https://github.com/apache/sling.git trunk? I see components of each in the source tree: ./launchpad/testing/target/launchpad-bundles/resources/bundles.jackrabbit/1 5: derby-10.5.3.0_1.jar org.apache.sling.jcr.jackrabbit.server-2.1.3-SNAPSHOT.jar For Jackrabbit 2.x we provide a single OSGi bundle wrapping all the Jackrabbit jars since they don't play nicely with OSGI ( IIRC ). Derby is also used as the default persistence engine for Jackrabbit. ./launchpad/testing/target/launchpad-bundles/resources/bundles.oak/15: guava-15.0.jar oak-blob-1.0.0.jar oak-commons-1.0.0.jar oak-core-1.0.0.jar oak-lucene-1.0.0.jar oak-mk-1.0.0.jar oak-mk-api-1.0.0.jar oak-mk-remote-1.0.0.jar org.apache.sling.jcr.oak.server-0.0.2-SNAPSHOT.jar These are the oak jars. We only provide the oak-server bundle, the others come directly from the Oak project, as they support OSGi. Is it jackrabbit, or oak? Note that the two directories you mentioned are specific to different run modes: - 'bundles.jackrabbit' -> jackrabbit run mode ( default ) - 'bundles.oak' -> oak got it. So, this in the default sling.properties: sling.run.mode.install.options=jackrabbit,oak implies that both jackrabbit and oak run modes are to be installed such that either is selectable at runtime? So they won't run at the same time, and by default you get Jackrabbit 2.x . How does https://github.com/apache/jackrabbit-oak.git fit into sling/trunk? Or, does one need to use the sling-oak-it-1.7 build, (SLING-2788) to use oak as the JCR? See above, we include the jars into the launchpad in the oak run mode. You need to use -Dsling.run.modes=oak to choose Oak [1]. But that's not working perfectly yet, which is why we excluded it from the Sling 7 release. What’s the status of the oak integration in this context? Is there a roadmap for this integration work? Is this tracked in the sling mailing list or elsewhere? The oak list is probably more relevant here but I feel like it’s a difficult time to start a new JCR project now as oak is purported to fix all of jackrabbit’s ills, yet is not ready for prime time use. 3. Can sling be configured to use the S3DataStore BloblStore back end? This is a requirement for us. We need our assets to reside on S3, not EBS. I²m fine with requiring a MongoMK as well for node storage, but given the size of the content, we need S3 storage for the bulk of the data. For Jackrabbit 2.x you can create the sling/jackrabbit/repository.xml file before starting Sling for the first time [2] and it will use your configuration instead of the default one. Cheers, Robert [1]: http://sling.apache.org/documentation/bundles/sling-settings-org-apache-sling-settings.html [2]: http://sling.apache.org/documentation/tutorials-how-tos/jackrabbit-persistence.html#reconfiguring-jackrabbit [3] https://cwiki.apache.org/confluence/display/SLING/Sling+NG+Launcher
