Please see the Upgrade Guide below or the QuickStart Guide to get started with this release. We were hoping to get AMP's code generation and XFire integrated in this release. While we're still working on those features, there were already quite a few improvements over M3, so we decided to release early.
We hope to have both AMP and XFire integration completed for 2.0 M5.
A new feature in this release is Database Profiles. It should now be much easier to switch from MySQL to Derby (in networked mode), H2, HSQLDB, Oracle, PostgreSQL or SQL Server.
This release should run fine on Tomcat 6, but you may have to make some changes if you're using JSF.
New projects contain a profile for JBoss 4.0.5, but not for other servers that AppFuse is known to run on. The reason for this is because Cargo doesn't support the latest versions of these servers.
Upgrade Guide
If you're currently using AppFuse 2.0 M3, here's a few things you'll need to change to upgrade to 2.0 M4.
| Diff is your friend The easiest way to make the changes below might be to compare your pom.xml, web.xml and web-tests.xml with the ones from a new archetype. Beyond Compare is a fabulous diff tool for Windows users. |
- Backup your project on your local file system or (even better) in your source control system.
- In pom.xml, change <appfuse.version>2.0-m3</appfuse.version> to <appfuse.version>2.0-m4</appfuse.version>.
- Maven's war overlay feature is based on timestamps. If you've overridden AppFuse files in your project, you'll need to "touch" them in order to give them a newer timestamp. Here's a sample of what you might run:
touch src/main/webapp/* touch src/main/webapp/scripts/* touch src/main/webapp/WEB-INF/* touch src/main/webapp/WEB-INF/pages/*
Another, more permanent, solution is to use <dependentWarExcludes> to prevent the files from being overlayed.
- If you registered a HibernateExtensionPostProcessor bean in your applicationContext.xml, you can remove it. This is no longer needed.
- Add a "copyright.year" to your ApplicationResources.properties file (diff).
- If you're using a local copy of cssHorizontalMenu.vm, you should grab the latest one from Subversion.
- Update your hibernate3-maven-plugin in your pom.xml so it has <drop>true</drop> under <componentProperties>(diff). You might as well update the version to 2.0-alpha-1 while you're there, unless you encounter APF-683.
- At the bottom of your pom.xml, change the <cargo.container.url> property to use "archive.apache.org" instead of "apache.org".
- Change the Cargo Plugin to be <version>0.3</version> in your pom.xml.
- If you're using MySQL, update the <jdbc.version> to be "5.0.5" in your pom.xml.
- After upgrading to EhCache 1.3.0-beta, the GZipFilter can now be re-enabled. Simply uncomment its filter-mapping in your web.xml.
- If you need the ability to serve up static HTML files (i.e. from Dojo), you'll need to configure your web.xml to use the new StaticFilter.
- If you have any issues with i18n, we recommend you create a new project from a 2.0-m4 archetype and copy src/main/resources/ApplicationResources*.properties into your project. If you have a modular project, these are in the "web" module.
- Change <spring.version> to "2.0.3" if you have it specified in your pom.xml.
- Struts: Update your defaultStack in struts.xml to match example in struts-default.xml.
- Struts: Struts 2's Zero Configuration feature is on by default. Follow these instructions if you'd like to configure it in your application.
- JSF: If you don't want people viewing your Facelets templates, you'll need to add a <security-constraint> to your web.xml.
- JSF: Change <myfaces.version> to "1.1.5" if you have it specified in your pom.xml.