Composite groups

Inside of Grouper is a little-known feature that allows you to create new groups through applying logic to existing groups. This feature is known as composite groups.

Whilst the functionality of using this ‘group logic’ brings great power, it’s easy to get yourself in a knot. The following simple example works through the creation of new groups containing students studying a specific stage on a specific programme.

Creating a group containing Stage 1 students studying on H200:

We already publish groups containing Student to Programme (Corporate Data:Student_Programme_Enrolments), and Student to Stage (Corporate Data:Student_Stage_Enrolments) assignments which are updated daily using data derived from SAP. If your school is not published already, get in touch and we’ll add it it.
We need to combine these two corporate data sources…

1. Browse to where you want to create the group (if you’re publishing to Active Directory then this will need to be in the Applications stem).

2. Create your new group as per normal, and give it a sensible name, e.g. MyExample_H200_Stage11

3. Click More Actions > Edit composite2

4. Select the two factors that will build this composite group, then select ‘AND’ as the operation (implying that a user will only become a member of your new group if they’re a member of both of the composite groups)3

Note that in addition to an ‘AND’ (intersection) operation, you also have the option of using a ‘NOT’ (complement) to exclude members.

Grouper performance update

On Monday, the Grouper UI was, at times, unusably slow. This, understandably, was a great inconvenience to several people. For that, I apologise. It was unforseen but we now understand the reasons and have formulated a plan of action.

Firstly, the reason – why did this happen? Well, the eagle-eyed amongst you may have spotted that Monday was the first day of teaching for the majority of our students. OK, I hear you say, but what does that have to do with Grouper? Well, it’s actually down to the phenomenal popularity of the Newcastle University mobile app. The way the app is currently architected, there is a web service call to the Grouper API every time a student logs in to the app or they refresh their news feed.

Chart showing a large spike in load on the mobile app at start of term.

Chart showing a large spike in logins to the mobile app at start of term

The chart above shows the spike on Monday, when new students downloaded the app for the first time and returning students logged in to see their timetables. The resulting spike in calls to the Grouper API were too much for the poor little server to handle, with the database process maxing out the CPU.

So, what are we doing about it? Well, we’re not just going to stand here and do nothing but apologise. Our approach is three-pronged (rather like a fancy dessert fork):

  1. We’re going to add more CPU to our Grouper server.
  2. We’re working with Mike, Mike, Andy and Marc to redesign the data architecture behind the app, using purpose-built RESTful web services from IDFS and removing Grouper from the equation.
  3. We’re continuing with our Grouper upgrade plans.