directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject Re: [Shared] Ldap and codec module finalization and controls
Date Wed, 02 Feb 2011 08:35:01 GMT
+1

Sounds very good to me.
Easy to understand and easy to use.

Regards,
Pierre-Arnaud

On 1 févr. 2011, at 17:30, Alex Karasulu 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?
> 
> 
> Thanks,
> Alex
> 


Mime
View raw message