uPortal Layout Management - Requirements
Current DLM Features
Per node permissions
Planning
Profile Template Organization
Structure
Name (e.g. myUW Desktop)
Layout key (e.g. mobile)
Structure (e.g. columns.xsl)
Structure parameter overrides
Theme (e.g. universality.xsl)
Theme parameter overrides
Additional Notes and Requirements
Multiple profiles may (or may not) map to a shared layout.
A user should be allowed to have more than one layout.
Profiles should only be created from templates as needed (when a user actually has changes).
A profile selection API should exist to allow setting default profiles by user agent, person attribute, etc.
Profile selection should be able to be overridden by some extent by end users - for example, a user selecting between mobile and desktop profiles.
May need to indicate whether a parameter can be overridden in order to force updates
DLM Requirements
Preserve all current features
Remove concept of default template user
Allow arbitrary levels of nested tabs
Represent subscribed tabs as a node type
Add subscribed tabs to specific spot in layout (perhaps as a sub-tab)
Add a subscribed tab more than once and configure each instance separately
Ability to restore removed fragments
Merge entire layouts (merging in header and footer)
Cascading DLM restrictions
Make it easier to lock down an entire tab
Maybe just in UI rather than data model
Layout Data Model
Drop current relational row model and store as JSON clob
Reference portlets by fname to avoid presence of synthetic keys without foreign keys
Node fnames?
Existing permissions probably sufficient, but worth reviewing relationship to uPortal permission system