End-user Requirements
Requirements in support of the end users of the portal (in an academic environment, students, faculty, staff, etc.)
Accessibility
User Customization & Personalization
- Pushed Content - content groups automatically displayed to users
- select content groups to be available to users for subscription based on user groups or attributes ("pulled content")
- distributed content group management (e.g. allow a selected user to modify/maintain 1 fragment)
- allow "locked down" content - content that cannot be moved/removed by users
- allow users to customize the content displayed
- allow users to personalize displayed content (categories, #items, stored settings)
- display channels by category
- optionally allow only certain categories of channels to be available on a fragment
User Experience
- customizable user layout/preferences
- selectable skins/look & feel
- easy way to discover/add content
- standard, semantic markup
- cross-browser/device rendering support
- graceful degradation for various client levels (e.g. no JS, CSS, text only)
- easy way to see what channels are new (e.g. channels that have been added since your last visit)
- ability to search channels (e.g., by name, keyword, date added)
- ability to deep link to a channel (i.e., specify a static URL that logs the person on, if necessary, and then takes them directly to that channel)
Friend Access
- ability to grant access to others (e.g., parents)
- ability to specify which channels other designated indivuals may see
Infrastructure to support:
Administrator Requirements
Requirements in support of people who configure portal content and policies. Channel publishers, layout owners, etc.
Administration
- Multiple Admin Access Methods
- Modify
- users (GUI, config file)
- groups (GUI, config file)
- permissions (GUI, config file)
- Publish channels (GUI, config file)
- Error Reporting
- logging
- notification of error conditions
- Layout
- Specify layout (GUI, config file)
- Transparently replace channels
Statistics & reporting
- Useful metrics and statistics out of the box
- channel usage, performance
- fragment usage, performance
- user logins
- Locally extendable metrics
- Exposed via reports, JMX, etc.
- Flexible persitance (file, database)
Generic Channel Support
- web proxy
- iframe
- XML/XSLT
- RSS / feed reader
- Portlet (JSR-168)
- WSRP Consumer
General Purpose Channels
|
Evaluator Requirements
Requirements for individuals evaluating utilizing or deploying a portal based on the uPortal framework.
- Public demonstration deployment
- Quickstart release
- Documentation of features and capabilities
- Comparison with other portal solutions
Deployer Requirements
Requirements in support of systems programmers and staff deploying uPortal, designers locally skinning uPortal.
Deployment
- property management
- support over-riding default configuration without rebuilding the application
- support loadbalanced/clustered environments
- Runs on a FOSS stack (Tomcat servlet container)
- Runs without modification under JDK 1.4+
Authentication
- WebISO integration
- [LDAP Authentication]
- Container Managed Authentication
- Proxy Authentication (authenticate user into back-end resources)
- Ability to chain authentication
Institutional Customization & Personalization
- simple to brand [institutional look and feel]
- Great default skins
- simple local enabling/disabling of features
- integration with [directory services]
Internationalization & Localization
- internationalized message storage & generation
- localized messages automatically selected from user agent
- architecture for separating translation strings, producing & updating translations
Groups & Authorization
- integrate with externally defined groups (ldap, db, etc)
- allow locally defined ad-hoc groups defined and managed through the portal UI
- distributed group administration
- expose uPortal groups information via LDAP abstraction via embedded LDAP server (for use, integration with other systems)
Person Information
- integrate with external sources (ldap, db, etc)
- allow local attributes defined and managed through the portal UI and API
- ability to merge attribute information from multiple sources
Documentation
- Comprehensive documentation of configuration and deployment
Developer Requirements
Requirements in support of programmers, designers, and other developers who customize, extend, and write widgets for uPortal.
APIs and extension points
- Authentication API for integrating with a local SSO or other authentication scheme
Code quality
- Pervasive source-level logging as a best practice for logging the behavior of the portal
- Comprehensive unit test coverage to prevent regression and support testing of local customizations
- Thorough specification of APIs
- Adoption of patterns and best practices yielding readable and maintable code
Documentation
- Appropriate use of external libraries and common practices such that external projects' documentation applies to uPortal
- Comprehensive documentation of intended extension points
Other
Event handling
- notify users when events occur
- notify channels when user generated events occur (e.g. login, logout, etc.)
- general event subscribe, publish support. Support for registration of event listeners.
Migration
- db conversion/migration tools from previous uP versions
- ability to export & restore data (e.g. between production tiers/instances)
- easy to integrate change/progress to uP core to local deployments
Standards Support
- JSR-168 Portlet Support
- WSRP Consumer Support
- WSRP Producer Support
- IChannel support
- Database independent
Scalablity, Performance and Reliability
- Ability to serve thousands of users simultaneously
- Compatible with application server clustering
- Session replication support
- Transparent failover support
- Ability to run for weeks without restarting
|