Hi Eduard,

I think that I am in love with you! I've read your e-mail and that's
exactly what I was looking for!

Thanks again!

Giordano.
Il 25/nov/2015 13:26, "Eduard Moraru" <[email protected]> ha scritto:

> Hi Giordano,
>
> Maybe a quicker route for you to understand would be through Script
> Services [1].
>
> You basically write a java component and then you write a facade (script
> service) for it which will be exposed to velocity code (that you usually
> write in a wiki page, executed server side). Your velocity code talks to
> the service which, in turn, talks to your java component.
> Sure, you could write all your java code directly in the service, but
> that`s not a very nice design, since these script services are not really
> intended to be used in java code (they are intended for scripts --
> velocity, groovy, etc.) and, if you would need to re-use your code in java
> as well, a component is more suited that a script service (so you should do
> the heavy coding in the component).
>
> Finally, you write your wiki page using some velocity that handle the web
> logic, (e.g. maybe get some request parameters, do some computations, use
> some script services to perform more complex stuff and thus call java code,
> do some redirects, etc.) and finally print the html output to the browser
> that made the request.
>
> All of this is also mentioned in our devguide about writing components,
> maybe you`ve missed it [2].
>
> However, as Marius hinted, the server side operations done in velocity (and
> the java code called by the velocity scripts) are performed synchronously,
> so the browser`s request needs to wait until all those operations finish
> and the html result is outputed. If your application's logic can not afford
> to wait for such a result to be computed, then you need to go the
> asynchronous path, with jobs and with interrogating the job`s status,
> providing progress information until it finishes executing.
>
> Hope this helps,
> Eduard
>
> P.S.: We are more than happy to receive help on the documentation side,
> specially in those places where it's sketchy and hard to understand, so you
> are encouraged to pitch in (since it's an open wiki where everyone can
> edit). I guess documentation is just like testing and it's quite a well
> known fact that developers are not perfect at testing their own code :)
>
> ----------
> [1] http://extensions.xwiki.org/xwiki/bin/view/Extension/Script+Module
> [2]
>
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents#HFromwikipages
>
> On Wed, Nov 25, 2015 at 2:00 PM, Giordano Ninonà <
> [email protected]>
> wrote:
>
> > Thank you Marius for your reply, this is something that I need, but I've
> > still problems in understanding how to transfer the control from XWiki to
> > Java then to XWiki again, in particular I can't understand which XWiki
> API
> > I should use and how to properly use them on Java.
> >
> > Sorry but I am very confused, and it is strange because I fell that it is
> > not so difficult bu I still don't understand :P
> >
> > Regards,
> > Giordano Ninonà.
> >
> > 2015-11-25 12:38 GMT+01:00 Marius Dumitru Florea <
> > [email protected]>:
> >
> > > The operations you want to perform may take some time, depending on the
> > > number of affected pages, so I wouldn't block the HTML request,
> triggered
> > > when you click the button, until the operation is done. Maybe this can
> > help
> > >
> > >
> >
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/PerformingAsynchronousTasks
> > > .
> > >
> > > On Wed, Nov 25, 2015 at 12:47 PM, Giordano Ninonà <
> > > [email protected]
> > > > wrote:
> > >
> > > > Hi Devs,
> > > >
> > > > I am a Master Student of Computer Science and of Business Information
> > > > Systems. I am developing my master thesis project on a case study
> > coming
> > > > from Learnpad, unfortunately I have some problems in understanding
> the
> > > huge
> > > > amount of documentation provided by the XWiki website for developers,
> > > > anyway the idea behind my project is the following:
> > > >
> > > >
> > > > *Starting from a XWiki page, clicking on an hypothetical button, I
> want
> > > to
> > > > be able to start a Java application that will aplly changes to the
> > XWiki
> > > > space, that are: *
> > > >
> > > >    - *Add and remove single or multiple pages to the space;*
> > > >    - *Set the content of the new pages;*
> > > >    - *Modify content of existing pages;*
> > > >
> > > > I am wondering because it is not clear, for me, if I need to create a
> > > > new *extension
> > > > *or a new *component *or a *macro*(and the differences between them),
> > how
> > > > to properly implement a java application for Xwiki or how to start it
> > > from
> > > > the Xwiki environment, if it is possible to modify XWiki spaces at
> > > runtime,
> > > > or how to associate java object to wiki pages....and stuff like
> that...
> > > >
> > > > I've already read the documentation, checked the existing extension,
> > > > cheched the Github repository, but it is dispersive, sometimes too
> > > > technical (with some knowledge taken for granted) and sometimes too
> > > > general. In the end I am stucked because I don't know how to approach
> > my
> > > > problem in this environment.
> > > >
> > > > Do you have any suggestion to help me? I need to be put on the right
> > > truck
> > > >
> > > > Kind Regards,
> > > > Giordano Ninonà.
> > > > _______________________________________________
> > > > 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
> >
> _______________________________________________
> 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