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 <[email protected]>:

> On Wed, May 21, 2014 at 1:36 PM, walid yaich <[email protected]>
> 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/org/xwiki/platform/xwiki-platform-oldcore/5.4.4/xwiki-platform-oldcore-5.4.4-javadoc.jar/!/index.html
> (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 <[email protected]>:
> >
> >> On Tue, May 20, 2014 at 9:21 PM, walid yaich <[email protected]>
> >> 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 <
> [email protected]
> >> >:
> >> >
> >> >> 2014-05-20 13:38 GMT+02:00 walid yaich <[email protected]>:
> >> >>
> >> >> > 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 [email protected] <[email protected]
> >:
> >> >> >
> >> >> > > Hi Walid,
> >> >> > >
> >> >> > > Maybe this could help:
> >> >> > >
> >> >> > >
> >> >> >
> >> >>
> >>
> http://www.xwiki.org/xwiki/bin/view/FAQ/How+can+I+create+a+new+page+based+on+a+form
> >> >> > >
> >> >> > > 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 ([email protected])
> >> 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+Revisions%22
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > > 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
> >> >> > [email protected]
> >> >> > http://lists.xwiki.org/mailman/listinfo/devs
> >> >> >
> >> >> _______________________________________________
> >> >> devs mailing list
> >> >> [email protected]
> >> >> http://lists.xwiki.org/mailman/listinfo/devs
> >> >>
> >> >
> >> > _______________________________________________
> >> > devs mailing list
> >> > [email protected]
> >> > http://lists.xwiki.org/mailman/listinfo/devs
> >> >
> >>
> >>
> >>
> >> --
> >> Thomas Mortagne
> >> _______________________________________________
> >> devs mailing list
> >> [email protected]
> >> http://lists.xwiki.org/mailman/listinfo/devs
> >>
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
>
>
>
> --
> Thomas Mortagne
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to