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.
