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

Space Settings & Roles #147

Comments

@srenault-meeds
Copy link
Collaborator

srenault-meeds commented Jul 17, 2024

Rationale

We have, few weeks agos, allowed current space host to edit navigation and layout of their space.
This implies hosts knowing what they are doing.

In addition to that, permissions of spaces roles are not well understood by users, specifically the space host.
AND some permissions are too sensitive: space host can delete the space without knowing what they are doing.

Furthermore, the space banner is only editable from the stream. Problems are:

  • Users mix this with image banner. Result is not the same. Space Banner is reminded in the spaces directory, in the search card of spaces
  • Users can remove it from the layout. To edit it, you need to put it back available only on the stream page
  • Users can update settings of the space from the related app excluding the space banner. Which makes the UX not consistent.

Thus, we propose by this MIP to enhance space settings for consistency and for UX sakes.

1. Functional Requirements

Top User Stories

Overview Settings
From the space settings, I can customize my space in few clicks, including the space banner.
That means that the space banner is no more provided in the space home layout. It is replaced by an image portlet
AND the space banner is no more suggested in the portlet catalog/registry when editing layout
image

Access & Visibility
From the space settings, I can setup access & visibility from a dedicated option.
image

Roles
From the space settings, I can view roles currently used in the space with their description and users.
image

When needed I can click to the list of users. From there, I am able to:

  • filter the list
  • remove users from the role
  • add new user from the space members
  • ONLY for members list, option to invite people to join the space
image

Adding user as admin:
image

In order to centralize the roles management, setting users as publisher or redactors will be only possible from this roles management. Hence, options from the members app will be removed.
Indeed, these roles need to be explicited and the better location for that is the space settings.

Thus, to make the space as a "redactional" one, the admin will have to enable the option.
image

When doing so, a drawer opens to explain the purpose of the Content Creation Restriction. Moreover, publishers previously identified are listed so you can understand they are identified as redactors and you can remove this role for some publisher.
If no publisher, a placeholder is proposed.

image

Precision: Roles will be updated as follow.

  • Space host will be renamed as space admin (using Crowdin)
  • Space Publisher will be able to write even when a redactor is identified
  • Redactor role can be removed to publishers if needed

-> The user who creates a space becomes a "Space Administrator", he can invite other members and promote them to be admin or managers or redactors
-> The space cannot have no space admin.

Impacts

Gamification

--

Notifications

--

Analytics

--

Unified Search

NA

2. Technical Requirements

Expected Volume & Performance

No change on stored data. The performances shouldn't be affected as well by the roles modifications.

Security

The Space Roles checks (ACL) has to be centralized in a dedicated API which has to be reused everywhere.

Extensibility

The possible actions associated to each role has to be extensible using extensionRegistry mechanism as made in all other extensible UI component in the platform.

Configurability

Default Space Template Banner has to remain, but the default space home page configuration has to change in predefined Crowd Funding Space template to use an Image portlet instead of Space Banner

Upgradability

No data upgrade will be necessary, since the old Space Layout should remain as is by using the deprecated Space Banner portlet. Whereas, the Space Banner portlet instance should be deleted from portlet instances list.

Feature Flags

N/A

3. Software Architecture

Security

All existing spaces permission checks, has to rely on this centralized points, thus a deep code cleanup has to be made to not copy/paste the algorithm of ACL but reuse the one defined and centralized in SpaceService API.

Access

The Space Settings has to keep its extensibility to let other sections to be added into it.
Besides, the Space invitation UI has to be reusable to use the same UI & UX from Space Members and Space Settings.

@srenault-meeds srenault-meeds changed the title [DRAFT] Space Settings & Roles Space Settings & Roles Jul 19, 2024
@srenault-meeds
Copy link
Collaborator Author

To check please @margondicco

@margondicco
Copy link

Hello Go fonc thank you

@boubaker boubaker self-assigned this Sep 9, 2024
@boubaker
Copy link
Member

boubaker commented Sep 9, 2024

Ready for spec tech review by DAO Members (eXo : @rdenarie )

boubaker added a commit to Meeds-io/social that referenced this issue Sep 10, 2024
boubaker added a commit to Meeds-io/social that referenced this issue Sep 10, 2024
boubaker added a commit to Meeds-io/social that referenced this issue Sep 10, 2024
boubaker added a commit to Meeds-io/platform-ui that referenced this issue Sep 10, 2024
boubaker added a commit to Meeds-io/platform-ui that referenced this issue Sep 10, 2024
boubaker added a commit to Meeds-io/layout that referenced this issue Sep 10, 2024
…o/MIPs#147

This change will delete Space Banner Portlet instance and will avoid displaying blank margin coming from a Dynamic section having all its applications hidden in Mobile.
boubaker added a commit to Meeds-io/layout that referenced this issue Sep 10, 2024
…o/MIPs#147 (#215)

This change will delete Space Banner Portlet instance and will avoid
displaying blank margin coming from a Dynamic section having all its
applications hidden in Mobile.
boubaker added a commit to Meeds-io/meeds that referenced this issue Sep 10, 2024
…2 - Meeds-io/MIPs#147

This change will change the Space Banner portlet to use the Space Image portlet instead. In addition, this will add an upgrade plugin to delete the space Banner Portlet from portlet instances.
boubaker added a commit to Meeds-io/meeds that referenced this issue Sep 10, 2024
…2 - Meeds-io/MIPs#147 (#2376)

This change will change the Space Banner portlet to use the Space Image
portlet instead. In addition, this will add an upgrade plugin to delete
the space Banner Portlet from portlet instances.
boubaker added a commit to Meeds-io/meeds that referenced this issue Sep 10, 2024
…2 - Meeds-io/MIPs#147 (#2376)

This change will change the Space Banner portlet to use the Space Image
portlet instead. In addition, this will add an upgrade plugin to delete
the space Banner Portlet from portlet instances.
boubaker added a commit to Meeds-io/platform-ui that referenced this issue Sep 10, 2024
@boubaker boubaker removed their assignment Sep 10, 2024
boubaker added a commit to Meeds-io/social that referenced this issue Sep 11, 2024
exo-swf pushed a commit to Meeds-io/social that referenced this issue Sep 26, 2024
exo-swf pushed a commit to Meeds-io/social that referenced this issue Sep 26, 2024
MEED-7517 - Meeds-io/MIPs#147 (#4047)

Prior to this change, when the user is an admin and allowed to retrieve
user 'createdDate' attribute, this attribute is used instead of the
attribute of membership. This change will fix this behavior to allow
considering the Membership creation date all time.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Sep 26, 2024
…o/MIPs#147 (#215)

This change will delete Space Banner Portlet instance and will avoid
displaying blank margin coming from a Dynamic section having all its
applications hidden in Mobile.
exo-swf pushed a commit to Meeds-io/layout that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147 (#220)

This change will just hide the button of Layout edition from Top Bar, so
that only super administrators will be able to access it. This will
avoid space manager to access this feature by UI until a rework is made
on permissions model to let Platform administrators choose who will be
able to access this feature and button. Besides, improving the
permissions model means that the Portal MOP permission (portal layer)
has to be delegated to SpaceService (social) layer which will be
improved in a dedicated MIP (Space Templates).
exo-swf pushed a commit to Meeds-io/analytics that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147

This change will reuse the centralized way to check user priviledges on spaces contents.
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147

This change will reuse the centralized way to check user priviledges on spaces contents.
exo-swf pushed a commit to Meeds-io/gamification that referenced this issue Sep 26, 2024
…- Meeds-io/MIPs#147 (#1735)

This change will centralize the usage of Social Rest endpoint in Social
Webapp instead of duplicating JS code in this addon.
exo-swf pushed a commit to Meeds-io/kudos that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147

This change will reuse the centralized way to check user priviledges on spaces contents.
exo-swf pushed a commit to Meeds-io/perk-store that referenced this issue Sep 26, 2024
exo-swf pushed a commit to Meeds-io/wallet that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147

This change will reuse the centralized way to check user priviledges on spaces contents.
exo-swf pushed a commit to Meeds-io/notes that referenced this issue Sep 26, 2024
…eeds-io/MIPs#147

This change will reuse the centralized way to check user priviledges on spaces contents.
exo-swf pushed a commit to Meeds-io/poll that referenced this issue Sep 26, 2024
Prior to this change, the Poll response code wasn't sent through Spring API but through Jax-Rs API. This change modifies the Reponse builder to use the one used for Spring instead of Jax-RS.
rdenarie pushed a commit to Meeds-io/meeds that referenced this issue Sep 26, 2024
…#2376)

This change will change the Space Banner portlet to use the Space Image
portlet instead. In addition, this will add an upgrade plugin to delete
the space Banner Portlet from portlet instances.
rdenarie pushed a commit to Meeds-io/meeds-qa-ui that referenced this issue Sep 26, 2024
rdenarie added a commit to exoplatform/chat-application that referenced this issue Sep 26, 2024
rdenarie added a commit to exoplatform/web-conferencing that referenced this issue Sep 26, 2024
boubaker added a commit to exoplatform/onlyoffice that referenced this issue Sep 26, 2024
…/MIPs#147 (#266)

This change will adapt the `SpaceService` API **Test Mock** switch improvements made in Meeds-io/social#4054. At the same time, this will delete the `@Override` annotation in Mocked class (to reduce the useless compilation error failures when changing APIs in low level), knowing that this Mocking strategy has to be replaced to use `Mockito` instead.
boubaker added a commit to exoplatform/agenda that referenced this issue Sep 26, 2024
…/MIPs#147 (#692)

This change will adapt the Space based operations (`create / edit / delete / read`  calendar & `create / update / delete / read`  event) to use the ACL check algorithm from `SpaceService` instead of redefining it.
boubaker added a commit to exoplatform/ecms that referenced this issue Sep 26, 2024
…ED-7524 - Meeds-io/MIPs#147 (#2402)

This change will adapt the Space based operation (`shareDocumentActivityToSpace`) to use the ACL check algorithm from `SpaceService` instead of redefining it.
exo-swf pushed a commit to exoplatform/agenda that referenced this issue Sep 27, 2024
…Ps#147

This change will reuse ACL methods defined in Space Service in order to centralize the Space roles ACL checks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment