Portal Archiving - Statement Of Work
by Jim Parsons - jparsons@redhat.com
This document details the intended approach to adding the ability to archive
portals for the Red Hat Enterprise Portal Server.
- Currently, before this statement of work is implemented, ALL portals exist in the Unarchived state.
- After implementation, portals will exist in one of two exclusive states: Archived or Unarchived.
- Unarchived portals will be indistinguishable from current portal implementation.
- Archived Portals will exhibit the following traits:
- Any unarchived Portal will be eligible for archive status
- Archived Portals will be accessible to the system admin and anyone he or she deems admissable only. This implies that all access permissions for a portal to be archived will be revoked upon archive status, except for Sys Admin status.
- Archived portals will not appear in lists of portals viewed by admin
applications such as portal link lists. This will be implemented by
modifying the currently used getAllPortals methods used by these
applications to return a filtered collection of portals that all
share unarchived status.
- The sysadmin holds exclusive permission to archive and unarchive Portals
- Any portal that is archived, can be unarchived by the sys admin. Permissions for users other than the sysadmin and their authorized users, will have to be rebuilt.
- All data associated with a Portal that is archived will be retained by the system.
Implementation Tasks
- Add isArchived boolean field to Workspace.pdl
- Change Portal constructor to set isArchived to false by default
- Write upgrade script
- Add filter to domain layer methods that return portal collections, so that only unarchived portals are returned
- Add domain method to return a collection of ALL archived portals
- Add domain method to return ALL portals - archived AND unarchived
- Add domain code getter and setter for archive bit
- Add link to PS Admin for accessing archive application page
- Build UI for archiving and unarchiving Portals
- Build Archive and Unarchive forms
- Archive form should offer a checkbox for recursively archiving all child portals
- UI should offer creation date for all online portals, and archive date for those portals that are archived