Hi Ole

On 4/10/07, Ole Ersoy <ole.ersoy@gmail.com> wrote:
Thanks Alex,

LDAP Studio is so nice, I'm almost scared to look.

Yeah it's really good stuff.  But don't try to use the schema browser now because I don't think it pulls the schema of the server.  What you're looking at in the schema browser are the schema elements in schema files.

Correct me if I am wrong Stefan.

Incidentally, do you know (Stefan?) if LDAP Studio
has a Schema drill down "Outline View" like the one
in JXPlorer?  I think in JXPlorer (Just from looking
at the "Writing Java Objects to ApacheDS Part1" article),
has a Schema tab, and below it one can drill down into
the various Schema nodes.  I looked LDAP Studio Schema Browser,
and noticed the tabs with Schema node categories, and I was thinking
that it would probably trigger a drill down view in the outline pane...

Yeah again I think you need to know that the schema browser browses the entities in schema files loaded by the plugin.  It does not display the schema elements that are in the server that it is connected to.  I think the LS team will soon display this information as well.

My point to you was to just browse the ou=schema partition which basically displays the schema elements using a meta schema that describes schema entities.  It's very easy while browsing this area to understand the structure of the tree there and infer the schema used.

This area is very much like the system tables in oracle which describe data types and other schema elements.  We use entries to describe schema entities here.  This kind of structure is used as the master copy of schema information in the server.  Changes to these entries will be directly reflected in the schemaSubentry of the server (cn=schema).  The nice thing about this structure is that we've parameterized the schema information rather than leaving it as one big text description.  By doing this you can use LDAP to more efficiently query the schema information when you cannot do the same under the schemaSubentry which is the mechanism supported by the LDAP standard.

Hope your cold gets better soon.  I always chomp on a clove of Raw
Garlic (It releases a very powerful antibiotic when crushed - has to be
raw though).  It's also great if people are inviting you to too many
meetings at work :-)

Oh thanks Ole but I am a vampire so that might not be so good for me.



- Ole

Alex Karasulu wrote:
> Stefan is absolutely correct here.  Take a minute and start ADS 1.5.0
> and use LDAP Studio to browse the schema partition (ou=schema).  By
> browsing this partition you'll see the proper patterns required.
> Alex
> On 4/9/07, *Stefan Seelmann* < seelmann@apache.org
> <mailto:seelmann@apache.org>> wrote:
>     Hi Ole,
>      > When adding a new ObjectClass to the Schema
>      > named "org.apache.tuscany.User"
>     An objectClass or attributeType name must be an OID (object identifier),
>     that is defined as follows in RFC4512:
>       oid = descr / numericoid
>       descr = keystring
>       keystring = leadkeychar *keychar
>       leadkeychar = ALPHA
>       keychar = ALPHA / DIGIT / HYPHEN
>       numericoid = number 1*( DOT number )
>       ... and so on
>     So your name could be either something like
>     or
>       org-apache-tuscany-User
>      > is this how I do the DN?:
>      >
>      > DN: objectClass=org.apache.tuscany.User, ou=objectClasses, ou=Schema
>      >
>     The DNs of the other objectclases in the schema looks like this:
>       "m-oid= <>,ou=objectClasses,cn=core,ou=schema"
>     So I would recommend to create your own schema suffix under ou=schema
>     where you could put the DAS schema. Here is an example in LDIF format,
>     how this could look like:
>     ----------------------------------------------
>     dn: cn=ecore,ou=schema
>     objectClass: metaSchema
>     objectClass: top
>     cn: ecore
>     m-dependencies: core
>     m-dependencies: system
>     dn: ou=objectClasses,cn=ecore,ou=schema
>     objectClass: organizationalUnit
>     objectClass: top
>     ou: objectClasses
>     dn: m-oid= ,ou=objectClasses,cn=ecore,ou=schema
>     objectClass: metaObjectclass
>     objectClass: metaTop
>     objectClass: top
>     m-oid:
>     m-description: org.apache.tuscany.User
>     m-must: cn
>     m-name: org-apache-tuscany-User
>     m-obsolete: FALSE
>     m-supObjectClass: top
>     m-typeObjectClass: AUXILIARY
>     ----------------------------------------------
>     BTW, the new schema feature is really cool. Once you have created the
>     "ou=objectClasses,cn=ecore,ou=schema" entry you could add new schema
>     elements by adding simple string values to cn=schema:
>     -------------------------------------------
>     dn: cn=schema
>     changetype: modify
>     add: objectClasses
>     objectClasses: ( NAME 'org-apache-tuscany-User'
>     DESC 'org.apache.tuscany.User' SUP top AUXILIARY MUST cn
>     X-SCHEMA 'ecore' )
>     -
>     -------------------------------------------
>     Regards,
>     Stefan