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.
- SVN Branch API - http://svn.apache.org/viewvc/jspwiki/branches/JSPWIKI_3_0_BRANCH/src/java/org/apache/wiki/api/
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
- Felix iPOJO = http://felix.apache.org/documentation/subprojects/apache-felix-ipojo.html (OSGI)
- PicoContainer = http://picocontainer.codehaus.org - simple to use, but getting old
- Tapestry IoC = http://tapestry.apache.org/ioc.html - might be too tied to Tapestry?
- Spring Beans = http://www.tutorialspoint.com/spring/spring_architecture.htm - popular, and large support base (a little large)
- EntityManager => build our own - http://mail-archives.apache.org/mod_mbox/jspwiki-dev/201312.mbox/%3CCAFKb9FM6%3DQ6gtrHeJ95hekoUppfrcVtjq%3D8NvW5voCGVKVuDBw%40mail.gmail.com%3E
- Others = http://java-source.net/open-source/containers (use an existing one)