Created https://issues.apache.org/jira/browse/OAK-1522 to track this. Kindly review the patch Chetan Mehrotra
On Wed, Mar 5, 2014 at 1:24 AM, Jukka Zitting <jukka.zitt...@gmail.com> wrote: > Hi, > > On Tue, Mar 4, 2014 at 3:11 AM, Chetan Mehrotra > <chetan.mehro...@gmail.com> wrote: >> 1. Configure components - Currently various sub modules are using >> different ways to configure. Some is being done via system properties, >> Security module has its own way of configuring, DataStore support has >> its own > > That's why I brought up the new DataStore config mechanism as somewhat > troublesome. Security configuration has the same problem. > > System properties are currently used in places where a quick and > simple way is needed to tweak options during testing. If a particular > setting needs to be available in production, it should be made > configurable through a setter or a constructor argument. Then it is > easy to control the setting through OSGi service properties or by > whichever framework or configuration mechanism is being used. > >> 2. Expose extension points - Exposing extension points in non OSGi env >> becomes tricky. We faced some issues around LoginModule extensiblity >> earlier > > We have plenty of extension points (CommitHook, QueryIndexProvider, > etc.) that work just fine. The problem with LoginModules is caused by > the tricky way JAAS works, not by any inherent flaw in our extension > mechanism. > >> PojoSR [1] provides support for using OSGi constructs outside of OSGi >> framework >> >> I have implemented a POC [2] which makes use of PojoSR to configure >> Oak in pojo env. So far basic stuff seems to work as expected. >> >> Would be worthwhile to investigate further here and possibly provide a >> PojoSR based RespositoryFactory? > > Looks nice! Having alternative ways of configuring and running Oak is > useful, as it helps us spot problems like the one you brought up about > the security configuration. > > BR, > > Jukka Zitting