Zhang Weiwu wrote:
Generally I think I should not touch the attribute definition in system schema file like core.schema.
Yes!
However I got a problem here:
our web application is designed to understand LDAP schema and provider proper user interface for each syntax. Our web application can understand syntax 1.3.6.1.4.1.1466.115.121.1.11 which is "Country String", two printable string characters as listed in ISO 3166. For this syntax the web application pops up a nice country selector. However when user enter 'c' (for country, defined in core.schema as *Directory String*) the web application treat it as all other Directory String, which is an input box. The users, being confused, typed their country name manually (like "American" or "U.S.A."), breaking compatibility because 'c' should be two printable string characters as listed in ISO 3166.
I'd file an ITS for that.
We can update our web application to treat 'c' specially, but it's much easier to just modify syntax definition of 'c' in core.schema. Can I do that? Am I going to get more trouble from doing so?
In web2ldap I had exactly the same problem. Therefore I have implemented a local schema registry which can override server-side schema. I took this route since there are so many LDAP servers with completely broken subschema subentries out there. The nice side-effect is that I can register arbitrary plugin classes for attribute types and syntaxes.
Ciao, Michael.