uPortal Layout Management - Requirements

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

Helpful Background Resources