1

There currently still is not a working version for Organic Groups access control, compatible with ECK entities.

My current site contains entity type project and entity type project content. The project content references the project through an entityreference field.

I would like to use an access control system that grants access to specific projects, and when that access is granted, the user has also access to specific project content entity types.

I know that Organic groups uses a relationship approach in which the group membership is an entity, and there is a two level deep relationship between group content (or group member) and the group.

In my case I prefer the simple direct entityreference (one level relation) between content and project. This would serve simplicity and performance. If you would advise against that, please let me kow.

I would like to receive guidance on how to set up such permission system, and possibly your suggestions and recomendations based on your experience with a similar setup. Thank you.

1

If you'd be willing to use the Group module, then you could do like so:

  • You can configure a Group Type named "Project", so that this Group Type would replace your entity type project.
  • You can create 1 Group (of group type "Project") for each of your Projects (each Group probably labelled with the name of a specific project).
  • You can assign nodes to a Group (of group type "Project"), so that these nodes would replace your project content entity types.

Group is available as of D7, and has a D8 version also. It is designed to be an alternative to Organic Groups. The Group module creates groups as entities, making them fully fieldable, extensible and exportable.

With the above in place, you also have the permission system you're looking for, out-of-the-Group-box.

More info:

Integration with various modules

The Group module integrates with various other (popular) modules, including:

The beauty, IMO, of these integrations are that they are more or less out-of-the box (not dozens of extra modules needed to make those integrations work).

Resources

  • Although I need it for a site that already has its entity structure and entityreferences in place for a a lot of content, I'll give Group a try and see how it works. Thank you and I'll report soon. – Yuri Oct 19 '17 at 10:59
  • I got a fatal error right after enabling Group and Group Node on my existing site. drupal.org/node/2917347 – Yuri Oct 19 '17 at 11:23
  • Do you know if the Group Node submodule can be used for ECK entities, or is it restricted to nodes? I stopped using nodes two years ago. – Yuri Oct 19 '17 at 11:24
  • I see hat the Group guys stopped working at the D7 version more than 2 years ago no commits since then. They only focus at D8 apparently. – Yuri Oct 19 '17 at 12:05
  • @Yuri I never experienced an error like you reported in that D.O issue now (no idea what may cause it, sorry). To use the Group module with other (custom) entities: I've never done so myself, but maybe this D7 docu issue may help a little bit. "Stopped working" (for D7) is not really the right phrasing I think. It's rather something like "the D7 version seems functionally stabilized, though D7 related support issues still get addressed". Know however that there have been huge improvements in the D8 version of Group. – Pierre.Vriens Oct 19 '17 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.