I've been partially mistaken.. Indeed it listen to the save event which
actually means that the macro gets registered on import (if the user
which is initially set as the contentAuthor has programming rights).
However when I then visited my page which perform the $doc.save then my
macros got unregistered which is really weird as they were registered
just before.
Here is what I have in my macro wiki content page:
= TODO Macro =
You can use this macro from the Wysiwyg Editor
{{velocity}}
#set($doc1 = $xwiki.getDocument("XWiki.TodoMacroService"))
#set($doc2 = $xwiki.getDocument("XWiki.TodoMacroGroovy"))
#set($doc3 = $xwiki.getDocument("XWiki.TodoListMacro"))
#if(!$xwiki.hasProgrammingRights())
#if($xwiki.hasAdminRights())
#set($ok = $doc.save())
#set($ok = $doc1.save())
#set($ok = $doc2.save())
#set($ok = $doc3.save())
{{html}}
#info("The TODO macro has been installed")
{{/html}}
#else
{{html}}
#warning("The TODO macro is not completely installed. You need to
visit this page as an admin")
{{/html}}
#end
#end
{{/velocity}}
It's when this is run the first time that my macro gets unregistered. If
it's run a second time it gets registered again.
Ludovic
Asiri Rathnayake a écrit :
Hi,
On Sat, Oct 10, 2009 at 12:25 PM, Ludovic Dubost <ludovic(a)xwiki.com> wrote:
I'm on a local install and if I save using
the save action it works
but does not seem to register it with $doc.save()
WikiMacroListener is responsible for listening to document save events and
creating / registering wiki macros. It should work with $doc.save() because
this should fire a document save event. This looks like a bug, I will check
this out and report a bug (or you can do it).
Thanks.
- Asiri
Envoyé de mon iPhone
Le 10 oct. 2009 à 00:46, Sergiu Dumitriu <sergiu(a)xwiki.com> a écrit :
On Fri, Oct 9, 2009 at 23:28, Ludovic Dubost
<ludovic(a)xwiki.com>
wrote:
Hi,
Is there a way to register a Wiki Macro through scripting. When I
import a
Wiki Macro it does not seem to get registered and when I do
$doc.save() on
it it does not register it either.
I suppose it's because we intercept the save at a different level
(probably
on the save action).
How can I workaround that ?
Are you sure you're not trying to register a macro in a local wiki?
Currently they only work if they are in the main wiki.
--
http://purl.org/net/sergiu
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs