...
Excerpt |
---|
Library of requirements and use cases for an enterprise portal framework consisting of: Requirements | what the framework needs to do to fulfill our visions |
---|
Use Cases | detailed descriptions of how to meet our requirements, XP story-card style |
---|
|
Requirements
Features a portal framework has to have (both implemented and not currently implemented in uPortal) to allow us to accomplish our vision. Please click on the link below to create additional use cases and add a link under the appropriate functional requirement (or add a new requirement if your use case does not fit within the scope of an existing one)
...
Section |
---|
Column |
---|
End-user RequirementsRequirements in support of the end users of the portal (in an academic environment, students, faculty, staff, etc.) AccessibilityUser 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 RequirementsRequirements 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 |
Column |
---|
Evaluator RequirementsRequirements 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 RequirementsRequirements 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+
AuthenticationInstitutional Customization & PersonalizationInternationalization & 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)
- 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 RequirementsRequirements 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
OtherEvent 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
- 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
|
|