On Tue, Feb 1, 2011 at 5:30 PM, Alex Karasulu <[email protected]> wrote:
> This thread branched off of the previous status thread Emmanuel posted. > This topic needs it's own thread. > > > CATEGORIZATION > ---------------------------- > > Before we begin let's consider the different categories of extensions > (controls & extended operations): > > FYI ADP = Apache Directory Project. > FYI Extensions = Bundles, modules, that extend the codec, like controls and > extended operations > > Class (1) [ADP-PROVIDED] > - considered part of the standard ldap model > - must have > - packaged into API: available out of the box > - examples: > * ManageDsaIT > * PersistentSearch > * EntryChange > * Subentries > * Cascade > > Class (2) [ADP-PROVIDED] non-standard, optional and available as a single > extension bundle > - not considered part of the standard ldap model > - may be server specific > - may be custom non-published spec > - optional, pluggable on demand > - examples: > * CreateCertificate > * StoredProcedure > * PassordPolicy > * Replication > > Class (3) [USER-PROVIDED] non-standard, optional and user provided > bundle[s] > - anything under the sun > - optional > > > QUESTION > ----------------- > > How does this overlap into what we will do to restructure the organization > of the shared-ldap module which will eventually break up into separate Maven > modules (OSGi bundles)? > > > ANSWERS AND SOLUTIONS > -------------------------------------------- > > Here's one answer with possible configuration: > > o shared-ldap-model > - holds only standard LDAP model types > - class 1 ADS-PROVIDED extension POJI/POJO pairs in > oadsl.message.controls and oadsl.message.extended > > o shared-ldap-codec > - holds all the implementation details we want to hide > - exposes some SPI classes: as little as is needed to write new > controls and extended operations > - contains the default codec service implementation > - contains class 1 ADS-PROVIDED extension implementation objects > (grammars,containers,factories,decorators) > > o shared-ldap-codec-api > - exposes minimal codec API so it can be used in studio, apacheds, > and other applications > - contains codec service interface > - codec related utilities > > o shared-ldap-ext > - contains all class 2 ADS-PROVIDED extension classes > in oadsl.extensions.controls & oadsl.extensions.extended > - exposes extension POJO/POJI and utilities > - hides extension codec implementations > (grammars,containers,factories,decorators) > - registering one extension registers them all > - later if need by turned into ldap-ext multi-project, breaking up > extensions into per-extension bundles > > > Thoughts? > Where do you store class 3 elements ? > > > Thanks, > Alex > > -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
