directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject Re: Adding an objectClass to ApacheDS
Date Wed, 23 Aug 2006 18:59:24 GMT
Ajay Upadhyaya a écrit :

> Here is an example, I did it with RC3 here are the steps (as far as I 
> could recollect)


Thanks a lot, Ajay !!!

Question : could we post excerpt of this sample somwhere on Confluence? 
It will be of great interest for every users !

Emmanuel

>
> - Download apacheds1.0-RC3
> - create a custom schema file myschema.schema
> #================= begin myschema.schema =============================
> # define myschemaOrgPerson -- extends InetOrgPerson
> # define myschemaOrganizationalUnit -- extends organizationalUnit
> #================================================================
> # myschema 94555
> # AttributeTypes 94555.2.1
> # Object Classes 94555.2.2
> #
>
> attributetype ( 94555.2.1.1
>     NAME 'dateCreated'
>     DESC 'dateCreated'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.2
>     NAME 'dateModified'
>     DESC 'dateModified'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.3
>     NAME 'dateCodeGenerated'
>     DESC 'dateCodeGenerated'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.4
>     NAME 'dateActivated'
>     DESC 'dateActivated'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.5
>     NAME 'codeFlag'
>     DESC 'codeFlag'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.6
>     NAME 'activeFlag'
>     DESC 'activeFlag'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.7
>     NAME 'employeeType'
>     DESC 'employeeType'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.8
>     NAME 'companyURL'
>     DESC 'companyURL'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.9
>     NAME 'selfRegAllowed'
>     DESC 'selfRegAllowed'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.10
>     NAME 'protected'
>     DESC 'protected'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.11
>     NAME 'serviceType'
>     DESC 'serviceType'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.12
>     NAME 'domainKey'
>     DESC 'domainKey'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.13
>     NAME 'autoActivationAllowed'
>     DESC 'autoActivationAllowed'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.14
>     NAME 'companyName'
>     DESC 'companyName'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.15
>     NAME 'city'
>     DESC 'city'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.16
>     NAME 'state'
>     DESC 'state'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributetype ( 94555.2.1.17
>     NAME 'countryname'
>     DESC 'countryname'
>     EQUALITY caseIgnoreMatch
>     SUBSTR caseIgnoreSubstringsMatch
>     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
>
> # myschemaOrgPerson
> # The inetOrgPerson represents people who are associated with an
> # organization in some way.  It is a structural class and is derived
> # from the organizationalPerson which is defined in X.521 [X521].
> objectclass    ( 94555.2.2.1
>     NAME 'myschemaOrgPerson'
>     DESC 'myschema Organizational Person'
>     SUP inetOrgPerson
>     STRUCTURAL
>     MAY (
>         dateCreated $ dateCodeGenerated $ employeeType $ dateModified 
> $ activeFlag $ codeFlag )
>     )
>
>
> objectclass ( 94555.2.2.2 NAME 'myschemaOrganizationalUnit'
>     DESC 'myschemaOrganizationalUnit'
>     SUP organizationalUnit STRUCTURAL
>     MAY (  dateCreated $ dateModified $ dateActivated $ 
> dateCodeGenerated $ activeFlag $ codeFlag $
>         selfRegAllowed $  protected $ serviceType $ domainKey $ 
> autoActivationAllowed $
>         companyName $ companyURL $ state $ city $ countryname )
>     )
>
>
> #================= end myschema.schema =============================
>
>
>
> - put this file in E:\Program 
> Files\apacheds-1.0-RC3\src\core\src\main\schema folder
> - install maven 2
> - open command shell and cd to E:\Program Files\apacheds-1.0-RC3\src\core
> - run "mvn process-resources" to generate the myschema schema sources
> - generated source files will be found in E:\Program 
> Files\apacheds-1.0-RC3\src\core\target\generated-sources\org\apache\directory\server\core\schema\bootstrap
> - create a patch dir somewhere
> - copy the generated Myschema* files into patch dir
> - build the patch myschema.jar by placing apacheds libraries in 
> classath... a simple javac inside ant will work
> - this myschema.jar has to be placed in E:\Program 
> Files\apacheds-1.0-RC3\lib\ext folder
> - configure the E:\Program Files\apacheds- 1.0-RC3\conf\server.xml
> #=============== add this to server.xml =============================
> <bean id="myschemaPartitionConfiguration" 
> class="org.apache.directory.server.core.configuration.MutableDirectoryPartitionConfiguration

> ">
>     <property name="name"><value>myschema</value></property>
>     <property name="suffix"><value>dc=myschema,dc=com</value></property>
>     <property name="indexedAttributes">
>       <set>
>         <value>dc</value>
>         <value>ou</value>
>         <value>objectClass</value>
>         <value>krb5PrincipalName</value>
>         <value>uid</value>
>       </set>
>     </property>
>     <property name="contextEntry">
>       <value>
>         objectClass: top
>         objectClass: domain
>         objectClass: extensibleObject
>         dc: myschema
>       </value>
>     </property>
>   </bean>
>
>
>
> On 8/23/06, *Craig L. Ching * <cching@mqsoftware.com 
> <mailto:cching@mqsoftware.com>> wrote:
>
>     Great, thanks for the info!  BTW, I'm going to be using an
>     embedded server, once this is built, will it include my new schema
>     in the embeddable server?
>      
>     As for the project, it's a commercial product called Q Pasa!  We
>     monitor and manage middleware software (e.g. IBM WebSphere MQ, IBM
>     WebSphere App Server, and tons of other stuff).  We are planning
>     on using ApacheDS to do our default authentication/authorization
>     to begin with (replacing a legacy, home-grown solution), but we're
>     going to be adding in the capability to find other installations
>     of our software so that disparate installations can be integrated
>     (sort of hard to explain the latter use).  I'm sure if this is
>     successful we'll find lots of other uses for it.  I am evaluating
>     ADS because it is 100% pure java and it is embeddable, not to
>     mention that it's the Apache organization ;-)
>      
>     Again, thanks for the help, I'll let you all know how I progress.
>
>     Cheers,
>     Craig
>
>         ------------------------------------------------------------------------
>         *From:* Emmanuel Lecharny [mailto:elecharny@gmail.com
>         <mailto:elecharny@gmail.com>]
>         *Sent:* Wednesday, August 23, 2006 10:24 AM
>         *To:* Apache Directory Developers List
>         *Subject:* Re: Adding an objectClass to ApacheDS
>
>     Great !
>
>     Don't worry to much about the mailing list, we don't use
>     user@directory.apache.org <mailto:user@directory.apache.org> atm.
>     So this is the right place to post.
>
>     Extending the schema is a little bit complicated in this version,
>     but it does not mean it's complicated.
>
>     Here are the steps :
>     1) create your schema using OpenLdap syntax (which is RFC syntax, btw)
>     2) put it in apacheds/core/src/main/schema, beside the other schemas
>     3) go into apacheds/core and modify the pom.xml file :
>     ...
>             <configuration>
>               <schemaSourcesDir>src/main/schema</schemaSourcesDir>
>               <schemas>
>                 <schema>
>                   <name>apache</name>
>                   <dependencies>
>                     <dependency>system</dependency>
>                   </dependencies>
>                 </schema>
>                 <schema>
>                   <name>apachedns</name>
>                   <dependencies>
>                     <dependency>system</dependency>
>                     <dependency>core</dependency>
>                   </dependencies>
>                 </schema>
>     ...
>     here, you just add your schema, with its dependencies.
>     4) now, go back to the root project and compile the project :
>     mvn install
>     (it will take around 3 minutes)
>     5) build the binaries :
>     cd apacheds/server-installers
>     mvn install
>
>     now, you can install the server with the installer that has been
>     generated.
>
>     If you are lost, here is a link to a page which explains the build
>     process :
>     http://docs.safehaus.org/display/APACHEDS/Building
>     <http://docs.safehaus.org/display/APACHEDS/Building>
>
>     I think there is something sompler, but I don't know it. Anybody
>     on the list ?
>
>     However, if you have any pb, just push a mail. We will help you as
>     fast as we can.
>
>     btw, which kind of project are you working on, if it's not secret ?
>
>     Emmanuel lécharny
>
>     On 8/23/06, *Craig L. Ching* < cching@mqsoftware.com
>     <mailto:cching@mqsoftware.com>> wrote:
>
>         Hi!
>
>         I realize this is the developer's list and that it's a bit
>         early for
>         ApacheDS, but I'm evaluating it for use in our products.  I'm
>         trying to
>         figure out how to extend the schema (I need to add a new
>         objectClass),
>         can anyone point me in the right direction?  I'm fine with
>         reading some
>         code to understand it.
>
>         Cheers,
>         Craig
>
>
>
>
>     -- 
>     Cordialement,
>     Emmanuel Lécharny
>
>


Mime
View raw message