After doing some further research and actually playing around with a standalone installation of Confluence and the AutoExport plugin, I'm not really positive about this proposal anymore :(

Especially with regards to managing and integrating the confluence content for multiple Portals sub projects, I've noticed some very serious confluence limitations.
These limitations are quite known and much sought after to be solved, see:

  http://jira.atlassian.com/browse/CONF-2524
  http://jira.atlassian.com/browse/CONF-1095

The main limitation (in my view) is that confluence page titles need to be unique within one Space. Considering commonly expected page titles like Index, Documentation, Reports, etc. which each project would want or need to create, this is going to be a big problem trying to handle all that in one confluence Space (which was the idea for the standard/non-release related content). The only "solution" to that problem would be using some kind of ugly pre/postfixing page titles, like J2Index, PlutoIndex etc., ugh...

Currently the only real solution is to use separate confluence spaces for even the general content of each independent (sub) project, and not only just for their (major) release documentations. Now, considering we are also going to start with the new APA project, which (by intent) will be composed of multiple, independent, sub projects again, we're looking at quite a lot of confluence spaces for the Portals project only (easily growing to 10-20 or more).

I don't think that, from a managerial POV, this is going to be acceptable, 
neither for infra or ourselves.

Last but certainly not least, confluence (in contrast to many other wiki's, including MoinMoin) doesn't grog sub pages, folders or nested Spaces.

As the cwiki solution requires generating exported static html from Confluence for each Space to be merged into one coherent single Portals website / url space, this is going to be extremely difficult to do. In fact, I've got a feeling this might turn out to be even more difficult/buggy than trying to achieve this with a maven 2 site setup.

The biggest problem in my view with these issues is the fact that Confluence is a closed source solution with makes it impossible for us to assess the scope of these problems, the options available to workaround them, or even provide patches/fixes.

The handling of the above mentioned JIRA issues by Atlassian also doesn't make me optimistic these are going to be solved any time soon.

Why didn't I notice these problems before and don't other projects seem to have 
these issues?
Probably because AFAIK none of the other projects have as much (independent) sub projects as we (are going to) have, so they only have to manage a handful of Spaces the most (Geronimo being exceptional with already 15+ spaces).

Unless anyone has some knowledge or ideas how these issues can be circumvented or tell me I have completely misunderstood all this, I'm going to change my opinion to -1 for this solution.

But...

This doesn't mean there isn't or might not be an alternative.

I decided to now properly check out the capabilities and features of MoinMoin as only other Wiki based solution available to us. And to my surprise, it seems to be capable of *much* more than what currently is used or provided by the installation on wiki.apache.org.

This is mostly caused by Apache still using a hacked/forked version 1.3.4 (released 3 years ago: where was Confluence at that time, feature wise?). The latest MoinMoin 1.6 definitely supports many (if not all or more) of the features I think why we were looking at Confluence for:
- Easy editing, WYSIWYG, multiple (wiki) languages, custom client side editing 
support (e.g. editmoin)
- easy to use python macros and extendability, theming
- many (free/open-source) plugins/macros/actions available
- modular/pluggable authentication
- very flexible ACL configuration (users/groups, definition support)
- sub pages! (like: http://moinmo.in/HelpOnEditing/SubPages)
- sub pages can also inherit parent page ACL settings (something Confluence 
cannot either)
- custom themes, page templates
- etc.

Some relevant links worthwhile checking out:
  http://moinmo.in/
  http://moinmo.in/MoinMoinScreenShots
  http://moinmo.in/MoinMoinFeatures
  http://moinmo.in/HelpOnEditing/SubPages
  http://moinmo.in/HelpOnAccessControlLists
  http://moinmo.in/HelpOnAuthentication

I know, just a week ago I proposed the cwiki/confluence solution, which at least is (somewhat) supported by infrastructure, and the latest version of MoinMoin certainly (not) yet.

But in my current view, MoinMoin potentially can provide us with a really good 
solution.
Its open source, fast, and would even allow *inline* editing (with proper authentication and ACL that is) of the website. No funky jumping-through-hoops kind of intermediate exporting, merging and additional url-rewriting needed!

Looking at the current state and maintenance of MoinMoin at Apache though, I'm doubtful if anyone at infrastructure is willing to move to the latest version *for* wiki.apache.org, which is one large wiki farm across Apache.

If there is enough interest for this though, maybe we can ask infra if we can get portals.apache.org hosted on a separate (latest) instance of MoinMoin. But as infrastructure already seems to be stressed quite a lot, that might be problematic too.

Anyway, I'd like to know if anyone else has experience with more recent MoinMoin installations and opinions about properly using MoinMoin (to the fullest) as alternative solution.

Ate Douma wrote:
Carsten Ziegeler wrote:
Big +1 for using Confluence; we are using it for several projects (Felix, 
Sling, Jackrabbit) already and it works
nicely.

If they have a CLA on file, and are contributing to the official project 
documentation, they *ARE* Committers.
They just aren't coders, and don't have SVN access.
Well, that's not how I understand how it is described on the CWIKI page, or 
even here:
http://www.apache.org/foundation/how-it-works.html. Although a committer must 
have a CLA on file, can't a
"contributer" have a CLA on file too without being a committer?
Yes, that's how we do it in other projects. You need a CLA and then can contribute 
to the docs without being a "svn
committer".
Cool, that's what I thought too.


Ate Douma wrote:
My proposal is simple: - switch to using this Confluence+cwiki solution
I assume you mean for the whole portals project. +1
Well, I indicated upfront to propose this (initially) for Jetspeed-2 only. But 
of course, I'd like to see this to be
extended to the whole of Portals project too. See also my comments below.


- maintain separate Confluence spaces for release specific
documentation
for jetspeed-2, j2-admin and future products
Hmm, not sure if we need this. So this would also include to have a specific 
space for Pluto, Bridges etc?
Yes, and even potentially, depending on the goals for each project, distinct 
spaces per each (major) release. See for
example how Geronimo handles this: Main website space      - 
http://cwiki.apache.org/GMOxSITE/ Trunk development
space - http://cwiki.apache.org/GMOxDEV/ Geronimo v1.0 space     - 
http://cwiki.apache.org/GMOxDOC10/ Geronimo v.1.2
space    - http://cwiki.apache.org/GMOxDOC12/ Geronimo v.2.0 space    - 
http://cwiki.apache.org/GMOxDOC12/ etc.

Now, if we are going to extend my proposal for the whole of Portals project (or 
at least including the main site), we
might optimize this a bit. In my view, there is/should only be a need for one 
primary (release independent) website
space. This space (PORTALS) can then contain all general information for both 
the Portals project (like
http://portals.apache.org) as well as for the subprojects (Jetspeed, Pluto, 
Bridges, etc.). Then, each sub project
can need additional release related spaces, like J2xDOC213, J2xDOC22, 
PLUTOx115, PLUTOx20, BRIDGESx104.

Finally, we can simply switch to one Confluence space for the "public" wiki for 
the whole Portals project too,
something like PORTALSxWIKI.


- integrate all the above in one new main cwiki based jetspeed-2
project
website
Can you elaborate a little bit on this one please?
The global PORTALS space should integrate all of the above spaces similar to 
how other projects do this, as well as
additional resources like generated javadocs, reports etc. for which we still 
can use maven but need to provide links
to from the Confluence space(s).

So, if you would want to expand this proposal to include Portals itself, Pluto, 
Bridges, maybe even WSRP4J etc., +1

Ate


Carsten






Reply via email to