Hi devs,

I'd like to make the XWiki Rendering module a top level project.

Rationale
========

* Make it more visible in order to get more outside visibility/contributions 
(it'll have its own wiki and can be advertised separately from the rest, see 
below)
* Ensure that we keep the rendering module independent from xwiki's core model
* Prepare it for a potential (no plans yet) future step which would be to 
either merge it with some other projects (such as Eclipse's WikiText) or move 
it to a forge with more visibility should we want that
* Allow releasing it separately from the rest of XWiki with minimal 
dependencies which means it would be possible to use an oldish version of XE 
with the latest rendering module, allowing to provide features on an older 
platform.
* Allows better controlling backward compatibility
* Allows better and cleaner documentation (since it would be on a wiki of its 
own)
* This module has grown large and has a life of its own now that warrants being 
a top level project

The only cons I can see is that it means one more module to release separately 
and thus a little bit more time during the release process but I don't think 
that's a good enough reason to not do it (compared to the listed advantages 
above).

Implementation details
==================

* Name: XWiki Rendering (I hesitated giving it a code name such a XWiki Babel 
but in the end I think using a descriptive name is more inline with other names 
we have and clearer for the end users - it also allows us to not change 
existing package names this not breaking backward compatibility)
* SVN: http://svn.xwiki.org/svnroot/xwiki/rendering
* JIRA: http://jira.xwiki.org/jira/browse/XRENDERING
* Wiki: http://rendering.xwiki.org
* Package: org.xwiki.rendering
* Versioning strategy:  Start at 3.0-SNAPSHOT and release XWiki Rendering 3.0 
final just before we release XE 3.0 final. Then let it have its own life: 3.1, 
3.2, etc, independently of platform/XE (although in practice it can be released 
at the same time as we release platform)
* Directory structure:

http://svn.xwiki.org/svnroot/xwiki/rendering/
  |_ tags
  |_ branches
  |_ trunk
    |_ xwiki-rendering-api
    |_ xwiki-rendering-macros
      |_ (move here all macros that don't depend on XWiki's model - it's ok to 
depend on XWiki's WikiModel's interface though)
    |_ xwiki-rendering-standalone
    |_ xwiki-rendering-syntaxes
     |_ (all syntaxes submodules moved here)
    |_ xwiki-rendering-tests
    |_ xwiki-rendering-transformations
      |_ (all transformation submodules)

* We leave in platform/xwiki-rendering/* the macros that depend on XWiki's 
model + the xwiki-rendering-xwiki module.
* In the future, the idea will be to separate xwiki-rendering-api into several 
parts (rendering-block, rendering-renderers, etc) but that's a second step.

I'm on holidays right now (for a week) but that's something I'd be keep on 
implementing on and off during this week should we agree on it.

Here's my +1

Thanks
-Vincent

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

Reply via email to