[xwiki-users] Changing a document object during a notification
Sergiu Dumitriu
sergiu at xwiki.com
Wed Jun 25 19:31:40 CEST 2008
Sergiu Dumitriu wrote:
> Tiago Rinck Caveden wrote:
>> Hello,
>>
>> I'm using XWiki notification API (
>> http://platform.xwiki.org/xwiki/bin/view/DevGuide/Notifications) and
>> now I
>> need to change a property of the document that is being changed by the
>> user.
>> I tried simply changing the value but this does not persist it - after
>> rebooting the server the value is not there anymore.
>> Using the context.getWiki.saveDocument method was not a very bright idea
>> either because it started an infinite recursion - it called my
>> notification
>> code back again.
>>
>> So, does anybody know what could I do?
>
> Yes, use prenotifications. This means that instead of putting the code
> in verify(), put it in preverify(), and use the constructor with 3
> arguments.
I hit Send to soon, and my notification knowledge is a bit rusty...
I mean, when creating the notification rule (DocChangeRule or whichever you're using), use the
constructor with 3 arguments, and use true for the second argument, false for the third one. If the
Rule doesn't have such a constructor, call setPostverify(false) and setPreverify(true). That's all
you need to do.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
More information about the users
mailing list