Refresh a DataGroupUserGroup workflow

Related Issues

Document Status

#17

In Progress

#21

In Progress

There are multiple scenario, where the DataGroupUserGroup of a data group needs to be updated. E.g. when a user has been removed from the list of owners of the data group itself, or from one of it’s parent DataGroups (see Remove an owner from a parent DataGroup workflow for instance).

To efficiently refresh the owners of the data group, we need to query the DataGroupUserGroups of all it’s parents and add the resulting users to the DataGroupUserGroup of the DataGroup that is about to be refreshed.

Using the DataGroupNode relations implemented with django-postgresql-dag, we can get all owners of the parents with one single database transaction and synchronize the DataGroupUserGroup with this list.

The figure Sequence Diagram to refresh the owners of a DataGroup illustrates this workflow.

Refresh the DataGroupUserGroup

Sequence Diagram to refresh the owners of a DataGroup