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

Spaces Management & Permissions #160

Comments

@srenault-meeds
Copy link
Collaborator

srenault-meeds commented Sep 23, 2024

Rationale

This MIP aims to solve two different problem type:

1. Super Space Admin Permissions

Currently, platform admins can manage permissions to allow users or group members to:

  • manage any space

Problems are that the permissions to manage a space is not understood by platform admins:

What will these super space admins be able to do?
What will they be able to access?
Do they need to be members of space to manage it?

2. Spaces Permissions Management

Currently, space admins can delete their space and cannot access the option to edit layout / navigation
Of course, space templates configuration can know provide such permissions. Yet, it must be possible to specify permissions for a space

Problems are:

  • when deleting a space, all data are removed. And this option must be given to users who are aware about this impact.
  • few space admins can be trained to layout/navigation management. It is not possible to give them access to this feature unless you pre configure space templates as is. Yet, sometimes, it must be possible to specify permissions for one space and not any space.

Starting from this, the spaces management page will be reviewed to unify with the global platform UX.

1. Functional Requirements

Top User Stories

Spaces Management Page Review
Admins of the platform can decide to review the permissions for space admins and management thanks to the whole new spaces management page.

Only platform admins can access this page.

image

From there, each space is listed to admin even when not member of it.
For each space, it is possible to:

  • access settings
  • sync members (AKA group binding)
  • apply template
  • save as template
  • manage permissions
  • delete space

image

For sync members, we will review the UX as follow:

  • drawer to manage auto-import rules
  • from this drawer, access to import reports in a full screen
image

When requesting to apply a template, then admin has to choose a template.
Once applied, layout and navigation of template is applied to the space (overwriting previous layout and navigation)
And permissions can be updated too on demand, by the platform admin

image

When requesting to save as a template, then admin has to proceed to the template creation as expected.
Layout, navigation and preferences are saved to create the template.

No change for following options:

  • edit settings
  • delete

Bulk Actions

When selecting multiple spaces, then admins can access bulk actions:

  • Sync members
  • Apply template
  • Update Permissions
  • Delete spaces

image

When the page doesn't list all items, then a suggestion to select all ones matching the filter is done.
image

When doing a bulk action, then a loader is proposed next to add CTA.
From there it is possible to list ongoing actions.
Until it is done, no more bulk actions can be done. It has to be finished so the admin can launch another processing.
image

Permissions per space

When willing to update permissions for a space, then following permissions are proposed to be updated:

  • Navigation Management
  • Space Public Site Enablement
  • Deletion

If space templates already configured permissions, then remind this configuration to admins to avoid confusion

image

Super Space Admins

In addition to this, the platform admin can identify "Super Space Admin" per template. That means we don't have anymore the permission for spaces management.

Thus, from the space template configuration, we need to review the stepper:

  1. Creation steps
  2. Template Management
  3. Space Configuration
  4. Space Permissions

From template management, we have two options to decide:

  • who can create spaces?
  • who is super space admin?

With an option to see an explainer of this profile.
Once identified, super space admin does not have access to the spaces management page.
Yet, they can create spaces, edit its settings and navigation, manage space public site, and delete it.
Even if not members of those spaces.
When a template is applied to a space, then identified super space admin access this new space.

image

Space Permissions groups from now on these items:

  • navigation management
  • public site management
  • space deletion
    These items can be overwritten from spaces management as explained above

image

Impacts

Gamification

Notifications

Analytics

Unified Search

2. Technical Requirements

Expected Volume & Performance

N/A

Security

The centralized Spaces Management will be deleted in favor of Spaces Management permission per Space Template.
Thus, no absolute Spaces Administrators feature is allowed, but it will depend on the Space's associated template permissions.

Extensibility

The Spaces Administration Toolbar actions has to be extensible to allow making bulk administrative operations from an addon.

Configurability

N/A

Upgradability

N/A

Existing Features

N/A

Feature Flags

N/A

Other Non Functional Requirements

N/A

3. Software Architecture

Security

The Spaces Administration ACL has to change to consider the used template of the space. Thus, the AuthorizationManager Service defined in Social (which extends UserACL Service coming from Portal) has to consider the associated template of the space to make ACL checks.

Access

  • The old UI has to be dropped and reworked with new UI/UX guidelines
  • The SpacesAdministrationRest is not needed anymore, thus has to be dropped

Services & processing

  • A new field for Spaces Managers will be added in SpaceTemplate, which will not be duplicated in created Space, but centralized in SpaceTemplate. This means that changing the spaces managers group on a template has to affect all existing spaces created with the associated template.

Data and persistence

  • A new field SPACE_MANAGER_PERMISSIONS will be added in Table SOC_SPACE_TEMPLATES.
@srenault-meeds srenault-meeds changed the title Spaces Management & Permissions [DRAFT] Spaces Management & Permissions Sep 23, 2024
@srenault-meeds srenault-meeds changed the title [DRAFT] Spaces Management & Permissions Spaces Management & Permissions Sep 23, 2024
@srenault-meeds srenault-meeds moved this from Draft to Submitted in MIP Board Oct 29, 2024
@srenault-meeds srenault-meeds moved this from Submitted to Open in MIP Board Oct 29, 2024
@srenault-meeds srenault-meeds moved this from Open to Submitted in MIP Board Oct 29, 2024
@srenault-meeds
Copy link
Collaborator Author

@margondicco to check.
Thanks

@margondicco
Copy link

Hello @srenault-meeds is it interesting to add a column "space template" ?

@srenault-meeds
Copy link
Collaborator Author

yes :)

image

@srenault-meeds
Copy link
Collaborator Author

Updated with:

  • template info in the table
  • bulk actions added: permissions, auto import members

@margondicco
Copy link

Hello Go fonc

Sorry for the delay

@srenault-meeds
Copy link
Collaborator Author

@margondicco as discussed, I have reviewed the way we will identify Super space admins and I have reviewed the way we can manage bulk actions.

Please check it again.

@margondicco
Copy link

Hello perfect @srenault-meeds Go Fonc

@boubaker
Copy link
Member

boubaker commented Nov 5, 2024

Ready to review the technical specification by DAO members (eXo: @rdenarie )

exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
)

This change will rename exiting steps of Space Template Form UI and will
move the creation permission in a dedicated step.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…Ps#160 (#4180)

This change will allow to designate a space template super administrator
in replacement to the previous Spaces Administrators concept, which
wasn't related to the used Space Template to create the space.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…Ps#160 (#4183)

This change will prepare the Bulk operations UX in Spaces Administration
UI by adding the first bulk operation in order to apply a Space template
on a set of spaces.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…7767 - Meeds-io/MIPs#160 (#4184)

This change will allow to add group(s) as bound to a set of spaces by a
single user selection.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…Meeds-io/MIPs#160 (#4185)

This change will allow to delete in bulk selected spaces.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
… - Meeds-io/MIPs#160 (#4186)

This change will allow to modify space permissions in bulk using
selected spaces.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Nov 18, 2024
…EED-7736 - Meeds-io/MIPs#160 (#254)

This change will allow to clone Containers Background images when
creating a site from a site template or a site template from an existing
site.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…MEED-7771 - Meeds-io/MIPs#160 (#4187)

Prior to this change, the spaces listing wasn't proposing the hidden
spaces for Space Template identified Masters. This change will rework
the Space Filtering process to allow including Space Template Managers
when suggesting spaces in spaces list and using `Suggester Vue` reusable
component using a specific filter.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Nov 18, 2024
…- MEED-7771 - Meeds-io/MIPs#160 (#255)

Prior to this change, the spaces listing wasn't proposing the hidden
spaces for Space Template identified Masters. This change will use a
specific Filter on Suggester component to allow listing managing and
hidden spaces as well.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…EED-7809 - Meeds-io/MIPs#160 (#4188)

This change will add Visibility and Registration Filters in Spaces Admin
UI.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
…s-io/MIPs#160 (#4189)

This change will update Layout `UserACL` management API to allow a Space
Master to edit and access public site.
exo-swf pushed a commit to Meeds-io/social that referenced this issue Nov 18, 2024
Prior to this change, the last accessed space wasn't displayed for the space template masters. This change will fix the Space LAst Access Listing.
exo-swf pushed a commit to Meeds-io/analytics that referenced this issue Nov 18, 2024
…ity - MEED-7761 - Meeds-io/MIPs#160 (#242)

This change will extend Spaces Administration Table by adding a column
which displays the last activity date switch a set of predetermined
operations.
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Nov 18, 2024
…r - MEED-7771 - Meeds-io/MIPs#160 (#1772)

This change will allow for a space master to choose a space which is
managed/mastered (switch space template configuration) when configuring
a stream event in a rule or when creating a program with assigned
audience where the user doesn't manage directly but indirectly throw
permissions inherited from space template.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Nov 18, 2024
…Ps#160 (#1205)

This change will allow to designate a space template super administrator
in replacement to the previous Spaces Administrators concept, which
wasn't related to the used Space Template to create the space.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Nov 18, 2024
…r - MEED-7771 - Meeds-io/MIPs#160 (#1206)

This change will allow for a space master to choose a space which is
managed/mastered (switch space template configuration) when configuring
a notes event in a rule.
exo-swf pushed a commit to Meeds-io/content that referenced this issue Nov 18, 2024
…Ps#160 (#305)

This change will allow to designate a space template super administrator
in replacement to the previous Spaces Administrators concept, which
wasn't related to the used Space Template to create the space.
exo-swf pushed a commit to Meeds-io/poll that referenced this issue Nov 18, 2024
…Ps#160 (#175)

This change will allow to designate a space template super administrator
in replacement to the previous Spaces Administrators concept, which
wasn't related to the used Space Template to create the space.
exo-swf pushed a commit to Meeds-io/poll that referenced this issue Nov 18, 2024
…r - MEED-7771 - Meeds-io/MIPs#160 (#176)

This change will allow for a space master to choose a space which is
managed/mastered (switch space template configuration) when configuring
a poll event in a rule.
exo-swf pushed a commit to Meeds-io/task that referenced this issue Nov 18, 2024
Prior to this change, the Tasks additional menu button isn't added in
the correct template slot of Drawer. This change ensures to display the
Task Menu in the correct slot. Without this change, the Drawer title
can't display an ellipsis on title, thus this is mandatory to fix
globally the Drawer Title Ellipsis Style.
exo-swf pushed a commit to Meeds-io/meeds-qa-ui that referenced this issue Nov 18, 2024
@boubaker boubaker removed the to merge label Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment