Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are four requirements: upgrade Struts, add JPA back-end, remove Hibernate-native back-end and require Java SE 5. Here are the details:

  • Introduce data-mapper based back-end with JPA implementation. Introduce a new back-end implementation based on a data mapper architecture, which is designed to support multiple back-end implementations, and a new Java Persistence Architecture (JPA) implementation of those interfaces. The JPA back-end exists and is passing 100% of our JUnit "business" tests.
  • Remove Hibernate-native back-end. Now that we have a JPA based back-end, we can drop our Hibernate-native support thereby removing any dependence on LGPL from Roller code. If folks want to continue using Hibernate, they can either stick with Roller 3.0 or use Hibernate's JPA API support.
  • Upgrade to Struts 2. The Roller UI needs significant improvement and modernization. It's clunky in places and does not meet the higher standards that are expected of "Web 2.0" web applications. We're tired of Struts 1.x and those of us who have looked at Struts 2 believe it's very good upgrade to Struts 1 and we're ready to make the move. We can add Struts 2 support to Roller, keep our existing Struts 1.x code in place and migrate portions of the UI as needed (this proposal does not yet include any UI rewrites, just the addition of Struts 2). Upgrading to Struts 2 does not preclude use of JSF in Roller because it's possible to use JSF pages and components in a Struts 2 application.
  • Introduce data-mapper based back-end with JPA implementation. Introduce a new back-end implementation based on a data mapper architecture, which is designed to support multiple back-end implementations, and a new Java Persistence Architecture (JPA) implementation of those interfaces. The JPA back-end exists and is passing 100% of our JUnit "business" tests.
  • Remove Hibernate-native back-end. Now that we have a JPA based back-end, we can drop our Hibernate-native support thereby removing any dependence on LGPL from Roller code. If folks want to continue using Hibernate, they can either stick with Roller 3.0 or use Hibernate's JPA API support.
  • Introduce requirement for Java SE 5. We've been stuck on Java 1.4.2 for a long time now, there are significant improvements in Java SE 5 and the libraries that we depend on are starting to take advantage of those improvements (i.e. Struts annotations and ROME

...