It might help if I throw in my use case: Basically I need an anonymous user (not authenticate) to create data in the repository. However that is not public data. Other anonymous users should not be able to view/edit that data.
So far I have prepared a special path where anonymous has write rights. I then copy over the data from the unsecured path to it's final destination by using an event. However on the create event at least two other event handlers are also performing actions on the data (which will fail when the node is moved). Possible solutions I see so far: - Try to harden the other events to not use the "create" but the "move" event when data is stored in the temporary path.Error prone as every event handler that is added in future needs to know about that special rule. - Some sort of staging. Either with new event topics or an artificial status in a property. That gets more complex when more event handlers are involved. - Delayed move. Fragile at best. But maybe I am too focused on the overall approach and there are better ways to solve the use case? Regards, Markus On Mon, Oct 10, 2011 at 2:37 PM, Bertrand Delacretaz <[email protected]> wrote: > Hi, > > On Fri, Oct 7, 2011 at 5:34 PM, Markus Joschko <[email protected]> > wrote: >>... I have multiple event handlers executing on node creation. >> >> One of these handlers will move the node to a new location. Obviously >> that should happen after the others done their changes as otherwise >> they try to operate on an outdated path. >> Can I guarantee this? I thought about the service ranking but couldn't >> find anything that strengthen that. > > The safest seems to be for the handlers that make changes to set a > property on the node, that tells the "move" handler that the node is > ready to be moved. The "ready to move" probably maps to some > business/content rule, I'd just reflect that in a property value. > > -Bertrand >
