This page discusses how we could do a JSPWiki redesign for version 3 of the JSPWiki.

It might be an idea to do this in incremental stages.

First might be just to define the interface APIs which should probably be a 2.11 version of the wiki.

See also:

Relevant Issues#

Background Notes#

When JSPWiki first entered Apache incubator, one of the goals was to have a stable API developers could code against, to ease the development of common extensions (plugins, filters, etc). The related code went into SVN Branch 3.0 (see above link).

Later on, a second attempt to graduate from incubator was made, less ambitious w.r.t. code (3.0 targetted the API, a new JCR backend, stripes instead os JSPs, etc.). Later on, I did try to bring back the api package, but so far is incomplete: I had in mind leaving Sonar Design Page without red squares, so we could be able to split the main jar into several smaller modules (i.e.: jspwiki-plugins, jspwiki-filters, etc.) The api package should then arise by itself, but right now there is a cycle in that package, so it smells like there is something in there which needs to be rethinked.

Also related to this, JSPWIKI-806 aimed to simplify the WikiEngine, by introducing an EntityManager, but the code in there needs to be completed.

hth, juan pablo

Options#

  1. Felix iPOJO = http://felix.apache.org/documentation/subprojects/apache-felix-ipojo.html (OSGI)
  2. PicoContainer = http://picocontainer.codehaus.org - simple to use, but getting old
  3. Tapestry IoC = http://tapestry.apache.org/ioc.html - might be too tied to Tapestry?
  4. Spring Beans = http://www.tutorialspoint.com/spring/spring_architecture.htm - popular, and large support base (a little large)
  5. EntityManager => build our own - http://mail-archives.apache.org/mod_mbox/jspwiki-dev/201312.mbox/%3CCAFKb9FM6%3DQ6gtrHeJ95hekoUppfrcVtjq%3D8NvW5voCGVKVuDBw%40mail.gmail.com%3E
  6. Others = http://java-source.net/open-source/containers (use an existing one)