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 Major 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 5modernize 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 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 looked at Toplink Essentials and Apache OpenJPA. Apache OpenJPA looks best and it currently the default in the Roller trunk.
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_ThemeEncapsulation - Better encapsulation and modularization for themes.
- 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 Stylesheet Overrides for Weblogs - a way to allow weblogs to do stylesheet customizations without having to customize their theme and hack the templates
- Struts 2 migration - We have completely migrated to Struts2.
- New JPA based backend - OpenJPA backend is now the default, Hibernate still present until JPA is tested sufficiently
Accepted and under development
- Proposal Easy Install - Make the Roller installation process simple by requiring only a single simple property file for configuration and by automating creation and update of database tables required for Roller. Almost complete: auto-create and update work remains to be done.
Under consideration
- Possible Dependency Injection / boot-stapping proposal - Dave did a Guice proof-of-concept and is planning another one. This may turn into a proposal for 4.0.
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
- ROL-1368 Ease of weblog customization: Style selection by theme(s)
- ROL-1366 Ease of weblog customization: custom bio blurp & thumbnail entry
- 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..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.