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

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