This page is designed to document what's on the roadmap for future versions of AppFuse. Feel free to add suggestions as you see fit. For a more detailed report of where we are on the roadmap, see the roadmap in JIRA.
AppFuse 2.0 - late 2006
- Maven 2 integration
- Migrate from CVS to Subversion
- Remove XDoclet, putting generated files into source tree
- Get all flavors (WARs) deployed and running on Tomcat and Jetty Maven Plugin
- Spring 2.0: Upgrade XML to XSDs, annotations where appropriate
- Upgrade WebWork to Struts 2
- Documentation - move to new Confluence or DocBook-based system for 2.0 documentation
- Integrate XFire by default (for existing classes and generated classes)
- Code Generation/AppGen - hopefully with the AppFuse Maven Plugin
2.0 Nice to haves
- TestNG replacing JUnit
- Hibernate Validation Annotations (hard part is hooking it into the web frameworks)
- Tomcat Plugin for Maven (that operates like Jetty's plugin) (Looks like there is a Maven 2 Tomcat Plugin that supports tomcat:run and tomcat:run-war (pending))
- JPA Support
- Support for JDK 1.4 using something like Retroweaver
- Support for using Ant to build/test/deploy AppFuse-based projects
- Someone to do all the documentation ;-)
AppFuse 2.1 - early 2007
- Search using Compass, tutorials already existing for Spring MVC and JSF
- Pageable lists that only fetch a specified number of records (i.e. 10 at a time)
- Ajax Goodies (TBD)
- Convention over configuration, no XML modifications needed when adding new files
- Plugin API so all "features" can be added/removed via plugins
- Add Wicket and Stripes as supported web frameworks
Various Ideas - don't know if we'll use them
- Use JMeter, Grinder or Microsoft's Web Application Testing tool to configure load testing scripts for inclusion in the distribution. Motivated by this post.
- Create tutorial on how to integrate Quartz (using Spring). See Luciano Fiandesio's AppFuse and Quartz: an integration tutorial.
- Add Configuration object that talks to a database table for application configuration. Create a dynamic UI (JSP) to handle updating.