Hi Alex,
Thanks for starting this discussion.
On 01 Apr 2016, at 08:48, Alexandru Cotiuga
<alexandru.cotiuga(a)xwiki.com> wrote:
Hello devs,
Since I already experimented the Nested Spaces behaviour on the Forum
application and there are other applications that might need it also, I
think it's time to start discussing this topic and to decide what strategy
should be implemented on contrib applications.
What I have done in the Forum app was to handle both Pre NS and NS versions
of XWiki, writing specific code for each case (wrapped in if-else
statements), which proved to be the most complex and hard to maintain way,
without much benefit. Sooner or later, everybody will have a NS Xwiki
version and then all the support for Pre NS would become useless and then
the code should be cleaned, which would be a lot of work again.
Besides this already tried strategy, there are some others to be discused:
0: Support both pre-nested and post-nested with “if”
I think this could be a good strategy and till the end of the 8.x cycle at least. When we
start 9.x we would have to modify code to drop the “if” and simplify the code.
1: Support both Pre NS and NS versions but in
different branches.
This one is probably the best from a theoretical POV but it’s a lot of work, probably too
much work for the manpower we have.
2: Move to NS, but keep fixing bugs for Pre NS in a
separate branch. (This
is what I'm proposing)
This one makes sense to me. It’s the one that will work and with the least amount of work
required. However there’s a drawback. It means that users of versions of XWiki older than
7.2 will not be able to get the new features/improvements which will happen on master.
However since 7.4.x is now the official LTS and users are going to start moving to it (we
currently have 45% of active installs of XWiki on 7.2+), I think it could be acceptable.
3: Move to NS without any maintance on Pre NS.
I remind you that each extension on xwiki-contrib defines the minimum version of XWiki it
should work with and we shouldn’t change that without a discussion and agreement. So this
could on a per-extension basis with a vote.
4: Others?
In all the cases, a data migration should be performed.
I don’t fully agree with this. It’s a nice to have but I don’t think it’s mandatory for
all extensions.
For example take the FAQ application. Currently it has wiki pages in 2 spaces:
- FAQCode
- FAQ
When a FAQ entry is created, it’s currently located in the FAQ space.
The target organization we would like is (as discussed in the past on
http://markmail.org/message/657vcm6ylkz4yytc but we need to close this discussion thread;
note that it’s already implemented by AWM):
|_ FAQ
|_ Code
|_ Data
This raises 2 questions:
1) Do we want to move to this structure now and is it worth it? Or should we wait for 8.x
to be LTS before starting this type of refactoring?
2) Do we want to migrate existing FAQ pages to the FAQ.Data space? And if so, how? On
another thread I proposed to introduce a new concept of migration with a DW-like UI.
Thanks
-Vincent
What we decide to do?
Thanks,
Alex