Raible's Wiki

Raible Designs
Wiki Home
Recent Changes


  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in

Referenced by

JSPWiki v2.2.33


Hide Menu


Difference between version 36 and version 35:

At line 5 changed 3 lines.
<span>appfuse 1.2 &nbsp;
<a href="http://tinyurl.com/2ymhm" title="download now"><img src="images/download.gif" alt="download" /></a> &nbsp;
<a href="https://sourceforge.net/project/shownotes.php?release_id=205161" title="view release notes"><img src="images/notes.gif" alt="release notes" /></a></span>
<span>appfuse 1.3 &nbsp;
<a href="http://sourceforge.net/project/showfiles.php?group_id=49385&amp;package_id=78758&amp;release_id=210456" title="download now"><img src="images/download.gif" alt="download" /></a> &nbsp;
<a href="http://sourceforge.net/project/shownotes.php?release_id=210456" title="view release notes"><img src="images/notes.gif" alt="release notes" /></a></span>
At line 33 added 35 lines.
<p class="news"><a name="2004.01.16" id="2003.01.16"></a>AppFuse 1.3 Released! (January 16, 2004)</p>
This release fixes a few compatibility issues with Resin and other databases - specifically PostgreSQL and DB2. The major new functionality in this release is __Easy Database Switching__. Basically, you can very easily switch from using MySQL to PostgreSQL by only changing a few properties in your build.properties. I implemented this on my current project last week because I do most of my development (at the client) on a PowerBook. The client wants to deploy onto a DB2 database - and there is not DB2 install for the Mac. Since [Hibernate|http://hibernate.org] allows you to easily switch between databases, I figured I could develop using MySQL on the Mac, but have the default (CVS version) use DB2. One of the things I didn't want to do was to have a build.properties.sample, because I love projects that "just work" when you type "ant". So I changed the the build process so that database.properties is generated from default settings (MySQL) or the settings in build.properties (if specified). As part of the build process, Ant looks for the following build.properties files:
* ${user.home}/.${ant.project.name}-build.properties
* ${user.home}/.build.properties
* build.properties
What this allows you to do is to take your customized database settings and put them in ~/.build.properties and they'll be applied to any AppFuse-derived project. This makes it easy to keep the CVS version of your project tied to one database and a developer's local version tied to a different database.
Slick stuff IMO. Here's a specific rundown of all the changes from the changelog.
* Many changes to database settings so that database.properties is generated at run-time from properties in build.properties (defaults to MySQL). This makes it easy for users to run a MySQL database in development and have a DB2 database (or any other) in production. Just customize your database settings and put them in ~/.build.properties or ~/.appname- build.properties and these settings will be used instead of the default.
** As part of this process, I tested AppFuse on DB2 8.1 (on Windows) and PostgreSQL 7.4 (on OS X).
** Testing on other servers caused me to change from generator-class="native" to generator-class="increment" - which still works fine on MySQL.
** I also changed tomcat-context.xml to dynamically substitute database properties and defaultAutoCommit is now "true" by default.
* Added error pages for 404 (page not found) and 403 (access denied), both with pretty pictures. ;0) Protected /editUser.do for admin role only.
* Moved filter-mappings from Filter's JavaDocs (XDoclet) to metadata/web/filter-mappings.xml in order to control the order of execution.
* Made RememberMe feature configurable via a "rememberMe.enabled" property in app-settings.xml. ''This won't kick on Resin until the filter is invoked at least once. Tomcat initializes filters on startup.''
* Upgraded oscache.jar in Hibernate 2.1.1 to OSCache 2.0.1 and configured OSCache to cache JSP changes. Also modified the oscache-2.0.1.jar to have a URI for the tag library. Turned off caching of JSP pages - to enable, uncomment filter-mapping in metadata/web/filter-mappings.xml.
* Made changes to be Resin 3.0.4 friendly. [Read More...|AppFuseOnResin]
* Refactored BaseDaoHibernate to consolidate retrieveObject and removeObject methods. Also changed saveObject to do ses.saveOrUpdate and removed storeObject method.
* Replaced CompressionFilter with [http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html|GZipFilter that works on Resin].
* Added print stylesheet support. ''Thanks to Bear Giles for the suggestion.''
* Added [Clickstream|http://www.opensymphony.com/clickstream] and menu/JSPs to view user paths.
* Dependent packages upgraded:
** XDoclet 1.2.0
** Cactus 1.6 Nightly (20030116) to support "cactus" task for supporting a "contextxml" attribute for testing in Tomcat.
<p class="links">
<a class="external" href="http://sourceforge.net/project/showfiles.php?group_id=49385&amp;package_id=78758&amp;release_id=210456">Download</a> (~12.1 MB for src, ~4.3 MB for bin) or <a href="http://sourceforge.net/project/shownotes.php?release_id=210456">View Release Notes</a>.
''For more information on AppFuse, check out the [AppFuse Wiki Page|AppFuse] or [FAQ|AppFuseSupport].''

Back to Downloads, or to the Page History.