You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Status

Proposal under development

Target Release

4.0

Original Authors

Dave Johnson

Abstract

This is a proposal to make a Roller 4.0 release, a major new release to introduce some infrastructure improvements and upgrades that we've been wanting to make for a long time. This includes a new data-mappper back-end with a JPA implementation, Struts 2 support and a requirement for Java SE 5.

Requirements

Upgrade dependencies, switch to new back-end, improve blog customization and introduce other new features.

  • 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. But we don't want to do additional UI work with Struts 1.x. We're tired of Struts 1.x pain and those of us who have looked at Struts 2 believe it's very good upgrade and are 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 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)

Issues

Issues to be considered

  • Which JPA implementation should we ship with Roller 4.0? We have both Toplink Essentials and OpenJPA versions working and passing 100% of tests in branches/roller_4.0_newbackend.

Design

Not much design work to do. We simply promote the JPA back-end from the sandbox, add Struts 2 to the mix, change the build script to require Java SE 5 for release build and test like crazy.

Proposals

Accepted not implemented

Accepted and implemented

Under consideration

Change list from JIRA

Completed

  • ROL-1371 Bad links in site-wide comment links
  • ROL-1365 Filter by Search String on the Entries page
  • ROL-1360 Notify email value $cform.notify is always false
  • ROL-1120 email.comment.commentApproved not found in ApplicationResources.properties
  • ROL-1053 Missing resource for email.comment.commentApproved
  • ROL-1359 a small bug about bookmarks
  • ROL-940 Minor typos in ApplicationResources
  • ROL-1380 Rename Atom Admin Publishing Protocol

Incomplete

  • ROL-1367 Ease of weblog customization: Ability to add widgets via the UI
  • ROL-1368 Ease of weblog customization: Style selection by theme(s)
  • ROL-1366 Ease of weblog customization: custom bio blurp & thumbnail entry
  • ROL-1369 Improve comment messages that render to users
  • ROL-1222 Improve theme support
  • ROL-1310 Individual templates by action (feeds, tags, archive, etc.)
  • ROL-1323 Remove 'Referrers' tab for sites that don't use this functionality
  • ROL-1378 Upgrade to Apache Velocity 1.5
  • ROL-1379 Upgrade to Apache XMLRPC 3.0
  • ROL-1350 Refine trackback message...
  • ROL-548 Bookmark display macro not obeying sort order

Comments

Please comment on the Roller-dev mailing list.

  • No labels