Overhaul of data model and supporting code for portlet lifecycle in uP5

Description

uPortal has Portlet Lifecycle features to support workflow and "delegated administration" use cases WRT portal content, but there are a number of issues with them...

  • MAINTENANCE mode is tracked with a parameter (instead of a column), and has a very surprising approach to evaluating whether a portlet is in maintenance (viz. the presence of the parameter means a portlet is in maintenance, even if the value is false)

  • The current approach – based on columns of UP_PORTLET_DEF – is woefully in-extensible (you can't change columns every time you want to add or remove a lifecycle state)

For uPortal 5, we should do the painful work of overhauling this system.

Instead of storing all lifecycle info in the portlet's (only) row in UP_PORTLET_DEF, we should move lifecycle info to its own table and establish a one-to-many relationship between the 2 tables. This approach will allow us to...

  • Store all lifecycle info in the same table

  • Extend the system with new lifecycle states in the future, if needed

This plan has impacts on Import/Export; we need to

  • Represent all lifecycle info in the <lifebcycle> element

  • Provide a new portlet-definition XSD that supports allows that

  • Provide an "upgrader" that supports backwards-compatibility with portlet entity files that reference the existing XSD

Environment

None

Activity

Show:
Andrew Wills
July 13, 2017, 5:44 PM
Andrew Wills
August 3, 2017, 4:14 AM

merged

Assignee

Andrew Wills

Reporter

Andrew Wills

Labels

None

Estimated End Date

None

Fix versions

Priority

Major
Configure