appfuse 1.6 发布

Posted on 2004-10-20 17:26  数码民工  阅读(662)  评论(0编辑  收藏  举报

Here's a specific rundown of all the changes from the changelog:

  • Integrated WebWork as a web framework choice. To install WebWork (replacing Struts) in a fresh AppFuse project, simply run "ant install-webwork". Read about my experience migrating from Struts to WebWork.
  • Refactored to use SiteMesh instead of Tiles. Proposal and feedback at: http://raibledesigns.com/page/rd?anchor=should_i_ditch_tiles_in. Here's a good article on SiteMesh if you're not familiar with this killer tool. I also documented my experience with removing Tiles and adding SiteMesh.
  • Re-worked User and Roles relationship to take advantage of Hibernate more. Thanks to Daniel Kibler for the patch.
  • Removed UserFormEx and replaced with ability to "merge" methods into an ActionForm using XDoclet. See metadata/web for xdoclet-UserForm.java which now contains methods merged into the generated UserForm.java.
  • Modified struts_form.xdt to support nested objects. Moved address information from org.appfuse.model.User to org.appfuse.model.Address to and created NestedFormTest to verify it works. This template will pick up any nested object validations rules.
  • Changed "org.appfuse.persistence" package name to "org.appfuse.dao". Moved "*ManagerImpl" classes to "service.impl" package.
  • Changed stylesheet colors for Spring MVC option to be green instead of red - allowing you to easily tell which web framework is being used. WebWork uses blue.
  • Refactored logging so Base classes contain a "log" variable that children don't need to override. Read more about this decision on my blog.
  • Refactored toString(), equals() and hashCode() methods in BaseObject to be abstract so child classes have to implement custom methods [bug]. Commonclipse (http://commonclipse.sf.net) is a great tool to generate the methods for you.
  • Added Cargo to simplify starting and stopping Tomcat before running Canoo WebTests. Unfortunately, the 0.2 release doesn't work with Tomcat 5.5.x.
  • Refactored all web frameworks to allow for testing out-of-container. This means that "test-web" will now work w/o Cactus or the container running. Learn more.
  • Removed MainMenuTest, which was a demonstration of how to write tests using HttpUnit. This test caused more problems than it solved.
  • Changed target names in build.xml: define-tasks -> init, init -> prepare. Reworked build.xml so XDoclet tasks don't execute when they don't need to.
  • Added translations for French and Spanish.
  • Added PasswordHintTest for those controllers and actions that implement this feature.
  • Added SimpleMappingExceptionResolver for Spring version to catch DataAccessExceptions and forward the user to dataAccessFailure.jsp. Added this same functionality to the WebWork version.
  • Added message to the ReloadAction so users will see a message when reloading options. Message is currently hard-coded to English Spring ReloadController.
  • Removed proprietary State and Country Tags. Implemented custom CountryTag (thanks Jens Fischer) and made state into a text box since not all countries have "states".
  • Reworked mail support to use Spring's MailSender and changed account information e-mail (for Spring and WebWork options) to use a Velocity template. This was partially motivated by all the questions I get on Sending Velocity-based E-Mail with Spring.
  • Consolidated all mail settings to mail.properties (in web/WEB-INF/classes).
  • Added support for detecting and configuring Tomcat 5.5.x.
  • Renamed "Secure" tag library to "SecureTag" for consistency.
  • Added field-level errors (using html:errors) to Struts JSPs and viewgen for Struts.
  • Changed column names in User object from camelCase to normal database_names.
  • Added fallback locale of 'en' in metadata/web/web-settings.xml in case no bundle is found for the browser's preferred locale.
  • Added native2ascii task in copy-resources to encoded to ascii with unicode escapes.
  • Added Dumbster (a fake SMTP server) to catch and verify e-mail messages sent during test execution.
  • Changed parameter key for indicating methods in Struts Actions from "action" to "method" in order to alleviate conflicts with the "action" attribute in an HTML form.
  • Changed name of generated WAR file to *not* include the version number. Having the version number as part of the name seemed to cause more problems than it solved.
  • Added forkmode="true" to junit task in "test-module" target - greatly increasing the speed of test execution, particularly on my PowerBook.
  • Dependent packages upgraded:
    • DbUnit 2.1
    • Display Tag 1.0 RC1
    • Hibernate 2.1.6
    • iBATIS 2.0.7
    • JSTL 1.0.6
    • MySQL JDBC Driver 3.0.14
    • Spring 1.1.1
    • Struts 1.2.4
    • Struts Menu 2.3
    • Struts TestCase 2.1.2
    • WebTest build474
    • XDoclet 1.2.2 RC1
      • WARNING: Running "ant setup test-all" will result in the error: "destDir attribute must be present." Running "ant setup" and then "ant test-all" is an easy workaround. I've entered a bug in XDoclet's JIRA, but haven't been able to figure out a solution yet.
  • Dependent packages added:
    • Cargo 0.2 - A set of Ant tasks for starting and stopping Java containers.
    • Dumbster 1.2 - A fake SMTP server used to catch and verify messages in unit tests.
    • SiteMesh 2.2 - A page-decoration package that will work across different web frameworks.
    • URL Rewrite Filter 1.2 - Added and included in WAR, but disabled by default. See web/WEB-INF/urlrewrite.xml for more information.
  • Dependent packages removed:
    • State Tag and Country Tag - required a $75 license for production use.
    • Cactus - no longer needed as all tests can be run out-of-container and Cargo can be used to start Tomcat for in-container (JSP) tests.

Copyright © 2024 数码民工
Powered by .NET 9.0 on Kubernetes