uPortal 3 Community Development Roadmap
Deprecated
This roadmap document no longer reflects an actual roadmap intended to be pursued by uPortal. See instead the page discussing community goals and objectives.
uPortal 3 Community Development Roadmap
This is a first draft of a JA-SIG community roadmap for the development of the uPortal 3 project. This roadmap is being published in order to foster discussion about what the complete functionality of uPortal 3 should be and in what order the remaining things should be developed. The intent is to discuss this roadmap at the Fall 2006 uPortal Developer meetings in Madison, Wisconsin.
This roadmap is currently divided into three timeframes with specific goals as follows:
Short Range - Provide an initial release of uPortal 3 that could be used in pilot projects and potentially in production deployments. This release will have the following critical restrictions: only supports Simple Layout Management (SLM), only supports the legacy uP2 rendering context, has minimal support for legacy IChannels, has no migration tools, and has a very basic set of available portlets. This release should be feature-complete and ready for QA testing before the December 2006 JA-SIG Conference in Atlanta.
Medium Range - Add in full support for Distributed Layout Management (DLM), complete the new uP3 rendering context that will include a full AJAX framework and drag-and-drop interaction, provide powerful layout customization capabilities, and generally focus on providing the best possible portal user experience. Deliver a complete set of migration tools for sites moving from uP2 to uP3. Add several new standard portlets. Provide support for optional portlet modes and window states from JSR-168. Build formal performance testing into the project.
Long Range - Implement new rendering contexts for Accessibility and for Mobile. Continue to add new standard portlets. Improve the user interfaces of the administrative tools. Create complete statistic recording / event tracking capabilities with a full reporting framework. Support running more than one organization in a single portal instance. Extend the administrative user interfaces to cover most functions and eliminate as much manual editing of configuration files as possible. Fully test and document clustered configurations.
Again, the reason for putting together this roadmap is to begin community discussion. Areas of discussion should include the following:
Are there things that are missing entirely from this roadmap? (Of course a great deal of work has already been completed on uPortal 3 and this roadmap is only covering work that still needs to be done - so if you think of something that's not on the list, it may already be done.)
Are there things that are in the wrong timeframe on this roadmap? What should be done sooner? What should be done later?
We should probably prioritize the work into a larger number of smaller releases rather than just the three general timeframes discussed here. How many releases should we schedule across? What items should go in each release?
Do the level-of-effort estimates included below seem reasonable? Which ones are too big or too small?
Timeframe Details
Development Estimates
The level-of-effort time estimates included here are in manhours and are only for the time to write automated unit tests and to develop the functionality. The estimates generally do not include time for the following: requirements, design, system testing, integration testing, user acceptance testing, performance testing, documentation, or project management. All these areas will also need to be addressed as the project continues to move forward.
Spreadsheet Attached
All of the detailed content below comes from an attached Excel spreadsheet. If you are going to make changes to the content below, please make it to the spreadsheet first.
Short Range Tasks
Area | Function | Existing JIRA Issue(s) | Best Case Estimate | Worst Case Estimate | Weighted Average | Web Dev | % | Java Dev | % | Status | Comments |
|---|---|---|---|---|---|---|---|---|---|---|---|
Known Bugs | Migrate remaining DDLs to Hibernate |
| 8.0 | 16.0 | 13.3 | 0.0 | 0% | 13.3 | 100% |
|
|
Known Bugs | Support Hibernate ID key generation with Oracle dialect | UPT-120 | 24.0 | 36.0 | 32.0 | 0.0 | 0% | 32.0 | 100% | completed |
|
Known Bugs | Rendering of all portlets fails if one application definition can't be loaded | UPT-122 | 8.0 | 16.0 | 13.3 | 0.0 | 0% | 13.3 | 100% | completed |
|
Known Bugs | Clear portlet domain object cache when portlet preferences are modified by portlet manager | UPT-110 | 4.0 | 8.0 | 6.7 | 0.0 | 0% | 6.7 | 100% | completed |
|
Known Bugs | Resolve outstanding bugs in integration of groups servant into the portlet manager for permission selection | UPT-154 | 4.0 | 8.0 | 6.7 | 0.0 | 0% | 6.7 | 100% | Completed | UPT-116 should be done first |
Known Bugs | Fix remaining Pluto test portlet failures | UPT-67 | 8.0 | 32.0 | 24.0 | 4.8 | 20% | 19.2 | 80% | completed |
|
Known Bugs | Publish valid portal layout DTDs on www.ja-sig.org - This is a transitional layout DTD, for uP2 backwards compatibility | UPT-168 | 2.0 | 4.0 | 3.3 | 1.7 | 50% | 1.7 | 50% | complete |
|
Known Bugs | Simultaneous requests for the same user session fail. This hasn't been replicated, but requires more testing, since it's a potentially serious bug | UPT-113 | 8.0 | 24.0 | 18.7 | 0.0 | 0% | 18.7 | 100% | completed |
|
Known Bugs | Fix PortletInfo persistence problems | UPT-109 | 8.0 | 16.0 | 13.3 | 0.0 | 0% | 13.3 | 100% | completed |
|
Misc Minor Features | Implement default rendering context selection | UPT-114 | 4.0 | 8.0 | 6.7 | 1.7 | 25% | 5.0 | 75% | completed |
|
Misc Minor Features | Add foreign key constraints for portlet object IDs in hibernate | UPT-99 | 4.0 | 8.0 | 6.7 | 0.0 | 0% | 6.7 | 100% | Completed |
|
Misc Minor Features | Better organize existing spring configurations. This involves rearrangement of scoped beans, config file names, conventions, etc. | UPT-153 | 24.0 | 40.0 | 34.7 | 0.0 | 0% | 34.7 | 100% | Completed |
|
Misc Minor Features | Replace CommonUtils with Jakartas' CommonLang methods | UPT-159 | 6.0 | 8.0 | 7.3 | 0.0 | 0% | 7.3 | 100% |
|
|
Misc Minor Features | Add authorization checks for portlet subscription and rendering | UPT-170 | 16.0 | 32.0 | 26.7 | 0.0 | 0% | 26.7 | 100% |
|
|
Technical Refactoring | Conversion remaining administrative portlets to Spring Portlet MVC | UPT-103, UPT-152 | 48.0 | 80.0 | 69.3 | 17.3 | 25% | 52.0 | 75% |
|
|
Technical Refactoring | Remove window attributes & servant-specific URL constructors | UPT-116 | 32.0 | 64.0 | 53.3 | 0.0 | 0% | 53.3 | 100% | completed |
|
Technical Refactoring | WSRP DAO migration to Hibernate |
| 60.0 | 80.0 | 73.3 | 0.0 | 0% | 73.3 | 100% |
|
|
Technical Refactoring | Review/revise/extend automated unit tests |
| 40.0 | 60.0 | 53.3 | 0.0 | 0% | 53.3 | 100% |
|
|
Generic Portlets | Simple Inline Frame support | UPT-205 | 1.0 | 2.0 | 1.7 | 0.3 | 20% | 1.3 | 80% | Completed | Trivial to implement if not already present. |
Generic Portlets | RSS Portlet | UPT-212 | 16.0 | 40.0 | 32.0 | 6.4 | 20% | 25.6 | 80% | Complete | Implemented as a specific XSLT usage as in uPortal 2 - time is for completing and testing the full functionality |
Groups and Permissions | Complete initial release of GAP module |
| 40.0 | 80.0 | 66.7 | 0.0 | 0% | 66.7 | 100% | completed |
|
Groups and Permissions | Complete integration of GAP into uP3 |
| 8.0 | 24.0 | 18.7 | 0.0 | 0% | 18.7 | 100% | completed |
|
Groups and Permissions | Ensure PAGS capability from uP2 exists in uP3 |
| 16.0 | 40.0 | 32.0 | 0.0 | 0% | 32.0 | 100% |
|
|
Group Manager | Administratively add, edit, delete groups |
| 4.0 | 20.0 | 14.7 | 2.9 | 20% | 11.7 | 80% | Completed | Part of group manager. Needs to be tested |
Group Manager | Manage membership of local groups |
| 4.0 | 20.0 | 14.7 | 2.9 |