1

My Drupal experience is limited to a single site with custom content types and standard roles. Please take a look at the use case below, involving content being routed through multiple organizational levels, so there is consolidation at each level and some content being "highlighted" for the next higher level.

My company has weekly activity reports. Each member submits an activity report and then the team lead chooses a few to be submitted to our section manager. Then our section manager chooses a few (from multiple teams) to be submitted to our division manager. Then our division chooses a few (from multiple sections) to be submitted to our top level manager.

What stuff should I look into to accomplish content going through different levels like this?

  • study orgnic groups – pinueve Jan 24 '18 at 2:26
  • I forgot to mention Drupal 8, I don't see a groups module for 8. – Zack Jan 24 '18 at 3:11
  • drupal.org/project/og/releases/8.x-1.x-dev, i have not tested yet. – pinueve Jan 24 '18 at 3:20
  • Talking about a "GroupS" module for D8 ... How about the Group module? Refer to my answer for more details ... – Pierre.Vriens Jan 24 '18 at 21:22
0

Have a look at the Group module (commonly perceived as an alternative for Organic Groups).

Group allows for creating arbitrary collections of your content and users on your site, and grant access control permissions on those collections. It is available as of D7, and has a D8 version also. The Group module creates groups as entities, making them fully fieldable, extensible and exportable. Which also makes it integrate very well (out of the box) with commonly used modules such as Rules, Views, etc.

Some more questions you may want to look at for more details:

Sample configuration

Below is an example of a possible configuration, which may help to get you started with possible configurations (using the Group module):

Group type ID ! Group type ! Group role ID ! Role
--------------+------------+---------------+------------
 1            ! Class      ! 3             ! Instructor
 1            ! Class      ! 4             ! Student
 2            ! Customers  ! 5             ! Lead
 2            ! Customers  ! 6             ! Prospect
 2            ! Customers  ! 7             ! Licensed Customer
 2            ! Customers  ! 8             ! Sales
 2            ! Customers  ! 9             ! Support
 2            ! Customers  ! 10            ! Accounting
 2            ! Customers  ! 11            ! R&D
 3            ! Project    ! 12            ! Project Manager
 3            ! Project    ! 13            ! Developer
 3            ! Project    ! 14            ! Customer 

Group Types

The above example consists of 3 group types:

  • Class.
  • Customers.
  • Project.

Group Roles

For each of the 3 group types, there are specific Roles defined, some more details about some of them:

  • for the Class group, these are the 2 roles that are configured:
    • Instructor.
    • Student.
  • for the Project group, these are the 3 roles that are configured:
    • Project Manager.
    • Developer.
    • Customer.

These are the Group Specific Roles: these roles can be configured per group type and will only be available on groups of that group type. As an example, for group type "Class", the defined roles are Instructor and Student (which are not available for the other group types.

On top of the group specific roles, there are also Special Global Roles: These are the special (hardcoded) roles named Outsider (= a signed in user that did not join a group) and Member (= a signed in user that did join a group). These cannot be defined by the Drupal administrator, and they are always available for any group. These roles can have different permissions sets for each group type. Special case: the role Anonymous is related to a user that is not signed.

Groups

Each of the configured group types can have any number of Groups.

Examples of groups:

  • for the Class group type, there could be these Groups:
    • Getting started with Drupal.
    • Drupal for site builders.
    • Become an expert in using the Rules module.
  • for the Customers group type, there could be these Groups:
    • Service Requests.
    • Order Processing.
    • Sales Orders.
    • Relationship Management.

Permissions

For each of the configured group types, you can then also configure for each Content Type which Role has what kind of access (= none, view, create, edit, delete). Be aware: even though this looks similar to Drupal's permission configuration, these permissions are not the same permissions (they are specific to the Group module).

Your usecase

In your case, your challenge seems to be about this:

... content going through different levels like this?

Translated to an implementation using the Group module, it seems to me that all that's needed is to assign, and later on re-assign, each node (content) to an appropriate group. Whereas you use appropriate group permissions/roles to accutally perform these assignments.

And for the required group types to be configured, I'd start with these specific group types:

  • Teams (with groups Team T1, Team T2, ..., Team Tn).
  • Sections (with groups Section Sa, Section Sb, ..., Section Sx).
  • Devisions (with groups DevX, DevY, DevZ).

Resources

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.