On Wed, May 21, 2014 at 4:31 PM, walid yaich <[email protected]> wrote:
> 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

Usually for a class the easiest is something like:

def reference = new
org.xwiki.model.reference.LocalDocumentReference("xclassspace",
"xclasspage")

See http://extensions.xwiki.org/xwiki/bin/view/Extension/Model+Module
for more about entity references.

> How can i get the context from the actual event caller ?

The event send it as second parameter (like most events actually).

>
>
>
>
>
> 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



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to