Meeds-io / MIPs

The Meeds Improvement Proposal repository
0 stars 0 forks source link

feat: New site : Platform settings #88

Closed margondicco closed 10 months ago

margondicco commented 1 year ago

Rationale

Administration menu is currently accessed from the left menu. End-users report that becomes more and more difficult to browse between pages. Indeed, each time we need to access another administration page, we need to access the left menu, then the admin one.

In addition to this, more the platform provides new options / features for end-users, more the administration menu becomes difficult to understand. A new organization is needed.

To conclude, categories (general, organization, recognition) are not editable from UI.

Suggestion:

1. Functional Requirements

Top User Stories

1. Create a new site "Platform settings" with these properties :

For each node, a new page is created with at least one portlet (cf sheet below). The portlet must be in a contener "singlePageApplicationContainer"

For the old menu Administration, we create a flag. If it's true, the old menu is displayed. We don't delete the site of group, their nodes and pages

Node name Node label Type of node Parent Icons fontawesome Portlet in the new page Edit permissions View permissions Meeds
home Platform settings Group - cog - - - yes
general General Group home folder - - - yes
mainsettings Main Settings Page general cogs General Settings manager:/platform/administrators *:/platform/administrators yes
notifications Notifications settings Page general bell Notifications Administration manager:/platform/administrators *:/platform/administrators yes
applicationscenter Applications center Page general list-alt (solid) App center administration setup manager:/platform/administrators *:/platform/administrators yes
organisation Organisation Group home building (solid) - - - yes
users Users page organisation users-cog users management manager:/platform/administrators :/platform/administrators, :/platform/delegated administrators yes
groups Groups page organisation simply-built groups management manager:/platform/administrators *:/platform/administrators yes
profile Profile page organisation user-cog profile settings management manager:/platform/administrators *:/platform/administrators yes
spaces Spaces page organisation people-arrows spaces administration manager:/platform/administrators *:/platform/administrators yes
roles Roles page organisation diagnoses memberships management manager:/platform/administrators *:/platform/administrators no
sites Sites page organisation sitemap site management manager:/platform/administrators *:/platform/administrators no
recognition Recognition Group home trophy - - - yes
badges Badges page recognition graduation-cap gamification badges administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
kudos Kudos page recognition award kudo administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
wallet Wallet page recognition wallet wallet administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
reward Reward page recognition coins reward administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
perks Perks page recognition shopping-cart perk store administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
connectors Connectors page recognition plug gamification connectors administration manager:/platform/rewarding administrators *:/platform/rewarding administrators yes
applications Applications Group home boxes - - - no
agenda Agenda page applications calendar-plus agenda admin settings manager:/platform/administrators *:/platform/administrators no
visio Visio page applications phone-alt web conferencing administration manager:/platform/administrators *:/platform/administrators no
translation Automatic translation page applications language automatic translation manager:/platform/administrators *:/platform/administrators no
documents-settings Documents settings Group applications file-alt (solid) - - - no
cloud-storage Cloud storage page documents-settings cloud-download-alt cloud storage manager:/platform/administrators *:/platform/administrators no
documents-editors Documents editors page documents-settings edit (ligght) editors administration manager:/platform/administrators *:/platform/administrators no
news-settings News settings Group applications newspaper (light) - - - no
news-target News target page news-settings bullseye (light) news target manager:/platform/content managers manager:/platform/content managers no
security Security Group home shield-alt - - - no
quarantine Quarantine page security shield-virus dlp quarantine manager:/platform/data protection *:/platform/data protection no
transfert-rules Transfert rules page security exchange-alt transfert rules manager:/platform/administrators *:/platform/administrators no
multifactor-authentication Multifactor authentication page security user-shield multifactor authentication manager:/platform/administrators *:/platform/administrators no
legacy Legacy Group home archive - - - no
wcm-backoffice WCM back-office page legacy archive site explorer manager:/platform/content managers *:/platform/content managers no
wcm-settings WCM Settings page legacy archive WCM administration manager:/platform/content managers manager:/platform/content managers no
wcm-components WCM Components page legacy archive registry manager:/platform/content managers manager:/platform/content managers no

2. a settings button (cog) is displayed in the top bar (right corner) if at least one node is accessible for the user. A click opens the site in a new tab

3. when i open the site platform settings then the first node i have permission is displayed

4. Content of the portal layout:

By default the site platform settings is standalone (cf MIP85), so the shared layout (topbar and left navigation) isn't displayed

Portlet Vertical Menu : Cf MIP86 Portlet Breadcrumb : Cf. MIP87 Portal page

image

5. delete the menu Administration of the left navigation

6 Evaluation : delete the sites of group (content management, dlp, administration, reward, users)

2. Technical Requirements

Configurability

Feature Flags

Property Name Default Value Target Audience Functional Behaviour
exo.feature.oldAdministrationMenu.enabled false administrators enable/disable the old administration menu

This feature flag will not be deleted at the end of iteration.

3. Software Architecture

Access

margondicco commented 1 year ago

@srenault-meeds for review @azayati for technical update

srenault-meeds commented 1 year ago

My feedbacks:

Permissions - view : :platform/administrator ; :platform/delegated administrator ; :platform/dlp ; :platform/content management

Missing the reward admin right?

recognition settings part

Do we confirm that we will have only one site for all administration settings? And for icons, here are my suggestions:

Recognition: trophy badges: graduation-cap kudos: award wallet: wallet reward: coins perks: shopping-cart connectors: plug

margondicco commented 1 year ago

Missing the reward admin right?

yes

Do we confirm that we will have only one site for all administration settings?

yes

And for icons, here are my suggestions:

ok

srenault-meeds commented 1 year ago

Go-fonc I let you update the description with the informations confirmed above.

plamarque commented 1 year ago

Why no site description? Some nodes in this list belong solely to eXo, not meeds (e.g cloud storage, news*, etc.). They shouldn't exist under meeds package. Similarly, some permissions (e.g dlp) belonging to eXo only should not leak in meeds. Please add requirements for extensibility abd clearly split what's out of the box in Meeds vs what's plugged in by eXo Platform's package

margondicco commented 1 year ago

Some nodes in this list belong solely to eXo, not meeds (e.g cloud storage, news*, etc.). They shouldn't exist under meeds package. Similarly, some permissions (e.g dlp) belonging to eXo only should not leak in meeds.

cf last column

Why no site description?

yes it could be added. A proposition ?

azayati commented 12 months ago

@margondicco This part should be removed IMO:

Permissions : edit : manager:/administrator - view : member:administrator

since we have the exact permissions here:

View permissions: :platform/administrators ; :platform/delegated administrators ; :platform/dlp ; :platform/content management ; *:/platform/reward administrators Edit Permissions: manager:/platform/administrators

azayati commented 12 months ago
  1. As a member of /platform/administrators, a settings button (cog) is displayed in the top bar (right corner). A click opens the site in a new tab

The settings button is displayed only when the site is standalone ? When this site is aggregated its navigation will be displayed in the not meta site level2 of the left navigation menu, so IMO we need to remove at all the administration menu.

By default the site platform settings is standalone (cf https://github.com/Meeds-io/MIPs/issues/85) So the sharedlayout (topbar) isn't displayed

IMO not only the topbar but all the sharedLayout (topbar and left menu) aren't displayed.

cc @margondicco @srenault-meeds

srenault-meeds commented 12 months ago

yes you're right I think @azayati

azayati commented 11 months ago

@boubaker Ready for review

srenault-meeds commented 11 months ago

@margondicco I have some questions/feedback I'd like to discuss with you. Tell me when available. Thanks

azayati commented 11 months ago

@margondicco @srenault-meeds

  1. As a member of /platform/administrators, a settings button (cog) is displayed in the top bar (right corner). A click opens the site in a new tab

I think that we need a feature flag for displaying or not this button, WDYT ?

srenault-meeds commented 11 months ago

Hello,

Questions from @boubaker and myself:

WDYT?

srenault-meeds commented 11 months ago

All the administration functions are accessible via the left navigation. It's hard to find your way around and it's becoming difficult to extend this menu. In addition, this menu is hardcoded.

The aim is to create a site dedicated to administration functions, with its own dynamic navigation.

No, I don't see the point of having a flag for this actually. If you have access to administration page, you have the button and if you don't have access to admin page, you don't have the button. That's all, isn't it? What is your concern?

azayati commented 11 months ago

No, I don't see the point of having a flag for this actually. If you have access to administration page, you have the button and if you don't have access to admin page, you don't have the button. That's all, isn't it? What is your concern?

Just for admins when the devs are in progress, they will have access to the button which will open an incomplete site. If this is not a problem, I remove the FT flag part

srenault-meeds commented 11 months ago

ah ok a flag during the dev so before the MIP delivery. I let you decide, it is internal to your organization

margondicco commented 11 months ago
  • Regarding old pages and navigation: it is described that these will be removed. Good to know. Indeed, we also think any access to old pages must be removed.

We will delete the site of group so all the navigation nodes of the group sites. We won't delete the pages.

margondicco commented 11 months ago
  • Regarding access permissions, it might be interesting to set these as follow: access to site = users access to page = depending on permissions you have identified in the descrition

Ok i will change the description

margondicco commented 11 months ago

-> To study: access to the administration site from the topbar -> how do we manage this?

It will be displayed only when i have access to at least one node of the platform settings navigation

-> That means that if no access to any page, the site cannot be accessed at all. -> To check: if as a regular user, I try to access the portal/administration page, then I am sent to the homepage

We won't change the current behavior:

If i have the permissions on the site and no permissions on any node: The first node of global site will be accessible If i have no permissions on the site: A 403 error will be displayed

margondicco commented 11 months ago

Navigation portlet of administration: recommendation to not reuse the left menu but to create a portlet dedicated to it. Will ease the maintenance of this portlet in the future (instead of reusing the left menu portlet)

cf MIP86

for technical discussion

margondicco commented 11 months ago
  • Is that possible to name the site "Administration" and then to have the following URL /portal/administration?

agree ;-)

margondicco commented 11 months ago

Description updated

cc @srenault-meeds @boubaker

srenault-meeds commented 11 months ago

Thanks @margondicco Regarding items listed in the board that are not meeds, ok for me (indeed, you already replied in previous comments, it is identified in the board as not meeds - last column).

Regarding the screenshot, of course, this is not only meeds feature but we get the point. No need to review it IMO.

Since the functional description have changed a bit, I guess the technical spec needs to be reviewed a bit. E.g:

A new vue portlet called PlatformSettings should be implemented in social Meeds module which will display the settings button.

An AddOnPluginImpl component plugin should [...] PlatformSettings into the dynamic container middle-topNavigation-container with a high priority (for example 100 to ensure displaying the portlet the first at the right)

WDYT? @azayati

azayati commented 11 months ago

already reviewed and modified @srenault-meeds, need to be checked by @boubaker

boubaker commented 11 months ago

documents-settings, news-settings ... can you please delete this from functional spec since it shouldn't be expected to have such outcome in this MIP ? @margondicco

boubaker commented 11 months ago

In , we should configure VerticalMenu and Breadcrumb portlets.

I think it would be better to let those portlets defined in WEB-INF/conf/portal/portal/sharedlayout-administration.xml to make the site layout empty. This will ensure:

  1. To make easily updates on Generic layout of Administration site without having to use importModes to reimport pages & portal layout each time we have a modification
  2. To not allow modifying the genric layout of administration site by a functional administrator, since it's builtin and not updatable by UI.

pages.xml is not needed since all referenced pages from the navigation nodes are already existing.

Can you please rework this in order to define the pages and its navigations at the same time in this same site. In fact, to be consistent, we will not need other group site owners, but this one. This will ease the definition of future pages and its management for better maintainability. (You will have to set the access permission & edit permission to the adequate group as well)

azayati commented 11 months ago

I think it would be better to let those portlets defined in WEB-INF/conf/portal/portal/sharedlayout-administration.xml to make the site layout empty.

If we switch the administration site to aggregated, we want to display the default sharedLayout, so if we will define a specific shared layout for the administration site, this will be not be possible since it is always the specific shared layout which will be displayed instead of the default sharedlayout.xml if the site is standalone or not. See MIP-85. Besides, if I have understand functionally, the administrator should be able to customize the layout of a standalone site and later to create a standalone site by interface and define its own layout which will not be possible with a specific shared layout xml file. cc @margondicco

Can you please rework this in order to define the pages and its navigations at the same time in this same site. In fact, to be consistent, we will not need other group site owners, but this one. This will ease the definition of future pages and its management for better maintainability. (You will have to set the access permission & edit permission to the adequate group as well)

If the existing pages are modified by interface, we will have an inconsistencies between the content of the new pages and the old pages, is this can cause issues with upgrading existing instances ? cc @margondicco

boubaker commented 11 months ago

issues with upgrading existing instances

I don't think so, since the old pages can remain, no need to hard delete the old sites.

margondicco commented 11 months ago

Hello

description updated :

To summarise : we create new pages for each node we create a new flag : True = the old Administration menu is displayed in the left navigation

azayati commented 11 months ago

@boubaker technical part updated, ready for review

boubaker commented 11 months ago

The HamburgerMenu portlet should be updated in order to remove administration-hamburger-navigation, administration-menu-item and administration-hamburger-navigation vue components.

We shouldn't remove those components as agreed, isn't it ?

azayati commented 11 months ago

@boubaker

We shouldn't remove those components as agreed, isn't it ?

yes I have missed that, spec updated, thanks.

Otherwises, for the GroupPortalConfigListener, you confirm that we should only remove the implementation of the postSave method not the whole listener ?

boubaker commented 11 months ago

Thanks, Go-Tech added.

azayati commented 11 months ago

Roles is now a meeds node, but it's mentioned in the table that it is no more a part of platform settings site meeds nodes, is that a mistake ? @margondicco @srenault-meeds

srenault-meeds commented 11 months ago

I don't know if this is a mistake. Yet, I find it interesting as roles page for meeds context is not useful neither helpful for administrators. No problem for me to remove (at least the UI) from meeds.

azayati commented 11 months ago

ok it will be moved to eXo if it is ok for @margondicco

margondicco commented 11 months ago

ok it will be moved to eXo if it is ok for @margondicco

yes it's ok because because @srenault-meeds had already asked me to do this ;-)

boubaker commented 10 months ago

@azayati @rdenarie I saw the flag without the message to officially announce this as ready for PR review & ACCs.

PRs validated anyway, I 'll take the actions (in MLab Board) that wasn't considered in PRs and that we decided together in a meeting we had (Centralize Sites definition in sites.war even by using profiles to avoid importing Empty nodes when deleting wallet or perk-store addons in your custom installations).

azayati commented 10 months ago

`@azayati @rdenarie I saw the flag without the message to officially announce this as ready for PR review & ACCs.

PRs validated anyway, I 'll take the actions (in MLab Board) that wasn't considered in PRs and that we decided together in a meeting we had (Centralize Sites definition in sites.war even by using profiles to avoid importing Empty nodes when deleting wallet or perk-store addons in your custom installations).`

Sorry @boubaker I wanted to announce that today, thanks anyway for approving