Experimental project

This is a sandbox project, which contains experimental code for developer use only.

This module provides batch and automatic pull syncing of user data from a Crowd directory to Drupal. The main Crowd SSO module (current dev version) is required.

The main Crowd SSO module has native pull sync capabilities (to update a Drupal account with data from a remote Crowd directory) but they are only triggered during a user login or local SSO session initialization. This means that changes made to the user's info in Crowd are not reflected in Drupal until each user's next login. For use cases where Drupal needs to act as an administrative portal to Crowd user data an additional layer of cron-based change detection and pull syncing is needed, which is what this module provides.

After enabling the module a new administration page is enabled at /admin/config/crowd/crowd_batch_pull. From here you can invoke manual batch detection and pull operations and/or enable automatic cron-based functionality. When cron-based options are enabled each cron run will trigger a series of remote queries (via the Crowd API) to detect users that have been:

  • Updated in Crowd since the last cron run
  • Added in Crowd since the last cron run
  • Had group changes applied in Crowd since the last cron run
  • (Optionally) Been deleted from Crowd

The users that have been targeted by these queries are then added to a crowd_batch_pull queue for individual processing. As the queue is processed the native Crowd SSO module's pull sync logic is triggered for each user, ensuring that they are formally updated in Drupal. In most cases both detection and pull (queue) processing are completed during the same cron run, but during very large updates (many users updated at once in Crowd) multiple cron runs may be required to process all updated users.

Supporting organizations: 

Project information