-
Notifications
You must be signed in to change notification settings - Fork 168
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
Issue #3403634: Upgrade group module to version 2.x #3682
Conversation
Thanks for contributing towards Open Social! A maintainer from the @goalgorilla/maintainers group might not review all changes from all teams/contributors. Please don't be discouraged if it takes a while. In the meantime, we have some automated checks running and it might be that you will see our comments with some tips or requests to speed up the review process. 😊 |
9b13621
to
e990b48
Compare
39c4fd9
to
6d0a57b
Compare
e2e2e6b
to
0f06009
Compare
613b9a9
to
c5f4b46
Compare
35ae492
to
e78cac0
Compare
aae8c28
to
38483e1
Compare
… fix it in the sql-queries
… Refactor access control for events
…nshipInterface in activity functionality
… distro Rather then support a patch (from https://www.drupal.org/project/group/issues/2718195) that never be in "group" module we move all changes to distro. In a future we can consider use the https://www.drupal.org/project/entitygroupfield contrib module and replace our custom "groups" computed field.
… access" for nodes in groups
… upgraded So, it prevent a compatibility issue for existing sites during group migrations
…er roles After group upgrade 'content' replaced with 'relationship' permission. So, need to assign new permissions for user roles to adjust access to group relationship items.
…d social_group_request modules
…M/CS insider roles
…ype function Also, replace related source code in social_group_secret module that is abandoned
5da25c4
to
c43c826
Compare
Tugboat has finished building the preview for this pull request! Link: Dashboard: |
Test done, all good wth groups creation, behavior and notification! |
Problem
Currently, we are using
group
module 1.x on the open_social but it's about end-of-life and it's time to upgradegroup
module to 2.x version.Also, for the group update, need to replace/remove all deprecated source code, see more info
Solution
Group 2 provides a wealth of UX, DX and Performance benefits that we want to start taking advantage of. We believe the move to Group 3 is too disruptive at this point, requiring the changing of machine names in a lot of unidentified places. We will focus our efforts on the upgrade to Group 2 and have no timeline for the Group 3 upgrade at the moment.
Before performing the upgrade to Group 2 we will remove the old group types from Open Social to reduce the amount of code that needs updating and support #3380714: [13.0.0] Remove support for public_group, open_group, closed_group, and secret_group and migrate to flexible_group.
Both changes are currently planned for a single major release of Open Social which will NOT be the same release as the Drupal 10 update, to ensure everyone can upgrade to a supported Drupal core version before working on the group update.
For the changes to Group and potential changes needed to your own code please refer to the excellent Group 2 release notes. A special shout-out to the walkthrough of Group 2/3 that Kristiaan recorded and posted to YouTube which is required watching for both developers and site-builders working with the Group module.
Where the work is
Acceptance Criteria
The new plugin types will need work from us if we’ve created custom plugins.
Issue tracker
Theme issue tracker
How to test
Definition of done
Before merge
After merge
Screenshots
Release notes
Upgrades Group Module from 1.6 to 2.x and adjusted related functionality including access system as well
Change Record
Flexible Permissions (has been added already because it's require current group upgrade)
A new module is being introduced and adopted by Group: Flexible Permissions. Work is ongoing to move this module into Drupal core as well.
Roles and their UI have been reworked
Roles were always tricky to configure for groups, especially in relation to other roles (e.g. site manager). This is why we have “Group Manager” and “Group Admin” with Site Managers always receiving the “Group Admin” role. However, over-time this could make managing these roles more difficult. The new permission system is simplified and allows us to more easily express the different roles that might exist within a group, as well as what should happen for the global roles whether they’re a member of the platform or not.
The access system is overhauled to improve performance
Drupal has an access system which works for all entities, but it can lead to large database queries. Because of how central Group can be to systems (like Open Social) and how large these queries can go, it now implements custom logic to generate these queries. This makes them a lot smaller and faster to execute.
GroupContentEnabler is now GroupRelationType
This is mostly important for Developers. However it provides much better control and easier tools to work with the kinds of thing a group can be joined to (for example the relationship between a group and a user). Importantly it also allows establishing the relationship between two types of entities multiple times to signify different types of relationships.
Here is a list of all common changes in group API: https://www.drupal.org/docs/extending-drupal/contributed-modules/contributed-module-documentation/group/updating-your-modules-to-group-20-api
So, all related functionality will be replaced/adjusted in the custom, social_features modules and themes
Also, has been changed access system, for now it should be more flexible however it could require adding new permission to the group roles.
Translations