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.
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com