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 |
20% |
11.7 |
80% |
Completed |
Part of group manager. Needs to be tested |
Group Manager |
Add a group member after finding him, her, or it via search |
|
4.0 |
20.0 |
14.7 |
2.9 |
20% |
11.7 |
80% |
Completed |
Part of group manager. Needs to be tested |
Group Manager |
Delegate permissions over management of local groups |
|
4.0 |
20.0 |
14.7 |
2.9 |
20% |
11.7 |
80% |
completed |
Need permission portlet first |
Group Manager |
Manage channel categories via groups management |
|
4.0 |
20.0 |
14.7 |
2.9 |
20% |
11.7 |
80% |
Completed |
|
Group Manager |
Configure permissions on particular groups |
|
4.0 |
20.0 |
14.7 |
2.9 |
20% |
11.7 |
80% |
Completed |
Need permission portlet first |
Permission Manager |
Configure permission for deleting a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission for renaming a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission for viewing a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission for managing membership of a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission to assign permissions on a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission to select a particular group |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission to create a group in a particular context |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission for Portlet Publication |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Permission Manager |
Configure permission for Portal Subscription |
UPT-118 |
8.0 |
24.0 |
18.7 |
9.3 |
50% |
9.3 |
50% |
Completed |
Assumes that most of these are done together |
Portlet Manager |
Ability to restrict access to Portlet Manager |
|
4.0 |
8.0 |
6.7 |
0.0 |
0% |
6.7 |
100% |
Completed |
Depends on finish the permissions manager for full functionality |
Portlet Manager |
Assign a published portlet to a category |
|
2.0 |
4.0 |
3.3 |
1.7 |
50% |
1.7 |
50% |
Completed |
Current subscription portlet displays all available portlets and does not categorize. |
Portlet Manager |
Assign a published portlet to groups allowed to subscribe to / render it |
|
2.0 |
4.0 |
3.3 |
1.7 |
50% |
1.7 |
50% |
Completed |
Current subscription portlet displays all available portlets and makes all portlets available for subscription. |
Portlet Manager |
Set available portlet controls |
|
24.0 |
32.0 |
29.3 |
5.9 |
20% |
23.5 |
80% |
Planned |
Portlet manager has a screen for that, but it's not functional yet. |
Portlet Manager |
Setting portlet rendering attributes |
|
8.0 |
16.0 |
13.3 |
0.0 |
0% |
13.3 |
100% |
|
|
Internationalization |
Localization of Portal Framework |
|
80.0 |
160.0 |
133.3 |
66.7 |
50% |
66.7 |
50% |
|
Unsure about xslt mechanism - needs research |
Misc uP2 Features |
Layout control for non-authenticated view (i.e. guest user) |
|
8.0 |
16.0 |
13.3 |
3.3 |
25% |
10.0 |
75% |
Complete/Bugfix |
Logging in as guest is currently broken |
Misc uP2 Features |
Create theme and skin for the uP2 Context |
|
80.0 |
160.0 |
133.3 |
133.3 |
100% |
0.0 |
0% |
Completed |
|
uP3 Context |
Design theme (interaction and visual design) - Initial Draft |
|
100.0 |
200.0 |
166.7 |
166.7 |
100% |
0.0 |
0% |
Completed |
Includes design for line items 11-14, layout, customization, views, et al. Leverage/Collaboration with Collier Work |
uP3 Context |
Design skin (visual design) - Initial Draft |
|
20.0 |
40.0 |
33.3 |
33.3 |
100% |
0.0 |
0% |
Completed |
Includes design for line items 11-14, layout, customization, views, et al. Leverage/Collaboration with Collier Work |
URLs |
Portal-level navigation back button support (tab/subtab/focused) |
UPT-49 |
2.0 |
4.0 |
3.3 |
0.0 |
0% |
3.3 |
100% |
Completed |
Needs to be completely tested and verified |
User Preferences |
Subscribe to a portlet, navigating through a category tree or search |
|
120.0 |
200.0 |
173.3 |
138.7 |
80% |
34.7 |
20% |
Completed |
|
Clustering Support |
Serializable Session |
UPT-57 |
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Documentation |
Author comprehensive release notes for first release |
|
40.0 |
40.0 |
40.0 |
10.0 |
25% |
30.0 |
75% |
|
|
|
Best Case Estimate |
Worst Case Estimate |
Weighted Average |
Web Dev |
% |
Java Dev |
% |
---|---|---|---|---|---|---|---|
Short Range Totals |
707.0 |
1,486.0 |
1,226.3 |
669.5 |
55% |
556.8 |
45% |
Medium Range Tasks
Area |
Function |
Existing JIRA Issue(s) |
Best Case Estimate |
Worst Case Estimate |
Weighted Average |
Web Dev |
% |
Java Dev |
% |
Status |
Comments |
---|---|---|---|---|---|---|---|---|---|---|---|
DLM |
Persistence Layer |
|
120.0 |
240.0 |
200.0 |
0.0 |
0% |
200.0 |
100% |
|
Taken from Peter's uP3 DLM Write Up |
DLM |
Adjust layout assembly logic to portlets |
|
24.0 |
40.0 |
34.7 |
0.0 |
0% |
34.7 |
100% |
|
|
DLM |
Evaluator classes |
|
24.0 |
32.0 |
29.3 |
0.0 |
0% |
29.3 |
100% |
|
|
DLM |
Layout format and terminology |
|
16.0 |
20.0 |
18.7 |
0.0 |
0% |
18.7 |
100% |
|
|
DLM |
Use uP3 rendering attributes |
|
24.0 |
40.0 |
34.7 |
0.0 |
0% |
34.7 |
100% |
|
|
DLM |
Normalize the uP3 Layout Manager interface |
|
16.0 |
16.0 |
16.0 |
0.0 |
0% |
16.0 |
100% |
|
|
DLM |
Refactor DLM parameter processors and SAX processors |
|
16.0 |
24.0 |
21.3 |
0.0 |
0% |
21.3 |
100% |
|
|
DLM |
URL generation and processing |
|
16.0 |
24.0 |
21.3 |
0.0 |
0% |
21.3 |
100% |
|
|
DLM |
User Interface for defining fragment content |
|
80.0 |
160.0 |
133.3 |
120.0 |
90% |
13.3 |
10% |
|
|
DLM |
User Interface for fragment management (creating, deleting, and defining audiences) |
|
120.0 |
240.0 |
200.0 |
180.0 |
90% |
20.0 |
10% |
|
|
DLM |
File based layout import tool |
|
24.0 |
56.0 |
45.3 |
22.7 |
50% |
22.7 |
50% |
|
|
Generic Portlets |
WSRP consumer & producer support |
|
40.0 |
80.0 |
66.7 |
13.3 |
20% |
53.3 |
80% |
|
Relying on wsrp4j library at this point - mostly needs testing/fixing |
Generic Portlets |
WebProxy Portlet (based on UW solution) |
|
40.0 |
80.0 |
66.7 |
13.3 |
20% |
53.3 |
80% |
|
UW-Wisc has an excellent web proxy portlet that needs to be made workable for generic uP2 / uP3 but need to estimate time to remove UW specific code and package for inclusion in the "vanilla" uP3 installation. CWebProxy provides a specific remoting API that needs an upgrade path in uPortal 3. |
Generic Portlets |
Web "Clipping" Portlet |
|
16.0 |
32.0 |
26.7 |
2.7 |
10% |
24.0 |
90% |
|
Possible alternative to WebProxy Portlet |
Generic Portlets |
End user configurability of RSS and WebProxy portlets |
|
80.0 |
320.0 |
240.0 |
72.0 |
30% |
168.0 |
70% |
|
Make the RSS & WebProxy portlets allow users to select source of content - needs so additional security checks around size, etc. |
Groups and Permissions |
Reimplement LDAP Group Store implementation |
|
60.0 |
120.0 |
100.0 |
0.0 |
0% |
100.0 |
100% |
|
|
Internationalization |
Timezone support |
|
80.0 |
120.0 |
106.7 |
21.3 |
20% |
85.3 |
80% |
|
includes portlets accessing this data |
Internationalization |
Selection of themes/skins based on locale |
|
40.0 |
80.0 |
66.7 |
13.3 |
20% |
53.3 |
80% |
|
Includes as part of profiles in section 3 |
JSR-168 Extensions |
Implement some set of optional Portlet Modes |
|
120.0 |
160.0 |
146.7 |
88.0 |
60% |
58.7 |
40% |
|
JSR-168, JSR-286, "About", "Config", "Edit_Defaults", "Preview", "Print" |
JSR-168 Extensions |
Implement some set of optional Window States |
|
80.0 |
120.0 |
106.7 |
64.0 |
60% |
42.7 |
40% |
|
JSR-168, JSR-286, "Detached", "Exclusive", "Super-Maximized", "No Chrome", "No Nothin" - Should decide on these prior to building the theme |
Layout Customization |
Easily configured User welcome/identification |
|
24.0 |
32.0 |
29.3 |
20.5 |
70% |
8.8 |
30% |
|
|
Layout Customization |
Easily configured allowing/locking down user customization |
|
24.0 |
32.0 |
29.3 |
20.5 |
70% |
8.8 |
30% |
|
|
Layout Customization |
Easily configured Portal framework links (help, configuration, etc.) |
|
16.0 |
24.0 |
21.3 |
14.9 |
70% |
6.4 |
30% |
|
|
Layout Customization |
Easily configured Quicklinks (persistent navigation to high profile content) |
|
24.0 |
32.0 |
29.3 |
20.5 |
70% |
8.8 |
30% |
|
|
Layout Customization |
Easily configured Link lists (header and footer) |
|
40.0 |
80.0 |
66.7 |
46.7 |
70% |
20.0 |
30% |
|
Maybe a full-blown header/footer portlet that can be customized |
Layout Customization |
Easily configured Legal and copyright information |
|
8.0 |
16.0 |
13.3 |
9.3 |
70% |
4.0 |
30% |
|
|
Layout Customization |
Easily configured localization strings (i.e. in the labels is it 'preferences', 'customize', or 'settings'?) |
|
80.0 |
120.0 |
106.7 |
53.3 |
50% |
53.3 |
50% |
|
Assumes localization support - this is a UI for overriding the specific messages |
Layout Customization |
Customization state is always on |
|
8.0 |
12.0 |
10.7 |
7.5 |
70% |
3.2 |
30% |
|
general part of theme, etc. - no specific time required |
Layout Customization |
Customized visual presentation of individual portlets |
|
24.0 |
32.0 |
29.3 |
20.5 |
70% |
8.8 |
30% |
|
|
Layout Customization |
Layout presentation needs to be abstracted from a tab-column perspective to a canonical grid perspective |
|
24.0 |
32.0 |
29.3 |
17.6 |
60% |
11.7 |
40% |
|
|
Layout Customization |
Out-of-the-box presentation needs to be demo-quality without modification |
|
80.0 |
160.0 |
133.3 |
66.7 |
50% |
66.7 |
50% |
|
better sample layouts, tabs, portlets, etc. - also need better "standard" portlets: bookmarks, webmail, google, etc. |
Layout Customization |
Provide user settings and first-time user setup |
|
60.0 |
200.0 |
153.3 |
76.7 |
50% |
76.7 |
50% |
|
|
Layout Customization |
Provide contextual help for users to acclimate to the portal environment and to access help when needed |
|
40.0 |
60.0 |
53.3 |
32.0 |
60% |
21.3 |
40% |
|
Start at the portal/framework level and see what can be done to make portlets behave similarly - will utilize the "user settings" solution |
Misc Minor Features |
Move to Spring session bean scoping |
UPT-151 |
24.0 |
40.0 |
34.7 |
0.0 |
0% |
34.7 |
100% |
|
|
Misc Minor Features |
Add EXCLUSIVE window state for download support |
UPT-55 |
16.0 |
24.0 |
21.3 |
4.3 |
20% |
17.1 |
80% |
|
|
Misc uP2 Features |
Sitemap feature |
|
24.0 |
40.0 |
34.7 |
27.7 |
80% |
6.9 |
20% |
Completed |
|
Misc uP2 Features |
Support uP2 CWebProxy API |
|
40.0 |
80.0 |
66.7 |
6.7 |
10% |
60.0 |
90% |
|
|
Performance Testing |
Select Performance Testing Framework |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Performance Testing |
Author Initial Performance Test Scripts |
|
80.0 |
160.0 |
133.3 |
26.7 |
20% |
106.7 |
80% |
|
|
Performance Testing |
Remediate Discovered Performance Issues |
|
120.0 |
160.0 |
146.7 |
29.3 |
20% |
117.3 |
80% |
|
Just a placeholder for initial time - needed time may vary widely |
Portlet Manager |
Put a polished workflow/interface into Portlet Manager |
|
120.0 |
240.0 |
200.0 |
180.0 |
90% |
20.0 |
10% |
|
|
uP2 to uP3 Migration Tools |
Migration tools for Users and Groups |
|
40.0 |
60.0 |
53.3 |
0.0 |
0% |
53.3 |
100% |
|
|
uP2 to uP3 Migration Tools |
Migration tools for Permissions |
|
40.0 |
60.0 |
53.3 |
0.0 |
0% |
53.3 |
100% |
|
|
uP2 to uP3 Migration Tools |
Migration tools for SLM |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
uP2 to uP3 Migration Tools |
Migration tools for DLM |
|
80.0 |
120.0 |
106.7 |
0.0 |
0% |
106.7 |
100% |
|
|
uP2 to uP3 Migration Tools |
Migration tools for Portlets/Channels |
|
120.0 |
200.0 |
173.3 |
0.0 |
0% |
173.3 |
100% |
|
Help migrate data for some specific channels that are now portlets (e.g. iFrame, GIF, XSLT, RSS, Web Proxy, Portlets, etc.) - not any user preferences |
uP2 to uP3 Migration Tools |
Mapping mechanism for uP2 channel IDs to uP3 portlet IDs |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
Needed before all the other ones |
uP3 Context |
Design theme (interaction and visual design) - Final Draft |
|
100.0 |
200.0 |
166.7 |
166.7 |
100% |
0.0 |
0% |
|
|
uP3 Context |
Develop theme (web development) |
|
80.0 |
120.0 |
106.7 |
106.7 |
100% |
0.0 |
0% |
|
Leverage/Collaboration with Collier Work |
uP3 Context |
Design skin (visual design) - Final Draft |
|
20.0 |
40.0 |
33.3 |
33.3 |
100% |
0.0 |
0% |
|
|
uP3 Context |
Develop skin (web development) |
|
16.0 |
80.0 |
58.7 |
58.7 |
100% |
0.0 |
0% |
|
Leverage/Collaboration with Collier Work |
uP3 Context |
Portlet/Theme Integration (i.e. insert portlet directly into theme, make portlet theme-aware) |
|
16.0 |
24.0 |
21.3 |
14.9 |
70% |
6.4 |
30% |
|
|
uP3 Context |
Drag & Drop - Adding objects to the layout (minimally portlets) |
|
80.0 |
160.0 |
133.3 |
106.7 |
80% |
26.7 |
20% |
|
Assumes an AJAX framework is in place (12.0) |
uP3 Context |
Drag & Drop - Rearranging layout objects (portlets, columns, tabs) |
|
80.0 |
240.0 |
186.7 |
149.3 |
80% |
37.3 |
20% |
|
Assumes an AJAX framework is in place (12.0) |
uP3 Context |
AJAX framework |
|
80.0 |
120.0 |
106.7 |
74.7 |
70% |
32.0 |
30% |
|
|
uP3 Context |
Support a hierarchy of organization greater than one level. Accommodate "tabs-within-tabs" |
|
40.0 |
80.0 |
66.7 |
46.7 |
70% |
20.0 |
30% |
|
|
uP3 Context |
Drag & Drop - Creating a hyperlink to a portlet (making a portlet a quicklink, for example) |
|
40.0 |
80.0 |
66.7 |
33.3 |
50% |
33.3 |
50% |
|
Assumes an AJAX framework is in place (12.0) |
uP3 Context |
Drag & Drop - Adding objects to a list of objects to be processed (probably in a portlet context) |
|
80.0 |
120.0 |
106.7 |
53.3 |
50% |
53.3 |
50% |
|
Assumes an AJAX framework is in place (12.0) |
URLs |
Research and documentation of deeper (i.e. portlet state) back button support issues |
UPT-49 |
80.0 |
160.0 |
133.3 |
66.7 |
50% |
66.7 |
50% |
|
|
URLs |
Make individual portlets bookmarkable and deep-linkable, even when they are not in they layout |
|
80.0 |
160.0 |
133.3 |
66.7 |
50% |
66.7 |
50% |
|
|
User Preferences |
Put a polished workflow/interface on the portlet subscription process |
|
120.0 |
200.0 |
173.3 |
156.0 |
90% |
17.3 |
10% |
Planned |
|
User Preferences |
Visual Profile interface for controlling all user preferences |
UPT-41, UPT-123 |
240.0 |
400.0 |
346.7 |
242.7 |
70% |
104.0 |
30% |
Planned |
Use of profiles to group sets of preferences in rendering pipeline, Ability to expose and select any available theme/structure/css, Multiple concurrently available skins, Multiple concurrently available themes |
User Preferences |
Choose language |
|
40.0 |
60.0 |
53.3 |
37.3 |
70% |
16.0 |
30% |
Partial |
Locale portlet is there (although could use some design improvements) and allows to choose preferred locale(s). However the rest of the framework does not abide by these preferences yet, so the language of the presentation doesn't change. |
|
Best Case Estimate |
Worst Case Estimate |
Weighted Average |
Web Dev |
% |
Java Dev |
% |
---|---|---|---|---|---|---|---|
Medium Range Totals |
3,504.0 |
6,504.0 |
5,504.0 |
2,705.7 |
49% |
2,798.3 |
51% |
Long Range Tasks
Area |
Function |
Existing JIRA Issue(s) |
Best Case Estimate |
Worst Case Estimate |
Weighted Average |
Web Dev |
% |
Java Dev |
% |
Status |
Comments |
---|---|---|---|---|---|---|---|---|---|---|---|
Accessibility |
Design Accessibility/ text-only theme (interaction and visual design) |
|
120.0 |
240.0 |
200.0 |
200.0 |
100% |
0.0 |
0% |
|
|
Accessibility |
Develop Accessibility/ text-only theme (Web development) |
|
80.0 |
160.0 |
133.3 |
133.3 |
100% |
0.0 |
0% |
|
Estimate and solution at this point covers the portal framework only - text-only versions of the portlets needs to be scoped separately |
Accessibility |
Design Accessibility skin (visual design) |
|
20.0 |
40.0 |
33.3 |
33.3 |
100% |
0.0 |
0% |
|
|
Accessibility |
Develop Accessibility skin (web development) |
|
20.0 |
80.0 |
60.0 |
60.0 |
100% |
0.0 |
0% |
|
|
Accessibility |
Access keys |
|
32.0 |
60.0 |
50.7 |
50.7 |
100% |
0.0 |
0% |
|
|
Accessibility |
Disability law compliance |
|
32.0 |
60.0 |
50.7 |
50.7 |
100% |
0.0 |
0% |
|
|
Accessibility |
WCAG 2.0 priority 1 compliance |
|
32.0 |
60.0 |
50.7 |
50.7 |
100% |
0.0 |
0% |
|
|
Accessibility |
Semantic Markup |
|
32.0 |
60.0 |
50.7 |
50.7 |
100% |
0.0 |
0% |
|
|
Accessibility |
Support a configurable serializer option - XHTML |
|
16.0 |
24.0 |
21.3 |
10.7 |
50% |
10.7 |
50% |
|
Will need to switch serializer based on profile |
Accessibility |
Third Party Accessibililty Certification |
|
80.0 |
120.0 |
106.7 |
106.7 |
100% |
0.0 |
0% |
|
|
Clustering Support |
Full testing of clustered configuration |
|
120.0 |
180.0 |
160.0 |
0.0 |
0% |
160.0 |
100% |
|
|
Clustering Support |
Documentation of clustering configuration |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Group Manager |
Put a polished workflow/interface on Group Manager |
|
120.0 |
240.0 |
200.0 |
180.0 |
90% |
20.0 |
10% |
|
|
Group Manager |
Ability to import a file of members into a uPortal group from XML or comma delimited file |
|
40.0 |
60.0 |
53.3 |
26.7 |
50% |
26.7 |
50% |
|
|
Groups and Permissions |
Administrative user interface for PAGS |
|
160.0 |
240.0 |
213.3 |
106.7 |
50% |
106.7 |
50% |
|
|
Internationalization |
Right-to-left version of standard theme/skin |
|
120.0 |
240.0 |
200.0 |
200.0 |
100% |
0.0 |
0% |
|
Depends on uP3 theme and skin work |
Misc Minor Features |
Expose portlet publishing interface as a web service for external management tools |
UPT-162 |
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Mobile Access |
New Context for Mobile |
|
8.0 |
24.0 |
18.7 |
18.7 |
100% |
0.0 |
0% |
|
Per Peter this does not have to be a new context, just a profile switch |
Mobile Access |
Theme Design |
|
4.0 |
8.0 |
6.7 |
6.7 |
100% |
0.0 |
0% |
|
|
Mobile Access |
Theme Development |
|
16.0 |
32.0 |
26.7 |
26.7 |
100% |
0.0 |
0% |
|
|
Mobile Access |
Skin Design |
|
4.0 |
8.0 |
6.7 |
6.7 |
100% |
0.0 |
0% |
|
|
Mobile Access |
Skin Development |
|
16.0 |
32.0 |
26.7 |
26.7 |
100% |
0.0 |
0% |
|
|
Mobile Access |
Specific dev in support of identified mobile devices and supported browsers |
|
16.0 |
32.0 |
26.7 |
26.7 |
100% |
0.0 |
0% |
|
|
Mobile Access |
Documentation for customizing/skinning the mobile theme |
|
8.0 |
16.0 |
13.3 |
13.3 |
100% |
0.0 |
0% |
|
|
Organization Hierarchy |
Support separate groups structures in a single uPortal instance |
|
160.0 |
320.0 |
266.7 |
0.0 |
0% |
266.7 |
100% |
|
May need multiple "root groups" - includes some planning and analysis, Must keep users of one group structure invisible to those in the other group structure |
Organization Hierarchy |
Enable support for separate branding-theme/skin for different organizations |
|
80.0 |
120.0 |
106.7 |
32.0 |
30% |
74.7 |
70% |
|
Group permissions applied to each theme and skin |
Permission Manager |
Put a polished workflow/interface on Permission Manager |
UPT-118 |
120.0 |
240.0 |
200.0 |
180.0 |
90% |
20.0 |
10% |
|
Assumes that most of these are done together |
Popular Channels |
Bookmarks portlet |
|
40.0 |
60.0 |
53.3 |
26.7 |
50% |
26.7 |
50% |
|
Can certainly get a decent one from somewhere else or build a really crappy one ourselves |
Popular Channels |
Columbia / USC Announcements channel |
|
160.0 |
320.0 |
266.7 |
133.3 |
50% |
133.3 |
50% |
|
Targeted groups and rich text editor |
Popular Channels |
Webmail channel |
|
480.0 |
960.0 |
800.0 |
480.0 |
60% |
320.0 |
40% |
|
Should research implementation from other portlets - could reduce effort to only 80-120 hours |
Popular Channels |
Google Search channel |
|
40.0 |
80.0 |
66.7 |
33.3 |
50% |
33.3 |
50% |
|
|
Popular Channels |
Blackboard SSO |
|
40.0 |
60.0 |
53.3 |
26.7 |
50% |
26.7 |
50% |
|
Assume we get some reuse from existing channels |
Popular Channels |
WebCT SSO |
|
40.0 |
60.0 |
53.3 |
26.7 |
50% |
26.7 |
50% |
|
Assume we get some reuse from existing channels |
Portlet Manager |
Enhanced UI for publishing legacy IChannels |
|
40.0 |
120.0 |
93.3 |
65.3 |
70% |
28.0 |
30% |
|
|
Portlet Manager |
CPD-like declarative portlet publishing workflow configuration ("PPD") |
|
40.0 |
120.0 |
93.3 |
56.0 |
60% |
37.3 |
40% |
|
|
Statistics Recording / Event Tracking |
Pluggable framework for events & stats creation & recording |
|
80.0 |
160.0 |
133.3 |
0.0 |
0% |
133.3 |
100% |
Planned |
|
Statistics Recording / Event Tracking |
Database stats recorder |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
Planned |
|
Statistics Recording / Event Tracking |
Increased tracking of events |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Statistics Recording / Event Tracking |
Ability for portlets to report events - could support learner event type tracking |
|
40.0 |
80.0 |
66.7 |
0.0 |
0% |
66.7 |
100% |
|
|
Statistics Recording / Event Tracking |
Administrative tools for clearing event logs or DB tables over time |
|
20.0 |
40.0 |
33.3 |
16.7 |
50% |
16.7 |
50% |
|
|
Statistics Recording / Event Tracking |
Reporting architecture (for database recorder) |
|
80.0 |
160.0 |
133.3 |
53.3 |
40% |
80.0 |
60% |
|
Use an existing framework (Jasper, BIRT, etc.) |
System Admin Features |
Better error/exception handling mechanisms and reporting |
|
80.0 |
120.0 |
106.7 |
26.7 |
25% |
80.0 |
75% |
|
Better error/exception handling mechanisms and reporting which show warning messages and provide users recovery paths to reset the applications, as well as producing messages in logs with error codes that can be used by customer service to help us pinpoint potential problems within the code. |
System Admin Features |
Monitoring Tool: System/operational administration and diagnostic tools |
|
120.0 |
160.0 |
146.7 |
73.3 |
50% |
73.3 |
50% |
|
|
System Admin Features |
Monitoring Tool: Hot-property, debugging loading and run-time tools (channels) for system monitoring |
|
240.0 |
360.0 |
320.0 |
160.0 |
50% |
160.0 |
50% |
|
Experiment with editing run-time property values that are Spring configurable - perhaps the database stores overrides? |
System Admin Features |
Dashboard as a single point of access to their administration tasks. |
|
16.0 |
24.0 |
21.3 |
10.7 |
50% |
10.7 |
50% |
|
|
|
Best Case Estimate |
Worst Case Estimate |
Weighted Average |
Web Dev |
% |
Java Dev |
% |
---|---|---|---|---|---|---|---|
Long Range Totals |
3,172.0 |
5,900.0 |
4,990.7 |
2,786.0 |
56% |
2,204.7 |
44% |
Unestimated Items
There are a few items that were identified as possible units of work, but that were not included in any timeframe and for which there are no estimates. These may need to be considered for inclusion into the project at some point.
- Improve/Fork/Rewrite WSRP4J library to provide better WSRP support
- Translating all localized content into languages other than english