Thanks a lot!
Many things got clarified in my mind :)

Best!
Krzysztof

2017-03-27 14:24 GMT+02:00 Thomas Mortagne <[email protected]>:

> On Mon, Mar 27, 2017 at 1:23 PM, Krzysiek Płachno
> <[email protected]> wrote:
> > Thanks for answer, Thomas! Sorry for the delay in my response, but I
> wanted
> > to gather some more question to put them all in one mail. It took me a
> bit
> > long, so maybe that was not the best strategy...
> >
> > 1. mvn install -DskipTests=true helped - BUILD SUCCESS :)
> >
> > 2. I've dived a bit more into documentation of system and extension
> module
> > and I have some questions: (Btw. this diagram here clarified a lot:
> > http://extensions.xwiki.org/xwiki/bin/view/Extension/Extension%20Module%
> 20Architecture
> > with
> > such documentation it's going to be pure fun to contribute to project :))
> >
> >      2a. There's prepared API for easy extension of Extension Module,
> > especially: ExtensionRepositorySource, ExtensionHandler,
> > ExtensionRepositoryFactory - these interface classes are located in
> > xwiki-commons project. I've found implementation of this api for XWiki
> > Repository in xwiki-commons as well. But tried to find implementation of
> > Maven Repository, but I didn't succeed. Where can I find it?
>
> All supported repositories handlers are located on
> https://github.com/xwiki/xwiki-commons/tree/master/
> xwiki-commons-core/xwiki-commons-extension/xwiki-
> commons-extension-repositories.
>
> The Maven one is
> https://github.com/xwiki/xwiki-commons/tree/master/
> xwiki-commons-core/xwiki-commons-extension/xwiki-commons-extension-
> repositories/xwiki-commons-extension-repository-maven.
>
> >
> >      2b. If I understood correctly - adding support for Pypi will come
> down
> > to writing a typical Jar extension, that will implement required
> > interfaces, and so will be possible to be integrated with Extension
> > Manager, right? This new "Support of Pypi Extension" is going to be
> > deployed to Maven or XWiki Repository like any other extension? Will
> there
> > be any difference to other extensions?
>
> Exactly.
>
> >
> >      2c. It's not completely clear for me how integration with Pypi
> should
> > work. From XWiki repositories XARs are downloaded, from maven JARs, but
> > Pypi stores python packages in .egg or .whl. How are they supposed to be
> > installed in XWiki? Is it like that - during extension installation the
> > python code inside downloaded package should be transformed to wiki page
> > and inserted as a script?
>
> Nothing that complex I think. There is some experimentation to do here
> but Jython automatically search for python script everywhere in the
> classloader and egg (I did not check for whl) are actually very close
> to JARs so either:
> * Java is not too peaky and all you have to do is handle the egg/wql
> file as if it was a JAR extension and Jython will do the rest
> * If Java complain about a missing MANIFEST file or something,
> repackage the file with a generated MANIFEST java-style file in to (or
> anything else that would make Java happy) but it should not be much
> more that adding one or two file to what is already a zip file
>
> For Maven need I'm releasing a JAR version of Pygments on Maven
> central () and all I do is unpack the egg file as it is and build it
> with Maven.
>
> >
> >      2d. Do I understand it correctly - that for management (instalation
> > and possibly execution) of extension of given type - the one that is
> > responsible for this management is the implementation of
> > org.xwiki.extension.handler.ExtensionHandler? So, regardless how the
> > downloaded .egg packeges would be managed - they shall be managed in
> > EggExtensionHandler?
>
> There is to choices here actually:
> * make pypi repository handler expose JAR extensions and deal on his
> side with what is needed to make EGG package be supported by Java
> classloader properly
> * make pypi repository handler expose EGG extensions and implement a
> EGGExtensionHandler which does what is needed to load the EGG file in
> a Java classloader
>
> >
> > 3. And at the end - just for clarification: What's the difference between
> > module and extension? Are modules the special (bigger) extensions? Like
> > Component Module?
> > http://extensions.xwiki.org/xwiki/bin/view/Extension/Component%20Module
>
> When you see "Module" in http://extensions.xwiki.org pages name it
> usually means top level module documentation usually containing
> several (if not many) extensions. Extension basically means file.
>
> >
> >
> > Best!
> > Krzysztof
> >
> > 2017-03-22 17:49 GMT+01:00 Thomas Mortagne <[email protected]>:
> >
> >> On Wed, Mar 22, 2017 at 5:36 PM, Krzysiek Płachno
> >> <[email protected]> wrote:
> >> > Hi Thomas!
> >> >
> >> > Thanks for quick answer!
> >> >
> >> > 1) As regards problems during compilation:
> >> >  - on Windows I get following error: http://pastebin.com/t9REjH3f
> (it
> >> > cannot find one snapshot on nexus)
> >>
> >> The failure you get is probably because of -Dmaven.test.skip=true. It
> >> should be OK if you use -DkipTests instead (which build test but don't
> >> execute them).
> >>
> >> >  - on linux - run of phantom.js causes memory problems
> >> >
> >> > 2) You say that "you usually don't to build XWiki entirely to work on
> >> it,"
> >> > but when you upgrade one of the modules, you need to recompile all the
> >> > modules that depend on it - running "mvn install" on main pom, right?
> >> (And
> >> > then typically run some integration test, to assure nothing got
> broken by
> >> > commit).
> >> > Or do you only compile locally the module your're working on,
> delegating
> >> > the compilation of whole project to external service (like jenkins)?
> >>
> >> Most of the time modifying a module is not going to have any impact on
> >> the jar built in backward dependencies, only tests and yes we have
> >> http://jenkins.xwiki.org/ to catch that (unless you know your change
> >> will have a big impact and you should try to fix backward dependencies
> >> before pushing).
> >>
> >> >
> >> > 3) Yes, my (at least - potentially my ) task regards Extension
> Manager,
> >> > which is an extension itself, but it's a part of the "Core extensions"
> >> > (according to http://platform.xwiki.org/xwiki/bin/view/DevGuide/
> >> Architecture)
> >> > and located in XWiki-platform module, right? (More specifically:
> >> > xwiki-platform > xwiki-platform-core > xwiki-platfrom-extension ?)
> >> > So that's why I stated with preparation of environment for this
> >> > xwiki-platform modlue, starting with a try to build it locally :)
> >>
> >> Extension Manager is part of the core extensions yes but a Pypi
> >> repository handler would be installed as optional extensions. There is
> >> already extension point for anyone to add support for any kind of
> >> repository without touching Extension Manager. All it takes is
> >> implementing org.xwiki.extension.repository.ExtensionRepositoryFactory
> >> component role (and in case of Pypi also
> >> org.xwiki.extension.handler.ExtensionHandler since it would probably
> >> also need to add support for egg or whl extensions types).
> >>
> >> >
> >> > And just to be sure: 4) Have I understood well, that all conversation
> >> > regarding open development of XWiki like, clarifying doubts, asking of
> >> > advice and ect. should go through mailing list? I mean it may produce
> >> huge
> >> > mail stream to many people, and I guess not everyone is interested in
> >> > everything in system, but rather in some part he or she is working on.
> >>
> >> Either dev mailing list of IRC for quick questions/answers. Just not
> >> in private mails with the mentor (except for too personal matter of
> >> course).
> >>
> >> >
> >> > Btw. I'm going through Dev guides and I'm impressed how well
> >> > it's maintained and documented. +1 for the community :)
> >>
> >> Always nice to ear since there is never enough or good enough
> >> documentation :)
> >>
> >> >
> >> > Best,
> >> > Krzysztof
> >> >
> >> >
> >> > 2017-03-21 16:59 GMT+01:00 Thomas Mortagne <[email protected]
> >:
> >> >
> >> >> usually don't to build XWiki entirely to work on it,
> >>
> >>
> >>
> >> --
> >> Thomas Mortagne
> >>
>
>
>
> --
> Thomas Mortagne
>

Reply via email to