Status |
Proposal under development |
Target Release |
4.0 |
Original Authors |
Dave Johnson |
Abstract
Major release to modernize infrastructure with Java 5, JPA and Struts 2. Also includes new theme management and easy-install features.
Requirements
Upgrade dependencies, switch to new back-end, improve blog customization and introduce other new features.
- Introduce new ASF-license-compatible persistence framework. Replace our existing Hibernate based Roller back-end with one based on Apache OpenJPA. Drop Hibernate from the Roller distribution (but keep it in SVN until everybody has transitioned away from it).
- Upgrade to Struts 2. The Roller UI needs significant improvement and modernization and by upgrading to Struts 2 if will be easier for us to meet the higher standards that are expected of "Web 2.0" web applications.
- 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)
Design
- New JPA based backend follows same design as old Hibernate backend
- New Struts 2 UI architecture is summarize in Allen's Struts2 Migration guide
- See individual proposals for design information.
Proposals implemented
- Proposal_ThemeEncapsulation - Better encapsulation and modularization for themes.
- Proposal Individual Templates By Action Support a way to define individual or separate template files for various weblog page actions
- Proposal_TemplateEditorEnhancements - Improvements to usability and functionality of Preferences->Templates pages
- Proposal Stylesheet Overrides for Weblogs - a way to allow weblogs to do stylesheet customizations without having to customize their theme and hack the templates
- Proposal Easy Install - Making it really easy to install Roller, targets 4.0
- Proposal_FeedHistory - Add Atom-friendly feed-history (paging) support to our feeds.
- Proposal_SearchFeeds - Add support to generate feeds from search results.
- Proposal Account Activation via Email - Add support for registration via email (patch from Sedat Çiftçi)
- Proposal Introduce DI with Guice - Use Guice to implement Dependency Injection (DI) in Roller to make the back-end more modular, flexible and testable.
Comments
Please comment on the Roller-dev mailing list.