AppFuse 2.1 Milestone 1 Released
The AppFuse Team is pleased to announce the first milestone release of AppFuse 2.1. This release includes upgrades to all dependencies to bring them up-to-date with their latest releases. Most notable are Hibernate, Spring and Tapestry 5.
What is AppFuse?
AppFuse is an open source project and application that uses open source tools built on the Java platform to help you develop Web applications quickly and efficiently. It was originally developed to eliminate the ramp-up time found when building new web applications for customers. At its core, AppFuse is a project skeleton, similar to the one that's created by your IDE when you click through a wizard to create a new web project.
Release Details
Archetypes now include all the source for the web modules so using jetty:run and your IDE will work much smoother now. The backend is still embedded in JARs, enabling you to choose which persistence framework (Hibernate, iBATIS or JPA) you'd like to use. If you want to modify the source for that, add the core classes to your project or run appfuse:full-source.
In addition, AppFuse Light has been converted to Maven and has archetypes available. AppFuse provides archetypes for JSF, Spring MVC, Struts 2 and Tapestry 5. The light archetypes are available for these frameworks, as well as for Spring MVC + FreeMarker, Stripes and Wicket.
Other notable improvements:
- Added Compass support thanks to a patch from Shay Banon.
- Upgraded from XFire to CXF for Web Services.
- Moved Maven repository to Sonatype's OSS Repository Hosting for snapshots and releasing to Maven Central. There are no longer any AppFuse-specific artifacts, all are available in central. Thanks to Sonatype for this great service and its excellent repository manager.
- Upgraded to Canoo WebTest 3.0. Now if we could just get its Maven Plugin moved to Codehaus.
- Added Ajaxified Body to AppFuse Light archetypes.
- Infrastructure upgrades, including JIRA 4, Confluence 3, FishEye 2, Bamboo 2 and Crowd 1.6. Many thanks to Atlassian and Contegix for their excellent products and services.
- For more details on specific changes see the release notes.
Please note that this release does not contain updates to the documentation. Code generation will work, but it's likely that some content in the tutorials won't match. For example, you can use annotations (vs. XML) for dependency injection and Tapestry is a whole new framework. I'll be working on documentation over the next several weeks in preparation for Milestone 2.
AppFuse is available as several Maven archetypes. For information on creating a new project, please see the QuickStart Guide.
To learn more about AppFuse, please read Ryan Withers' Igniting your applications with AppFuse.
The 2.x series of AppFuse has a minimum requirement of the following specification versions:
- Java Servlet 2.4 and JSP 2.0 (2.1 for JSF)
- Java 5+
If you have questions about AppFuse, please read the FAQ or join the user mailing list. If you find bugs, please create an issue in JIRA.
Thanks to everyone for their help contributing code, writing documentation, posting to the mailing lists, and logging issues.
Great news!
I was waiting long time to see new version of AppFuse :)
Cheers,
Lukasz
Posted by Lukasz on November 19, 2009 at 03:18 PM MST #
Posted by uberVU - social comments on November 19, 2009 at 05:01 PM MST #
Nice job everyone! AppFuse has been a good starting point for lots of projects, esp for rapid prototype stuff. Congrats on the release.
Jason
Posted by Jason Thrasher on November 20, 2009 at 11:41 PM MST #
Posted by johnydz on November 30, 2009 at 08:43 AM MST #
Posted by Marc on January 11, 2010 at 06:27 PM MST #
@Marc - The userdetails package has moved into "security.core" in many cases. Check AppFuse's upgrade to Spring Security 3 changelog for more information.
As far as annotations vs. controller hierarchy, I've moved to annotations in AppFuse Light and plan on doing the same for AppFuse in the near future (before 2.1 is released).
Posted by Matt Raible on January 11, 2010 at 06:32 PM MST #
Ok, finally got a working Spring 3. Security and moving in cxf was the biggest bit of work as I've got quite a few customizations. I'm going to have to look in optimizing security. I don't think all the customizations I made are necessary anymore.
The upshot of it all is, that I saw startup time reduce by almost 50%.
Remaining issue is that I've got my web module referencing my old core project jar as a jar reference to my local repository. Forgot how to get rid of that reference in the pom. Any suggestions on that?
Posted by Marc on January 13, 2010 at 03:50 AM MST #
Remaining issue is that I've got my web module referencing my old core project jar as a jar reference to my local repository. Forgot how to get rid of that reference in the pom. Any suggestions on that?
@Marc - if this is an AppFuse-related question, please ask it on the mailing list. Otherwise, it's just a matter of properly referencing your dependencies w/o hard-coding paths to the JAR. Setting up a repository manager like Nexus can be useful too.
Posted by Matt Raible on January 13, 2010 at 03:54 AM MST #