I'm sorry, i'm new to xwiki API but i'm really trying to get better ;)
I looked at the API and i find out that i should use this method:
public int *createXObject*(EntityReference
<http://extensions.xwiki.org/?id=org.xwiki.platform:xwiki-platform-model:::/xwiki-commons-pom/xwiki-platform/xwiki-platform-core/xwiki-platform-model/apidocs/org/xwiki/model/reference/EntityReference.html?is-external=true>
classReference,
XWikiContext
<http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/org/xwiki/platform/xwiki-platform-oldcore/5.4.4/xwiki-platform-oldcore-5.4.4-javadoc.jar/%21/com/xpn/xwiki/XWikiContext.html>
context)
But i can't figure out how can i create an EntityReference object and How
can i get the context from the actual event caller ?
2014-05-21 13:09 GMT+01:00 Thomas Mortagne <thomas.mortagne(a)xwiki.com>om>:
On Wed, May 21, 2014 at 1:36 PM, walid yaich
<walid.yaich(a)gmail.com>
wrote:
Thank you,
But i really cannot get it work,
>As I said, you need to modiy the document
comming with the event (the
>fist parameter). That's the one that is going to be saved right after
is it
right like that ? :
void onEvent(Event event, Object source, Object data)
{
def currentDocument = xwiki.getDocument(source.fullName)
Why are you calling getDocument ? source is already a XWikiDocument
instance. I will say it again: you need to modify source itself
because that's what is going to be saved, not some instance you kept
from when you registered the listener, not a new instance, source.
If you don't know the API of XWikiDocument you can look at
http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/or…
(modify the link according to your version).
currentDocument.newObject("RevisionSpace.RevisionClass")
//currentDocument.save() //When saving, i got a stackoverflow
//XWikiDocument currentDocument = (XWikiDocument) source
//Cannot cast from XWikiDocument to Document
}
This code does not save the object, something wrong with it ?
I tried just this :
{{groovy}}
doc.newObject("RevisionSpace.RevisionClass")
doc.save()
println "{{info}} Object added {{/info}}"
{{/groovy}}
it creates two objects in the current page, any explanation ?
I'm using Admin/admin and XWIKI entreprise 6.0, some way to debug to know
why it doesn't save ?
Thanks in advance
2014-05-21 8:39 GMT+01:00 Thomas Mortagne <thomas.mortagne(a)xwiki.com>om>:
> On Tue, May 20, 2014 at 9:21 PM, walid yaich <walid.yaich(a)gmail.com>
> wrote:
> > Good morning :)
> >
> > I added a listener on DocumentCreatingEvent, this listener will add an
> > object of type RevisionClass to every new document. (RevisionClass is
> under
> > RevisionSpace)
> > In onEvent i have doc.newObject("XWiki.RevisionClass"), i'm sure
onEvent
> is
>
> As I said, you need to modiy the document comming with the event (the
> fist parameter). That's the one that is going to be saved right after
> the event (so just add the object and don't save it yourself),
> whatever you save in your code is going to be overwritten after it.
>
> > executed but when creating a new document, i can't find the object
> created
> > when doing edit-->object, in addition doc.newObject("blablabla")
is
> > accepted and doesn't throw any exception.
> >
> > I'm using the default Admin/admin user, should i execute the script
in a
> > specific space or with specific rights
?
> > Nothing is displayed in my console, How can i make XWIKI tell me more
> about
> > what it is doing ?
> >
> > I'm using Entreprise 6.0, would you please take a look at the attached
> > script ?
> >
> >
> > Best Regards,
> > Walid YAICH
> >
> >
> >
> > 2014-05-20 13:24 GMT+01:00 Jeremie BOUSQUET <
jeremie.bousquet(a)gmail.com
> >:
> >
> >> 2014-05-20 13:38 GMT+02:00 walid yaich <walid.yaich(a)gmail.com>om>:
> >>
> >> > Thanks,
> >> >
> >> > I prefer the listener, because i don't want the user to edit the
> object,
> >> > the object revision will be set by admin when he/she push
"approve" to
> >> set
> >> > the revision to show by default.
> >> >
> >> > The listener works fine now, but i can't find how to add an object
to
> a
> >> > page in groovy, i want to this in groovy : #set($obj =
$doc.newObject(
>>
> "XWiki.SomeClass")) , a helpful link as always please ?
>> >
>> >
>> Hi,
>> Groovy has the same default bindings as velocity, so you could write:
>>
>> def obj = doc.newObject("XWiki.SomeClass")
>>
>>
>> >
>> >
>> >
>> >
>> > 2014-05-20 10:44 GMT+01:00 vincent(a)massol.net <vincent(a)massol.net
:
> >> >
> >> > > Hi Walid,
> >> > >
> >> > > Maybe this could help:
> >> > >
> >> > >
> >> >
> >>
>
http://www.xwiki.org/xwiki/bin/view/FAQ/How+can+I+create+a+new+page+based+o…
> >> > >
> >> > > If your users use this form to create pages, the pages they
create
> will
> >> > > automatically have the proper XObjects added to them and they’ll
> >> directed
> >> > > in inline mode when creating the page, allowing them to fill the
> >> XObject
> >> > > data.
> >> > >
> >> > > Thanks
> >> > > -Vincent
> >> > >
> >> > > On 19 May 2014 at 22:16:01, walid yaich (walid.yaich(a)gmail.com)
> wrote:
> >> > >
> >> > > Hello,
> >> > >
> >> > > First of all, Merci bcp Vincent for this How to implement
"Approved
> >> > > Revisions"?<
> >> > >
> >> >
> >>
>
http://www.xwiki.org/xwiki/bin/view/FAQ/How+to+implement+%22Approved+Revisi…
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > I was able to choose which revision to display by following the
"how
> to",
> > > now i need to add the object automatically to any page in my wiki
or
at
> > > least any page in a given space
> > >
> > > Thanks in advance :)
> > >
> > >
> > _______________________________________________
> > 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
--
Thomas Mortagne
_______________________________________________
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
--
Thomas Mortagne
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs