Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebUI Stateless Mode #181

Open

Comments

@boubaker
Copy link
Member

boubaker commented Feb 13, 2025

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

@boubaker boubaker moved this from Open to Submitted in MIP Board Feb 13, 2025
@boubaker
Copy link
Member Author

Ready for review by DAO members (eXo : @rdenarie )

@rdenarie
Copy link
Member

Go tech

@boubaker boubaker moved this from Submitted to Accepted in MIP Board Feb 13, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 14, 2025
boubaker added a commit to exoplatform/jcr that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/cloud-drive-connectors that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/documents that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/onlyoffice that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/onlyoffice that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/dlp that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/onlyoffice that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/digital-workplace that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/data-upgrade that referenced this issue Feb 18, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/cloud-drive-connectors that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/onlyoffice that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/data-upgrade that referenced this issue Feb 19, 2025
boubaker added a commit to exoplatform/ecms that referenced this issue Feb 19, 2025
boubaker added a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/perk-store that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/push-notifications that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/gamification that referenced this issue Feb 20, 2025
boubaker added a commit to Meeds-io/wallet that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/gatein-portal that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/commons that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/analytics that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/perk-store that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/wallet that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/push-notifications that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/content that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Feb 20, 2025
exo-swf pushed a commit to Meeds-io/meeds that referenced this issue Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment