See Articles, Blogs, Roadmap and Presentations for more AppFuse propaganda.
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 with 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 too. 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.
I wrote a blog post titled "A Letter to the AppFuse Community" tonight to let y'all know what's going on with the AppFuse project and my thoughts on its future. Don't worry, it's mostly good stuff. You can find it at the following URL:
http://raibledesigns.com/rd/entry/a_letter_to_the_appfuse
Thanks for your support,
Matt
Chris Barham has been a busy guy lately. Not only has he written a tutorial on integrating external sorting and pagination with the Display Tag, but he's also written a tutorial on how to integrate Compass 2.0 into AppFuse. Check out the links below for more information:
Awesome work Chris.
If you're looking for an excellent article explaining what AppFuse is, please see Ryan Withers' Igniting your applications with AppFuse. For in-depth coverage of AppFuse and all its supporting frameworks, there's no better place to go than David Whitehurst's AppFuse Primer. Thanks to both Ryan and David for their contributions to this project.
The AppFuse Team is pleased to announce the release of AppFuse 2.0.2. This release includes upgrades to Spring Security 2.0, jMock 2.4, the ability to customize code generation templates and many bug fixes.
For information on upgrading from 2.0.1, see the Release Notes or changelog. AppFuse 2.0.2 is available as a Maven archetype. For information on creating a new project using AppFuse, please see the QuickStart Guide or the Demos and Videos.
The 2.0 series of AppFuse has a minimum requirement of the following specification versions:
- Java Servlet 2.4 and JSP 2.0
- Java 5+
If you've used AppFuse 1.x, but not 2.x, you'll want to read the FAQ. Join the user mailing list if you have any questions. The Maven Reference Guide has a map of Ant -> Maven commands. Maven for Newbies might also be useful if you've never used Maven before.
Thanks to everyone for their help contributing code, writing documentation, posting to the mailing lists, and logging issues.
We greatly appreciate the help from our sponsors, particularly Atlassian, Contegix, JetBrains, and Java.net. Atlassian and Contegix are especially awesome: Atlassian has donated licenses to all its products and Contegix has donated an entire server to the AppFuse project.
We've recently added some some new features to the AppFuse project. The first is we've installed FishEye and Crucible (a code review tool) on AppFuse's server at Contegix. We've used FishEye in the past, but now we have it on our own servers. You can view it at:
The 2nd news item is that the good folks at Mark Logic (primarily Jason Hunter) has setup a kick-ass mailing list archive for us at:
This is an easily searchable set of archives and goes all the way back to when our mailing list started back in March 2004. In the future, they hope to provide RSS/Atom feeds and allow posting (like Nabble does). I've added a link to these archives to the mailing list page.
The good folks at Atlassian have written a nice tutorial on integrating Crowd with AppFuse and Acegi to create a nice SSO solution. Crowd is a web-based single sign-on (SSO) tool that simplifies application provisioning and identity management. The AppFuse project uses it to maintain a single user store for JIRA, Confluence (this site), and Bamboo. It's worked awesome for us.
The AppFuse Team is pleased to announce the release of AppFuse 2.0.1. This release squashes a number of bugs and includes an upgrade to Spring 2.5. To learn more about Spring 2.5's features, see InfoQ's What's New in Spring 2.5: Part 1 article.
For information on upgrading from 2.0, see the 2.0.1 Release Notes or changelog. AppFuse 2.0.1 is available as a Maven archetype. For information on creating a new project using AppFuse, please see the QuickStart Guide or the Demos and Videos.
The 2.0 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've used AppFuse 1.x, but not 2.x, you'll want to read the FAQ. Join the user mailing list if you have any questions. The Maven Reference Guide has a map of Ant -> Maven commands. Maven for Newbies might also be useful if you've never used Maven before. There is some support for Ant in this release.
Thanks to everyone for their help contributing code, writing documentation, posting to the mailing lists, and logging issues.
We greatly appreciate the help from our sponsors, particularly Atlassian, Contegix, JetBrains, and Java.net. Atlassian and Contegix are especially awesome: Atlassian has donated licenses to all its products and Contegix has donated an entire server to the AppFuse project.
It's a good thing this project gets free bandwidth from Contegix! Looking at September's stats for static.appfuse.org (the site that hosts our Maven repo), we're averaging 2.15 GB per day. Thanks Contegix!

The AppFuse Team is pleased to announce the release of AppFuse 2.0!
The road to AppFuse 2.0 has been a long journey through Mavenland, annotations and generics. We're pleased to announce that we're finally finished after 13 months of development. Thanks to all the developers, contributors and users for helping test, polish and prove that AppFuse 2 is an excellent solution for developing Java-based applications. Your time, patience and usage of AppFuse has made it the strong foundation it is today.
This release contains a number of bug fixes for AMP, an upgrade to Tapestry 4.1.3, the addition of Tacos, support for Oracle and changes to prevent XSS attacks.
AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using AppFuse, please see the QuickStart Guide or the Demos and Videos.
If you've used AppFuse 1.x, but not 2.x, you'll want to read the FAQ. Join the user mailing list if you have any questions. The Maven Reference Guide has a map of Ant -> Maven commands. Maven for Newbies might also be useful if you've never used Maven before. There is some support for Ant in this release.
For more information, please see the 2.0 Release Notes. The 2.0 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+
New features in AppFuse 2.0 include:
- Maven 2 Integration
- Upgraded WebWork to Struts 2
- JDK 5, Annotations, JSP 2.0, Servlet 2.4
- JPA Support
- Generic CRUD backend
- Full Eclipse, IDEA and NetBeans support
- Fast startup and no deploy with Maven Jetty Plugin
- Testable on multiple appservers and databases with Cargo and profiles
We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues.
We also greatly appreciate the help from our sponsors, particularly Atlassian, Contegix, JetBrains, and Java.net. Atlassian and Contegix are especially awesome: Atlassian has donated licenses to all its products and Contegix has donated an entire server to the AppFuse project.
![]()
The AppFuse Team is pleased to announce the release of AppFuse 2.0 RC1!
This release marks a huge step in the march to releasing AppFuse 2.0. This release puts the finishing touches on the AppFuse Maven Plugin (AMP), which offers CRUD generation, as well as the ability to change AppFuse from "embedded mode" to "full source" (like 1.x). In addition, we've addressed over 100 issues in preparation for the final 2.0 release. We hope to fix any bugs related to this release and release 2.0 Final in the next week or two.
The videos still represent how M5 works, but things have been simplified (now you don't need to run appfuse:install after appfuse:gen).
AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using this release, please see the QuickStart Guide or the Hello World video.
If you've used AppFuse 1.x, but not 2.x, you'll want to read the FAQ. Join the user mailing list if you have any questions. The Maven Reference Guide has a map of Ant -> Maven commands. Maven for Newbies might also be useful if you've never used Maven before. There is some support for Ant in this release.
For more information, please see the 2.0 RC1 Release Notes. The 2.0 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+
We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues.
We also greatly appreciate the help from our sponsors, particularly Atlassian, Contegix, JetBrains, and Java.net. Atlassian and Contegix are especially awesome: Atlassian has donated licenses to all its products and Contegix has donated an entire server to the AppFuse project. Thanks guys - you rock!
Update: I've uploaded a 247-page PDF version of the RC1 documentation to java.net. This PDF contains the relevant pages from the wiki that help you develop with AppFuse 2.0.
AppFuse often gets compared to Ruby on Rails and Grails when folks are talking about full-stack productivity-enhancing frameworks. If you'd like to learn my opinion on this, please read AppFuse vs. Grails vs. Rails on my Raible Designs blog.
Contegix has been gracious enough to donate a server to the AppFuse project. Not only do we get a whole server to ourselves, but they're managing it and making sure it stays up all the time.
I've moved JIRA onto their servers, as well as Confluence. Confluence is at wiki.appfuse.org and as DNS entries begin to change, appfuse.org will switch to this server. apache.appfuse.org is the new "static" server and the DNS change has started for that as well. demo1.appfuse.org is the new location of demo.appfuse.org and DNS changes are pending.
If you have a moment, please play a bit with wiki.appfuse.org, apache.appfuse.org and demo1.appfuse.org to see if you see anything strange.
In addition to our normal services, we've also got received new licenses from Atlassian for Crowd (SSO) and Bamboo (Continuous Integration server). Since Atlassian's tools are built on a lot of the same software that AppFuse uses, I feel like we're somewhat eating our own dogfood.
We merged the accounts for JIRA and Confluence into Crowd. If you had accounts in both, JIRA won (as long as you had the same username, etc.).
The builds for AppFuse 2.x are still done by Hudson, but I hope to change this in the near future. If someone has time to fiddle with Bamboo in the next few days - let me know and I'll give you appropriate permissions.
Thanks Contegix - you guys rock!
It's been far too long since the release of AppFuse 2.0 M5. When we released that version, I fully expected to finish up RC1 a week or two later, and follow that with 2.0 Final a week later. Fast forward a month and a half, and there's still 38 issues left for 2.0 RC1. What happened?
Life got in the way.
There's probably less than 40 hours left to complete 2.0. I could say that I haven't had the time, but you all know that's a lie. Everyone has time. When someone says "I don't have time to do X right now", this really means "that's not on my priority list and I'm not going to make time to do it". So unfortunately AppFuse hasn't been on my priority list. Finding a new gig, vacationing with my family and buying a new mountain bike were on my priority list.
So if there's only 40 hours worth of work left, why didn't I just work a couple hours a day on it? Primarily because when I work on AppFuse it possesses me. I tend to get caught up in it and it's tough for me to concentrate on other things, especially work that I'm supposed to be doing during the day. Since I've had two new clients in the past few weeks, I've been aware of this and purposely stayed away from working on it.
The good news is things should settle down soon. I have a couple weekends on the horizon that look to be free, so hopefully I can crank it out and finish it up in the next month or so. As far as the project itself, there's plenty of users happily using the 2.0 milestone releases and there's still lots of traffic on the mailing list. It's crazy to think that the planning for AppFuse 2.0 started over a year ago and development started one year ago next month. If I knew it'd take this long, would I still have done it? Absolutely. I've never heard so many positive comments from users.
In other AppFuse News, Contegix has graciously donated an entire managed server to the project. We have licenses for the Atlassian Suite (JIRA, Confluence, Bamboo and Crowd) and will be moving/installing everything over the next week or so.
Thanks Contegix!
As anyone that uses them knows, they're simply the best hosting company in existence today. Their customer support and response time is incredible.
| This entry has been also been posted to my other blog. Please comment there if you have anything to add. |
![]()
The AppFuse Team is pleased to announce the release of AppFuse 2.0 M5!
This release marks a milestone in the features of AppFuse 2.x. This release adds CRUD code generation, full source support (just like 1.x) and XFire integration. In addition, we've fixed all the issues related to switching persistence frameworks, and you should now be able to easily switch from using Hibernate to iBATIS or JPA. The videos have been updated for M5. The Easy CRUD with Struts 2 video shows how code generation currently works.
AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using this release, please see the QuickStart Guide or the Hello World video.
If you've used AppFuse 1.x, but not 2.x, you'll want to read the FAQ. Join the user mailing list if you have any questions. The Maven Reference Guide has a map of Ant -> Maven commands. Maven for Newbies might also be useful if you've never used Maven before. There is some support for Ant in this release.
For more information, please see the 2.0 M5 Release Notes. If you'd like to use AppFuse offline, you may want to download the dependencies and extract them into your Maven ~/.m2/repository directory.
The 2.0 series of AppFuse has a minumum requirement of the following specification versions:
- Java Servlet 2.4 and JavaServer Pages (JSP) 2.0
- Java 5 for Development (Java 1.4 for deployment using the Retrotranslator Plugin)
We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues.