Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Gliffy Diagram
namegracePeriods
pagePin6


Create a new recent-memberships group

  1. Create or navigate to the group which holds the recent memberships
  2. Click on the More Tab → Loader, and configure a recent memberships loader



    1. Select the "from group"
    2. Select the "days of recent memberships".  Note, this can be a decimal
    3. Identify if include current memberships
  3. Wait a minute and if the change log is up to date the recent-memberships group will be created and populated
  4. Nightly loader job will sync things up but it should be up to date in near real time using the change log
  5. Note, if you remove these recent-memberships attributes, the recent-memberships group and members will still be there.  You will need to delete the orphaned recent-memberships group

Configuration

To disabled the loader job edit this in grouper.properties

...

Code Block
# Recent-memberships consumer will update recent-memberships groups as memberships/attributes change
# {valueType: "class", mustExtendClass: "edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase"}
changeLog.consumer.recentMemberships.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer

# recent-memberships runs as change log consumer
# {valueType: "string"}
changeLog.consumer.recentMemberships.quartzCron = 

# if this many records happens in one change log session, just do a full loader job
# {valueType: "integer", defaultValue: "100"}
changeLog.consumer.recentMemberships.maxUntilFullSync = 100

# publishing class for recent-memberships
# {valueType: "class", mustExtendClass: "edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbMessagingPublisher"}
changeLog.consumer.recentMemberships.publisher.class = edu.internet2.middleware.grouper.app.serviceLifecycle.GrouperRecentMembershipsChangeLogConsumer


Internal structures

  • Configuration is stored in attributes on the "to" group



  • In order to make the loader query more efficient and simpler to troubleshoot, a view consolidates the attributes into one simple place to get recent membership configuration



  • This is synced to a table for performance reasons



  • The grouper_time table is consulted to make this database agnostic



  • A view on that table the PIT view will show the memberships to be loaded

Script a recent membership group

Just change the first 4 params and it will do the rest

...