On Tue, Nov 24, 2009 at 18:46, Emmanuel Lecharny <elecharny@apache.org> wrote:

considering the problem we might face if we allow all modifications in the schema, I would suggest we implement only a partial support for modification in the server.

First, we will have a dual mode for the SchemaManager :
- strict, used in the server
- relaxed, used in studio and in the API

If the Schema is in strict mode :
- Add operations will be allowed for AT, C, MR, N, OC, S and SC
- Move operations will be allowed for AT, C, MR, N, OC, S and SC

Move? Just a rename or moving a schema object from one Schema to another? Both of them are unsafe. For unsafe operations we should be running a routine for checking relevant entries in the DIT. Or we should just reject.
- Enabling schemas will be allowed
- All other operations will be rejected (any operation done on DCR, DSR, NF and MRU, all deletes, renaming, modifications, disabling a schema)
- We can't have two SchemaObject with the same OID in a specific registry

If the Schema is in relaxed mode :
- all the operations will be allowed

I do not really know what's your intent with 'relaxed'?
- we will be able to inject more than one object in a specific registry with the same OID

Is that OK ?

PS: We also need to add some listeners in the SchemaManager, Schema and SchemaObject.

cordialement, regards,
Emmanuel Lécharny

More to discuss after some answers..

Ersin ER