Group D8 is already in a very usable state, but still needs a few items to deserve a full release.

Phase 1: Release 8.1.0

  1. #3013678: Implement the query access handling that was recently added to Entity API
  2. #3134072: Implement the query access handling for grouped entities
  3. Tag 8.1.0 so we finally have a full release and security coverage

Phase 2: Differentiate between 8.1.1 and 8.2.x

  1. Cut a 2.x branch and move all of the issues that would require a non-BC code change there
  2. Evaluate popular issues (such as membership requests) that are possible on 8.1.x and work on those
  3. Tag releases which incrementally add cool new features such as membership requests (e.g.: 8.1.1 = the membership request release)

Group 8.2.x initial work

  1. Rename some poorly named classes and interfaces (looking at you GroupContentEnabler and friends)
  2. Simplify synchronized roles to always give you specific permissions, not just until you join a group
    #2884662: Give group permission based on global role regardless of group membership
  3. Get rid of the "bypass group access" permission; it's an accident waiting to happen
  4. Updated the code base to the most recent available tools and coding conventions
  5. Write tests for everything that hasn't been covered yet

Various

Things to keep an eye on from the old issue summary

Comments

kristiaanvandeneynde created an issue. See original summary.

kristiaanvandeneynde’s picture

I will create tickets for each item in the above list soon enough.

kristiaanvandeneynde’s picture

Category: Task » Plan
Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue tags: +Deeson sprint
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Made amazing progress during the sprint today, thanks to all involved!

kristiaanvandeneynde’s picture

Issue summary: View changes

Added a rather major issue regarding the database tables.

kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Plugin config: GroupContentType specific - skip form when no fields are configured

Nope nope nope nope.

Just tried this out locally and it basically allowed anyone to craft URL's to allow people to join groups without them knowing about it beforehand. Sounds like a potential can of worms so not doing it (for now?).

kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Added a few items that now have issue links, removed the entry regarding skipping forms.

kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

All beta blockers are now completed. Going through the code base one last time before tagging beta1.

@followers: If you need anything API-wise or discover any critical bugs, now would be the time to say so :)

kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Adding an issue that is really important for the UX of adding entities to a group.

kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Updated the issue summary now that we are ready to cut a release candidate.

kristiaanvandeneynde’s picture

Issue summary: View changes
worthwhileindustries’s picture

I'm trying to figure out how to expose permissions from other modules. It doesn't look like you have any hooks that I can use to create a submodule.

- I want to add the ability for Admins to manage their own menus or add other permissions from other modules. Do you have a tutorial on how to extend this module or point me in the right direction to do this?
- Are these permissions within the module separate from the Drupal core permissions or are you hooking into those somehow?

kristiaanvandeneynde’s picture

For questions like these you should really open up a separate issue. It makes it easier for others to find the right answer when searching.

P.S.: It's defined in mymodule.group.permissions.yml

zenimagine’s picture

Have you planned email invitation as in drupal version 8. And the possibility for a group to accept or reject an application to join?

kristiaanvandeneynde’s picture

Not for version 8.1.0, perhaps in a 8.1.1 release.

perignon’s picture

I think you should have Documentation as a blocker for release. At a minimum, you should have a README to tell a system administrator how to setup the module. The YouTube video links in the additional resources are for a version of the module over a year ago, the module has changed and those are not 100% applicable.

dravenk’s picture

Issue summary: View changes
kristiaanvandeneynde’s picture

Issue summary: View changes

Fixed / Closed issues are striped through automatically :)

kristiaanvandeneynde’s picture

Issue summary: View changes
mxt’s picture

In my opinion this is a blocker also:

#2842630: Empty page when trying to create group node

plach’s picture

Any idea on whether #2752603: Request Membership feature should be part of this roadmap?

In #6 kristiaanvandeneynde said:

All in all, the idea is good. I definitely want to see this land before a 1.0 is released.

kristiaanvandeneynde’s picture

Hmm good point. I'm actually thinking of going down a slightly different route.

Phase 1

  1. Commit #2906082: Figure out a way to cache lists using group permissions
  2. Implement the query access handling that was recently added to Entity API so we can have secure lists
  3. Tag 1.0 so we finally have a full release and security coverage

Phase 2

  1. Cut a 2.x branch and move all of the issues in the IS that would require a non-BC code change there
  2. Evaluate popular issues (such as membership requests) that are possible on 8.1.x and work on those
  3. Tag releases which incrementally add cool new features such as membership requests (e.g.: 8.1.1 = the membership request release)

Group 8.2.x initial work

  1. Rename some poorly named classes and interfaces (looking at you GroupContentEnabler and friends)
  2. Simplify synchronized roles to always give you specific permissions, not just until you join a group
    #2884662: Give group permission based on global role regardless of group membership
  3. Get rid of the "bypass group access" permission; it's an accident waiting to happen
  4. Updated the code base to the most recent available tools and coding conventions
  5. Write tests for everything that hasn't been covered yet
geek-merlin’s picture

Also note that in #2718195-40: Add a computed field for entity's group(s) a group selector widget has gotten low hanging fruit. ;-)

kristiaanvandeneynde’s picture

Issue summary: View changes

Updated the IS to reflect #37. Might look into #38, but no promises :)

scotwith1t’s picture

I'd like to advocate for getting #2829966: Support for Revisions on groups in the mix here. Seems like revisions should have been considered out of the box as a core competency. Revisions should be baked into everything that relates to or behaves like content, especially as core introduces stable Workflows and Layout Builder modules. Being able to track changes made to a group and its content seems like critical (8.1) functionality to me, but happily settle for seeing it at least in the roadmap for 8.2?

geek-merlin’s picture

+1 for Revisions.

skowyra’s picture

+1 for Revisions.

nigelcunningham’s picture

Are you talking about config entities needing revisioning support? If so, I have created a module "Config Entity Revisions" that implements an API module for revisioning content entities. I started with support for Webforms, and am currently doing a big rewrite / cleanup as part of implementing support for Views. I'll happily support Groups too if that will help you.

jidrone’s picture

Hi NigelCunningham,

The group entity type is a Content entity type, so your module is not applicable in this case.

Now #2829966: Support for Revisions on groups is ready for review and it was splitted in three child issues to make it easier to review.

nigelcunningham’s picture

Great; thanks!

kristiaanvandeneynde’s picture

Agreed, we can at the very least try to get revisions in the first full release. If it is blocked somehow, we can do it in a minor update (8.1.1) along with core 8.7.0 when it is released May 1st and comes with support for enabling revisions post-install.

Furthermore, we need to implement https://www.drupal.org/node/2973262 and fix as many @todos as possible before a full release.

kristiaanvandeneynde’s picture

New release out. Unless rc3 comes with critical bugs, I expect the next release to be 8.1.0

dww’s picture

Thanks, this is exciting progress!

Curious if/where you see #2813405: Add a field to view and edit content's groups fitting into this roadmap. @axel.rutz mentioned #2718195: Add a computed field for entity's group(s) in #38 but that's now duplicate and merged into the work at #2813405. This seems like a really important and useful feature. Any chance we could try to get that in before 8.x-1.0 final?

kristiaanvandeneynde’s picture

Well, any brandnew feature at this point warrants at least one more RC, delaying a full release. So I'd rather do the following:

  • Check the major feature requests for BC-breaks/API changes
  • If none, go ahead with a release and add these new features as 8.1.1, 8.1.2, etc. releases.
  • If any, try to make sure 8.1.0 allows for these features to be added in later versions and do the same as above.
xurizaemon’s picture

Have attached (IMO critical) bug #3061321: Uncaught exception in Nodes and Members tabs in rc3, which breaks Group displays on sites with existing content.

dww’s picture

Re: #49: Okay, fair enough. Let me know if this is out of scope and we should discuss this elsewhere...

The latest patch for #2813405: Add a field to view and edit content's groups is about 98% a whole new sub module. So I don't see any BC-break or API change issues. The only real "API changes" as such are in:
src/Form/GroupSettingsForm.php (injects the moduleHandler service and implements a constructor and create() method).
src/Plugin/GroupContentEnablerManagerInterface.php (adds a new method: public function getPluginIdByEntityType()).
src/Plugin/GroupContentEnablerManager.php (implements the new getPluginIdByEntityType() method).

It would be really nice to have this working in the 8.x-1.x series. Looks like you're going to need another RC, anyway. Any chance you'd be willing to get this into the RC so we don't have to worry about the API changes to the main module listed above?

Thoughts?

Thanks!
-Derek

heddn’s picture

I think #2752603: Request Membership feature is the only outstanding item remaining on this issue. Does that sound right to anyone else or are there lurking issues not tagged to this meta that also need to land?

dalra’s picture

I think #2771065: Group Node: Only authors should be able to create Gnodes for their nodes needs to be done to prevent node authors from loosing access to their nodes.

dww’s picture

@heddn I still think #2813405: Add a field to view and edit content's groups could be somewhere on the plan. ;)

Also, the summary is making interesting use of semver-esque versions, but this project is still using BespokeVer (8.x-Y.Z) version numbers. Please note that Y in the above maps to SemVer Major and Z maps to Minor. So "Differentiate between 8.1.1 and 8.2.x" is a kinda wonky way to express things.

We should consider if it makes sense to actually move to semver for this project, now that that's supported. If so, the official release would actually be "2.0.0", and then we'd be differentiating between "2.0.x patch-level bug fixes vs. 2.1.x minor-level new features vs. 3.0.x API-breaking changes".

If not, we'd probably benefit from being more specific and accurate in the summary. E.g. "Differentiate between 8.x-1.1 and 8.x-2.x".

Thanks,
-Derek

dbielke1986’s picture

Since #2813405: Add a field to view and edit content's groups has been moved to a separate submodule, couldn't you build an official 8.1 release now? Is there anything missing here?

kristiaanvandeneynde’s picture

Issue summary: View changes

There are some follow-ups to #3013678: Implement the query access handling that was recently added to Entity API that require a new Entity API release. I'm working on that now.

FYI: #3134072: Implement the query access handling for grouped entities is the blocked issue

kristiaanvandeneynde’s picture

Status: Active » Closed (outdated)
Issue tags: -Deeson sprint

Closing in preparation of a release. Will dig this up when I create a 8.x-1.1 and a 2.0.0 roadmap.