directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel L├ęcharny <>
Subject OC/AT ongoing refactoring
Date Tue, 13 Mar 2012 09:39:20 GMT
Hi guys,

as I was just back from holliays yesterday, I started to work on 
something we discussed a long time ago but never finished.

The idea is to use immutable SchemaObject inside the server, as we 
*never* odify them. AT, OC and such elements are meant to be immutable, 
once injected into the server.

More than that, the way it's implemented in the server forbid a user to 
modify an existing SchemaObject, the only possibility is to delete the 
old one and to add a replacement.

This can lead to some complex situation though : if someone makes a 
mistake and wants to fix it, the only solution is to delete the 
SchemaObject and to replace it, and this might be impossible, because 
the SchemaManager will be checked against inconsistencies after the 
delete, and the deletion might be rejected.

One first step though is to use only immutable types inside the 
registries, as there is no need to modify them.

The other aspect is Studio, and more specifically the schema editor : we 
must be able to modify the SchemaObjects, and we also must keep a track 
of the original SchemaObjects. Having immutable SO allows us to do that 
in a more convenient way.

All in all, I have started to split the SchemaObject in two :
- an immutable part
- a mutable part extending the former

It won't be enough, but it's a first step.

More to come.

Emmanuel L├ęcharny

View raw message