diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties
index ed5649a880f..8ba99faf4a1 100755
--- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties
+++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties
@@ -4174,3 +4174,4 @@ transition.details=Transition
ref.details=Reference
ShowEmptyButton.showMore=Show empty fields
ShowEmptyButton.showLess=Hide empty fields
+TaskExecutionGroupConstraintType.details.newValue=New secondary execution group definition
\ No newline at end of file
diff --git a/infra/schema/src/main/resources/localization/schema.properties b/infra/schema/src/main/resources/localization/schema.properties
index de7e31bdf92..dc91c3b0ebe 100755
--- a/infra/schema/src/main/resources/localization/schema.properties
+++ b/infra/schema/src/main/resources/localization/schema.properties
@@ -1024,6 +1024,25 @@ WfConfigurationType.executionTasks=Execution tasks
WfConfigurationType.approverCommentsFormatting=Approver comments formatting
WfConfigurationType.primaryChangeProcessor=Primary change processor
WfConfigurationType.generalChangeProcessor=General change processor
+WfExecutionTasksConfigurationType.serialization=Serialization
+WfExecutionTasksConfigurationType.executionConstraints=Execution constraints
+TaskExecutionConstraintsType.group=Execution group
+TaskExecutionConstraintsType.groupTaskLimit=Task limit for the execution group
+TaskExecutionConstraintsType.secondaryGroup=Secondary execution group
+TaskExecutionConstraintsType.retryAfter=Retry after
+WfExecutionTasksSerializationType.enabled=Enabled
+WfExecutionTasksSerializationType.scope=Serialization scope
+WfExecutionTasksSerializationType.retryAfter=Retry after
+WfExecutionTasksSerializationType.groupPrefix=Execution group prefix
+WfExecutionTasksSerializationScopeType.OPERATION=Operation
+WfExecutionTasksSerializationScopeType.OBJECT=Object
+WfExecutionTasksSerializationScopeType.TARGET=Target
+WfExecutionTasksSerializationScopeType.GLOBAL=Global
+TaskExecutionGroupConstraintType.group=Group name
+TaskExecutionGroupConstraintType.groupTaskLimit=Group task limit
+WfChangeProcessorConfigurationType.enabled=Enabled
+PcpAspectConfigurationType.approverExpression=Approver expression
+PcpAspectConfigurationType.automaticallyApproved=Automatically approved
WfProcessSpecificationType.ref=Reference
WfProcessSpecificationType.name=Name
WfProcessSpecificationType.order=Order
diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-certification-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-certification-3.xsd
index 86f0ad893ef..d354b54ed4a 100644
--- a/infra/schema/src/main/resources/xml/ns/public/common/common-certification-3.xsd
+++ b/infra/schema/src/main/resources/xml/ns/public/common/common-certification-3.xsd
@@ -41,6 +41,8 @@
+
+
diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
index 40f0926a279..349a1b8fc5c 100755
--- a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
+++ b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
@@ -2712,6 +2712,10 @@
complex parameters. But for now, their only parameter is the (clusterwide) member tasks limit.
They are also referenced from NodeType when specifying execution limitations for them.
+
+ TaskExecutionConstraintsType.group
+ 100
+
@@ -2720,6 +2724,10 @@
Number of tasks within the group that can be executed at once (clusterwide). Default is "unlimited".
This parameter will be moved into separate task group object in a later version of midPoint.
+
+ TaskExecutionConstraintsType.groupTaskLimit
+ 110
+
@@ -2728,6 +2736,8 @@
TODO
+ TaskExecutionConstraintsType.secondaryGroup
+ 120
3.7.1
@@ -2762,6 +2772,10 @@
In what time to retry after clusterwide execution constraints are not met. The default is 1 minute.
+
+ TaskExecutionConstraintsType.retryAfter
+ 130
+
@@ -2784,6 +2798,10 @@
TODO
+
+ TaskExecutionGroupConstraintType.group
+ 100
+
@@ -2792,6 +2810,10 @@
Number of tasks within the group that can be executed at once (clusterwide). Default is "unlimited".
This parameter will be moved into separate task group object in a later version of midPoint.
+
+ TaskExecutionGroupConstraintType.groupTaskLimit
+ 110
+
diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-workflows-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-workflows-3.xsd
index 93500354916..99f572ca500 100644
--- a/infra/schema/src/main/resources/xml/ns/public/common/common-workflows-3.xsd
+++ b/infra/schema/src/main/resources/xml/ns/public/common/common-workflows-3.xsd
@@ -39,6 +39,8 @@
+
+
@@ -649,6 +651,7 @@
WfConfigurationType.modelHookEnabled
+ 100
@@ -673,6 +676,7 @@
true
3.5
+ 4.0
@@ -685,6 +689,7 @@
WfConfigurationType.useLegacyApproversSpecification
+ 120
@@ -696,6 +701,7 @@
WfConfigurationType.useDefaultApprovalPolicyRules
+ 110
@@ -709,6 +715,7 @@
true
3.6.1
WfConfigurationType.executionTasks
+ 500
@@ -729,6 +736,7 @@
WfConfigurationType.primaryChangeProcessor
+ 510
@@ -787,6 +795,7 @@
EXPERIMENTAL
+ true
true
3.6.1
@@ -797,6 +806,10 @@
Whether and how to serialize execution tasks (if "execute after all approvals" is set to false).
+
+ 100
+ WfExecutionTasksConfigurationType.serialization
+
@@ -806,6 +819,8 @@
3.7
+ 110
+ WfExecutionTasksConfigurationType.executionConstraints
@@ -819,6 +834,7 @@
EXPERIMENTAL
+ true
true
3.6.1
@@ -829,6 +845,10 @@
Whether this feature is enabled. Default is true if "serialization" element is present; false otherwise.
+
+ WfExecutionTasksSerializationType.enabled
+ 100
+
@@ -836,6 +856,10 @@
Scope of serialization. The default is "object". If multiple scopes are defined, serialization occurs on each one.
+
+ WfExecutionTasksSerializationType.scope
+ 110
+
@@ -843,6 +867,10 @@
Interval after which the execution task is to be rescheduled in case of conflict. Default is 10 seconds.
+
+ WfExecutionTasksSerializationType.retryAfter
+ 120
+
@@ -850,6 +878,10 @@
TODO
+
+ WfExecutionTasksSerializationType.groupPrefix
+ 130
+
@@ -995,7 +1027,14 @@
-
+
+
+
+ WfChangeProcessorConfigurationType.enabled
+ 100
+
+
+
@@ -1086,6 +1125,7 @@
PrimaryChangeProcessorConfigurationType.policyRuleBasedAspect
+ 200
@@ -1093,6 +1133,9 @@
PrimaryChangeProcessorConfigurationType.addUserAbstractRoleAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1100,6 +1143,9 @@
PrimaryChangeProcessorConfigurationType.modifyUserAbstractRoleAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1107,6 +1153,9 @@
PrimaryChangeProcessorConfigurationType.addUserResourceAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1114,6 +1163,9 @@
PrimaryChangeProcessorConfigurationType.modifyUserResourceAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1121,6 +1173,9 @@
PrimaryChangeProcessorConfigurationType.addAbstractRoleAbstractRoleAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1128,6 +1183,9 @@
PrimaryChangeProcessorConfigurationType.modifyAbstractRoleAbstractRoleAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1135,6 +1193,9 @@
PrimaryChangeProcessorConfigurationType.addAbstractRoleResourceAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1142,6 +1203,9 @@
PrimaryChangeProcessorConfigurationType.modifyAbstractRoleResourceAssignmentAspect
+ true
+ 3.9
+ 4.0
@@ -1149,6 +1213,9 @@
PrimaryChangeProcessorConfigurationType.addAbstractRoleAspect
+ true
+ 3.9
+ 4.0
@@ -1156,6 +1223,9 @@
PrimaryChangeProcessorConfigurationType.modifyAbstractRoleAspect
+ true
+ 3.9
+ 4.0
@@ -1163,6 +1233,9 @@
PrimaryChangeProcessorConfigurationType.addUserAspect
+ true
+ 3.9
+ 4.0
@@ -1170,6 +1243,9 @@
PrimaryChangeProcessorConfigurationType.modifyUserAspect
+ true
+ 3.9
+ 4.0
@@ -1177,6 +1253,9 @@
PrimaryChangeProcessorConfigurationType.addResourceAspect
+ true
+ 3.9
+ 4.0
@@ -1184,6 +1263,9 @@
PrimaryChangeProcessorConfigurationType.modifyResourceAspect
+ true
+ 3.9
+ 4.0
@@ -1191,6 +1273,7 @@
PrimaryChangeProcessorConfigurationType.addAssociationAspect
+ 210
@@ -1198,6 +1281,9 @@
PrimaryChangeProcessorConfigurationType.otherAspect
+ true
+ 3.9
+ 4.0
@@ -1236,6 +1322,7 @@
PcpAspectConfigurationType.enabled
+ 100
@@ -1247,6 +1334,7 @@
PcpAspectConfigurationType.approverRef
+ 110
@@ -1257,6 +1345,10 @@
is used as a set of approvers (UserType, OrgType, or any combination of them).
May be used with approverRef element(s).
+
+ PcpAspectConfigurationType.approverExpression
+ 120
+
@@ -1267,6 +1359,7 @@
PcpAspectConfigurationType.approvalSchema
+ 130
@@ -1289,6 +1382,10 @@
Condition specifying when the item is automatically approved (e.g. "user is
from Board of Directors"). This is an expression that should yield a boolean value.
+
+ PcpAspectConfigurationType.automaticallyApproved
+ 140
+
@@ -1308,6 +1405,7 @@
PcpAspectConfigurationType.applicabilityCondition
+ 150