Using Groups for Organizational Hierarchy and Projects

Top  Previous  Next

The Groups feature is flexible enough to allow you to model any structure.  You might want to use groups to represent an organizational hierarchy like the Using Groups for Organizational Hierarchy example and use groups to represent projects like the Using Groups for Projects example.  This is supported and gives us all the advantages of both approaches.

Creating Groups

We create the groups to represent organizational hierarchy using the sync process as described in the Using Groups for Organizational Hierarchy example.  We create the groups to represent the projects manually as described in the Using Groups for Projects example.  Code Collaborator remembers which groups were created manually and which were created using sync, so the sync process doesn't delete the manually created project groups.

Assigning Group Members

Instead of manually naming each user that is a member of each project group like we did in the Using Groups for Projects example, we can indicate that all the members in an organizational hierarchy department are working on a project by making the organizational hierarchy group a child of the project group.  This is much easier than assigning individual user members, but we lose some fine-grained control.

Associating groups with Reviews

All of the organizational hierarchy groups have "Allow associate with review" set to "No".  The Western, SciFi, and Medieval project groups have "Allow associate with Review" to "Yes".  We configure the singular group label to "Project" and the plural group label to "Projects".

When a user creates a review it will be associated with a project group.  If the user's organizational hierarchy group is only a member of one project group then when they create a review they don't have to manually choose a group - the review is automatically associated with the project group. If a user's organizational hierarchy group is a member of more than one project group then when they create a review they are prompted to select one of those "Projects" to associate with the review.

Filtering the participant list

When a user creates a review they can choose to filter the participant list by that group.  This lets a user filter the list of participants by only the users working on the project associated with the review.  This is useful at large companies to make the list of users more manageable.

Restricting Access based on group

Access to reviews can be restricted based on associated group.  The restriction can be set for all reviews or just for a particular review.  For example, if a review was associated with the Western group and group access restriction was enabled, then only users working on the Western project would be able to access it.

Reporting based on group membership

The reporting system can be used to create reports of e.g. all reviews where a member of a department was a participant, or all reviews created by a member of a department, etc...

Reporting based on associated group

You can also display, sort and filter reports by the associated group, so you know which project the review was for.

Finishing projects

When a project is finished, we mark it's group disabled.  This means the group can no longer be associated with reviews, but it's still in the system for reporting purposes.