diff --git a/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties b/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties
index 67631c5..7d66bbd 100755
--- a/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties
+++ b/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties
@@ -64,9 +64,14 @@ provisioner.midPoint.customizeEntityCrud = true
provisioner.midPoint.customizeGroupCrud = true
provisioner.midPoint.customizeMembershipCrud = true
provisioner.midPoint.dbExternalSystemConfigId = midPoint
-provisioner.midPoint.deleteEntities = false
-provisioner.midPoint.deleteGroups = false
-provisioner.midPoint.deleteMemberships = false
+provisioner.midPoint.deleteEntities = true
+provisioner.midPoint.deleteEntitiesIfNotExistInGrouper = false
+provisioner.midPoint.deleteEntitiesIfGrouperDeleted = true
+provisioner.midPoint.deleteGroups = true
+provisioner.midPoint.deleteGroupsIfNotExistInGrouper = true
+provisioner.midPoint.deleteMemberships = true
+provisioner.midPoint.deleteMembershipsIfNotExistInGrouper = false
+provisioner.midPoint.deleteMembershipsIfGrouperDeleted = true
provisioner.midPoint.makeChangesToEntities = true
provisioner.midPoint.midPointDeletedColumnName = deleted
provisioner.midPoint.midPointLastModifiedColumnName = last_modified
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-grouper-new.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-grouper-new.xml
index 4ac1d2c..542db2d 100644
--- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-grouper-new.xml
+++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-grouper-new.xml
@@ -303,6 +303,14 @@
+
+ deleted
+
+
+ true
+
+
+
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-grouper-provided-group.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-grouper-provided-group.xml
index 900922f..a9351a4 100644
--- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-grouper-provided-group.xml
+++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-grouper-provided-group.xml
@@ -90,39 +90,6 @@
-
- lifecycle state
- This mapping sets org lifecycle state to be either "active" or "retired", depending on
- whether Grouper group for this org still exists. Orgs in the latter state are on the way to deletion:
- their members are unassigned and after no members are there, the org is automatically deleted.
- strong
-
-
-
-
- lifecycleState
-
-
+
+
+
+
+
+
+ targetRef
+
+
+
+
+
+
+
+
+
+
P3M
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/600-task-import-grouper-groups.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/600-task-import-grouper-groups.xml
deleted file mode 100644
index 8d04969..0000000
--- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/600-task-import-grouper-groups.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
- Groups: Import groups/entitlements
-
- 2023-06-30T18:40:13.058Z
-
-
-
- 2023-06-30T18:40:13.385Z
-
-
-
- http://midpoint.evolveum.com/xml/ns/public/common/channels-3#user
-
-
-
- 2023-06-30T18:40:13.058Z
-
-
-
- 2023-06-30T18:40:13.385Z
-
-
-
- http://midpoint.evolveum.com/xml/ns/public/common/channels-3#user
-
-
-
-
-
- enabled
-
-
- 0
-
-
-
-
-
-
-
- 1688150413389-46241-1
-
-
-
- runnable
- ImportingAccounts
-
-
-
- loose
-
- 600
-
-
-
-
-
-
-
-
- entitlement
- group
- ri:GroupObjectClass
-
-
-
-
-
-
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/610-task-reconcile-grouper-groups.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/610-task-reconcile-grouper-groups.xml
new file mode 100644
index 0000000..08120a2
--- /dev/null
+++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/610-task-reconcile-grouper-groups.xml
@@ -0,0 +1,51 @@
+
+ Groups: Reconcile groups/entitlements
+
+
+
+
+
+
+ enabled
+
+
+ 0
+
+
+
+
+
+
+
+ 1689973935302-20962-1
+
+
+
+ runnable
+ ready
+ Reconciliation
+ success
+
+
+
+
+ loose
+
+ 600
+
+
+
+
+
+
+
+
+ entitlement
+ group
+ ri:GroupObjectClass
+
+
+
+
+
+
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/620-task-import-grouper-subjects.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/630-task-reconcile-grouper-users.xml
similarity index 62%
rename from Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/620-task-import-grouper-subjects.xml
rename to Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/630-task-reconcile-grouper-users.xml
index f09e3ff..d7fe038 100644
--- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/620-task-import-grouper-subjects.xml
+++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/630-task-reconcile-grouper-users.xml
@@ -1,30 +1,19 @@
-
- Groups: Import users/accounts
-
- 2023-06-30T18:40:34.255Z
-
-
-
- 2023-06-30T18:40:34.297Z
-
-
-
- http://midpoint.evolveum.com/xml/ns/public/common/channels-3#user
-
+
+ Groups: Reconcile Users/accounts
- 2023-06-30T18:40:34.255Z
+ 2023-07-21T21:12:58.938Z
- 2023-06-30T18:40:34.297Z
+ 2023-07-21T21:12:58.953Z
http://midpoint.evolveum.com/xml/ns/public/common/channels-3#user
-
-
+
+
enabled
@@ -32,28 +21,34 @@
0
-
-
+
+
-
-
+
+
- 1688150434298-46241-1
+ 1689973978954-20962-1
- runnable
- ImportingAccounts
+ runnable
+ ready
+ Reconciliation
+ success
+ 2023-07-21T22:20:16.993Z
+ 2023-07-21T22:20:33.812Z
+ 2023-07-21T21:15:14.922Z
+
loose
- 600
+ 650
-
+
@@ -62,7 +57,7 @@
default
ri:CustomSubjectObjectClass
-
+
diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/995-task-group-scavenger.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/995-task-group-scavenger.xml
deleted file mode 100644
index a4213aa..0000000
--- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/tasks/995-task-group-scavenger.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
-
-
- Groups: Group Scavenger
-
-
-
- execute-script
-
- script
-
- import com.evolveum.midpoint.xml.ns._public.common.common_3.*
-
- result = midpoint.currentResult
- log.info('Processing dead group: {}', input)
- query = prismContext.queryFor(UserType.class)
- .item(UserType.F_ROLE_MEMBERSHIP_REF).ref(input.oid)
- .build()
- members = midpoint.repositoryService.searchObjects(UserType.class, query, null, result)
- log.info('Found {} members: {}', members.size(), members)
-
- for (member in members) {
- log.info('Going to recompute {}', member)
- try {
- midpoint.recompute(UserType.class, member.oid)
- } catch (Throwable t) {
- log.error('Couldn\'t recompute {}: {}', member, t.message, t)
- }
- }
- log.info('Members recomputed; checking if the org is still in "retired" state')
- orgAfter = midpoint.repositoryService.getObject(OrgType.class, input.oid, null, result)
- currentState = orgAfter.asObjectable().lifecycleState
- log.info('Current state = {}', currentState)
- if (currentState == 'retired') {
- log.info('Deleting the org: {}', orgAfter)
- midpoint.deleteObject(OrgType.class, orgAfter.oid, null)
- } else {
- log.info('State has changed, not deleting the org: {}', orgAfter)
- }
- log.info('Dead group processing done: {}', input)
-
-
-
-
-
- OrgType
-
-
-
- lifecycleState
- retired
-
-
-
-
-
-
-
-
- runnable
- BulkActions
- recurring
-
- 60
-
-