Meeds-io / MIPs

The Meeds Improvement Proposal repository
0 stars 0 forks source link

Public site management #84

Closed srenault-meeds closed 1 year ago

srenault-meeds commented 1 year ago

Rationale

Once connected to the WoM, Hubs can be listed in the hub explorer To avoid having something with no contents and only user engagement data, we aim to showcase organization's purpose. That way, visitors and future contributors or leaders can understand how the hub manager is engaging its contributors.

1. Functional Requirements

Top User Stories

Public site Management

As a platform administrator, I can manage the public site from the main settings:

image

Public site layout The layout provided by this public site is dedicated to this site. That means the site is considered as "standalone" and provides its own layout:

Public site Access

As platform admin or platform publisher,

As regular user,

When logged in

image

When not logged in

image

Public Site Edition

As platform administrator or platform publisher, I can edit the content proposed in the layout:

image

And other content are not editable from there:

Impacts

Permissions to access the public site Topbar - public case

Gamification

NA

Notifications

NA

Analytics

Users coming from public site are identified as well as users who sign-up from public site.

Unified Search

NA

2. Technical Requirements

Expected Volume & Performance

Security

The public site has to be accessible to *:/platform/administrators and *:/platform/web-contributors until it's made accessible to Everyone when an administrator switches the site as publically accessible.

Configurability

The Public site pages has to hide the display of shared layout components. The list of topbar applications has to be defined in portal layout. This site has to be defined and configured to not be re-imported on server restart.

Feature Flags

No feature flag is needed.

3. Software Architecture

Security

The Site public of type Portal has to define access-permissions attribute to *:/platform/administrators and *:/platform/web-contributors. The edit-permission attribute allows only one value, thus it will be made possible to only an administrator (member of *:/platform/administrators) to switch the site as publically accessible.

Access

Applications

Two new portlets has to be added:

Configuration

Site definition configuration

The XML definition of the Public portal has to be added in Meeds module to allow defining the whole page without dynamic containers. Knowing that :

We will have to:

Layout configuration

The public page has to be configured to hide the shared layout. Thus, until the MIP #85 is ready, we will use the following attribute in page definition :

<hide-shared-layout>true</hide-shared-layout>

The page, applications and containers has to use access-permission with value Everyone so that the visibility switch operation will take effect on Portal access permission only.

REST API

To switch the site permissions, anew Method will be added in org.exoplatform.social.rest.impl.site.SiteRest with PATCH method that will allow to alter the site access-permissions value.

srenault-meeds commented 1 year ago

I removed the go-func as it needs to be reviewed a bit

srenault-meeds commented 1 year ago

Open to review again @margondicco

margondicco commented 1 year ago

topbar with branding logo and name + logout/login button to access the platform

To be added : portlet Menu

Go fonc

srenault-meeds commented 1 year ago

Thanks @margondicco

To be added : portlet Menu

Added

srenault-meeds commented 1 year ago

Ready for tech spec @boubaker

boubaker commented 1 year ago

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

srenault-meeds commented 1 year ago

Requirement added for access to public site management by publishers:

That means that publishers (* or publisher in /platform/web-contributors) can access main settings from admin menu. They will access any option from there except the platform access settings.

boubaker commented 1 year ago

Update technical section to move definition of public site in meeds.war :

The XML definition of the Public portal has to be added in Meeds module to allow defining the whole page without dynamic containers. In fact, the public page will have notes, social and gamification applications.

srenault-meeds commented 1 year ago

Requirement added for access to public site management by publishers:

That means that publishers (* or publisher in /platform/web-contributors) can access main settings from admin menu. They will access any option from there except the platform access settings.

Removed from MIP detail

rdenarie commented 1 year ago

Go tech

boubaker commented 1 year ago

A new section has been updated to consider the functional requirement to Keep Public site inherited independently from meeds site definition which shouldn't be inherited. The added section is :

The XML definition of the Public portal has to be added in Meeds module to allow defining the whole page without dynamic containers. Knowing that :

  • the extension meeds.war holds the definition of meeds site, which is specific to the Meeds packaging (can be excluded by Meeds DAO members to define their own site Meta)
  • the public site is a core feature of the Meeds product and its administration is part of Main Settings administration UI

We will have to:

  • Define the public site in a common Web Archive Extension that is decoupled from meeds.war Thus, a new Web Archive Extension named sites.war will be added in order to centralize the Meeds core sites into it including global site and public site.
boubaker commented 1 year ago

ACCs & PRs ready to review by DAO members (eXo: @rdenarie )

BTW, for eXo, you will have to delete the overriden legacy definition here

boubaker commented 1 year ago

ACCs & PRs ready to review by DAO members (eXo: @rdenarie )

BTW, for eXo, you will have to delete the overriden legacy definition here

A new PR for Automatic Tests adaptation is added too.

rdenarie commented 1 year ago

All Pr validated except the one on social Meeds-io/social#3102

boubaker commented 1 year ago

All Pr validated except the one on social Meeds-io/social#3102

Thanks, commented.

rdenarie commented 1 year ago

All pr validated

boubaker commented 1 year ago

PRs merged to develop