#: Michael Aemisegger changed the world a bit at a time by saying on
10/21/2005 2:00 PM :#
Markus Strickler wrote:
Alternatively just don't allow renaming/deletion of published
nodes, so you have to retract a node first, before you can
delete it.
This could be the best solution of a usability point of view.
Lenya does it like that, AFAIK.
OpenCMS allows you to move pages that are already published marking the "old" page as
deleted and the "new" page as added. So you
have to publish both (old and new).
Many other systems simply stop caring once your pages are published...
With possibly more than 1 subscriber things get somewhat more complicated.
Deactivation is not enough as a precondition. Because you never know to which
subscribers the node was published or still is published, I think there must be
some kind of diff and merge processes analogous to cvs. For the sake of
simplicity and manageability the only operation could be 'update' which is the
way 'activate' works today, I think.
But lets forget about this complexity for a while.
What about taking the OpenCms approach one step further? If a activated node
gets renamed, deactivate it automatically and activate the renamed node
automatically.
But the most appaeling approach for me is 'just don't allow renaming/deletion
of published nodes'.
However, all methods suffer from the zombie problem above.
IMO trying to make the system too smart in these delicate scenarios will not work for everybody.
Instead I would say that simple rules should apply (and be presented upon installation):
an activated node cannot be:
- renamed
- moved
- deleted
If you want to do this than: de-activate first and than do the action.
At this moment you may ask: but if the rules are so simple, why not do it automatically? Because a
desactivation action may fail (or even worse can be triggered upon a subset of public instances
where the node was activated).
my .2c
./alex
--
.w( the_mindstorm )p.
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------