Skip to content

WebUI Stateless Mode #181

@boubaker

Description

@boubaker

Rationale

Currently, the product supports implementing a WebUI Portlet. The WebUI Portlet framework doesn't implement the JSR-286 but bypass it by implementing a custom framework on top of Portal API. The WebUI Portlet framework is, by definition, using a stateful mode in order to save the WebUI TreeView in the user's session.
In meeds package, we had initiated (in the context of #175) to support the stateless mode of WebUI which will create the WebUI TreeView statically for all users and delete the TreeView state customization per user.
By completing the upgrade of WebUI Framework and deleting the last components on top of Portlet WebUI, we will be able to start the upgrade to support the stateless mode in WebUI in order to allow a better score for architecture quality attributes such as Horizontal Scalability and global performances (by reducing the memory consumption and time of GC as well, especially with a high number of concurrent users, not very relevant with tens of users only)

1. Functional Requirements

N/A

2. Technical Requirements

Expected Volume & Performance

No change is expected in term of volumetry.
As expected outcome of this issue, the Stateless mode of WebUI (introduced a week ago with #175) has to become the only supported mode and thus improve the memory consumption especially for high number of concurrent users.

Security

By reducing the deprecated APIs, automatically the potential attack surface will be reduced, thus indirectly, the security score has to be improved as well.

Extensibility

N/A

Configurability

N/A

Upgradability

The eXo Platform package (Member of DAO) has to be cleaned up and migrated, in order to allow a complete transition to WebUI Stateless Mode.

Existing Features

In meeds context, this change shouldn't affect the existing portlets since all portlets aren't already using WebUI Portlet framework. Whereas, eXo Platform package has multiple portlets that has to be reworked/deleted (after being deprecated and replaced already in 6.5).

Feature Flags

N/A

Other Non Functional Requirements

N/A

3. Software Architecture

Security

N/A

Access

The following portlets has to be removed from eXo Platform:

  • UIWCMSearchPortlet
  • UIECMAdminPortlet
  • UIECMAdminPortlet
  • UIFCCPortlet
  • UIEditingPortlet
  • UICategoryNavigationPortlet
  • UICLVPortlet
  • UISingleContentViewerPortlet
  • UIAdminToolbarPortlet
  • UISEOToolbarPortlet
  • UIWCMDashboardPortlet

Services & processing

The WebUI usage in Service and Storage Layers of all addons has to be removed from remaining services after WebUI Portlets Cleanup.

Data and persistence

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Completed

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions