There are the following kinds of groups:
CategoryGroups have the following Status:
Added WaitingForApproval WaitingForCreation GroupCreated ArchivedByMicrosoft ArchivedByGroupHive
MasterdataGroups have the following Status:
WaitingForApproval, WaitingForCreation, GroupCreated, ArchivedByMicrosoft, ArchivedByGroupHive
UnassignedGroups have no status
CategoryGroups are always created in the context of a category.
This category can be configured to not create groups directly after creation, but wait until the group is „inited“. This can make sense if structures like departments should be build first in a preview mode without actually creating things in Microsoft 365.
So after creation a CategoryGroup will get:
- Added as status, if the CategoryDefinition has the CreateGroupAutomatically flag enabled (ApprovalNeeded flag does not matter)
- WaitingForApproval as status if the CategoryDefinition has the ApprovalNeeded flag enabled, but the CreateGroupAutomatically flag disabled
- WaitingForCreation as status if the CategoryDefinition has the ApprovalNeeded flag disabled and the CreateGroupAutomatically flag disabled
If a CategoryGroup is in the „added“ state, the user who added the group is allowed to „init“ the group. Initing means that the group will be:
- Set to WaitingForApproval if the CategoryDefinition has the ApprovalNeeded flag enabled.
- Set to WaitingForCreation if the CategoryDefinition has the ApprovalNeeded flag disabled
If the group is in the WaitingForApproval mode, a defined approver can approve the group and set it to WaitingForCreation.
If the group is in the WaitingForCreation mode it will be created and set to GroupCreated after the successful creation.
The same happens like for CategoryGroups, but:
- The Added status does not exist => So MasterdataGroups cannot be inited
- The list of approvers and the information weather groups have to be approved is not bond to any category, but comes from a global value
UnassignedGroups do not have any status. This is because they have been created already, independently from GroupHive. If they are converted to a CategoryGroup or MasterdataGroup, they will directly receive the status GroupCreated.
ApproveGroup => Set the status to WaitingForCreation
InitGroup => Set the status from Added to WaitingForApproval/WaitingForCreation
SetGroupStatus => Set the group to an arbitrary status