diff --git a/core/src/main/java/org/fao/geonet/kernel/setting/Settings.java b/core/src/main/java/org/fao/geonet/kernel/setting/Settings.java
index a9661213016e..fb1215cab692 100644
--- a/core/src/main/java/org/fao/geonet/kernel/setting/Settings.java
+++ b/core/src/main/java/org/fao/geonet/kernel/setting/Settings.java
@@ -139,10 +139,10 @@ public class Settings {
public static final String METADATA_WORKFLOW_ENABLE = "metadata/workflow/enable";
public static final String METADATA_WORKFLOW_DRAFT_WHEN_IN_GROUP = "metadata/workflow/draftWhenInGroup";
public static final String METADATA_WORKFLOW_ALLOW_SUBMIT_APPROVE_INVALID_MD = "metadata/workflow/allowSubmitApproveInvalidMd";
- public static final String METADATA_WORKFLOW_ALLOW_PUBLISH_INVALID_MD = "metadata/workflow/allowPublishInvalidMd";
+ public static final String METADATA_PUBLICATION_ALLOW_PUBLISH_INVALID_MD = "metadata/publication/allowPublishInvalidMd";
public static final String METADATA_WORKFLOW_ALLOW_PUBLISH_NON_APPROVED_MD = "metadata/workflow/allowPublishNonApprovedMd";
- public static final String METADATA_WORKFLOW_AUTOMATIC_UNPUBLISH_INVALID_MD = "metadata/workflow/automaticUnpublishInvalidMd";
- public static final String METADATA_WORKFLOW_FORCE_VALIDATION_ON_MD_SAVE = "metadata/workflow/forceValidationOnMdSave";
+ public static final String METADATA_PUBLICATION_AUTOMATIC_UNPUBLISH_INVALID_MD = "metadata/publication/automaticUnpublishInvalidMd";
+ public static final String METADATA_SAVE_FORCE_VALIDATION_ON_MD_SAVE = "metadata/save/forceValidationOnMdSave";
public static final String METADATA_LINK_EXCLUDEPATTERN = "metadata/link/excludedUrlPattern";
public static final String METADATA_IMPORT_RESTRICT = "metadata/import/restrict";
public static final String METADATA_IMPORT_USERPROFILE = "metadata/import/userprofile";
diff --git a/docs/manual/docs/administrator-guide/configuring-the-catalog/system-configuration.md b/docs/manual/docs/administrator-guide/configuring-the-catalog/system-configuration.md
index 6463f93676d2..f37fcd87bd4a 100644
--- a/docs/manual/docs/administrator-guide/configuring-the-catalog/system-configuration.md
+++ b/docs/manual/docs/administrator-guide/configuring-the-catalog/system-configuration.md
@@ -339,17 +339,38 @@ Allows to configure the user profile allowed to delete published metadata.

+## Metadata workflow
+
+Allows to configure the metadata approval workflow (record life cycle). See [Life cycle](../../user-guide/workflow/life-cycle.md) for details about how the workflow is used.
+
+- **Enable workflow** Enables the metadata approval workflow. When enabled, editors work on a draft copy of approved records and changes must be submitted and approved before they become visible to users outside the owner group. The default value is disabled.
+- **Activate workflow for record created in** Restricts the groups for which the workflow is automatically activated when a record is created. Choose `Any group` to activate it for all groups, or `Selected groups` to provide a regular expression matching the group names where records must be set to draft status automatically. eg. `MYOCEAN-.*` to match all groups starting with `MYOCEAN-`, `GROUP1|GROUP2` to match `GROUP1` or `GROUP2`.
+- **Allow submission/approval of invalid metadata** Allows the submission/approval of metadata that is not valid according to xsd or schematron rules. The default value is enabled.
+- **Allow publication of non-approved metadata** Allows the publication of metadata that is not approved. The default value is enabled.
+
## Metadata publication
-Allows to configure the required user profile to publish and un-publish metadata.
+Allows to configure the publication of metadata records.
+
+The settings in this section apply whether or not the metadata approval workflow is enabled.
-The configured profile is evaluated on the metadata owner group (per-group role), not the user's global profile. The user must have exactly this profile in the record owner group. For example, with `Reviewer`, only users who are `Reviewer` in the owner group are allowed (not `UserAdmin`). Global `Administrator` is always allowed.
+The required user profile is evaluated on the metadata owner group (per-group role), not the user's global profile. The user must have exactly this profile in the record owner group. For example, with `Reviewer`, only users who are `Reviewer` in the owner group are allowed (not `UserAdmin`). Global `Administrator` is always allowed.
- **Required profile to publish metadata** Profile required to publish metadata, evaluated in the record owner group (`Reviewer` or `Administrator`). The default value is `Reviewer`.
- **Required profile to un-publish metadata** Profile required to un-publish metadata, evaluated in the record owner group (`Reviewer` or `Administrator`). The default value is `Reviewer`.
+- **Allow publication of invalid metadata** Allows the publication of metadata that is not valid according to xsd or schematron rules. When disabled, a record that is invalid cannot be published to the `All` group. The default value is enabled.
+- **Automatic unpublication of invalid metadata** Automatically unpublishes metadata that, once edited, becomes not valid according to xsd or schematron rules. The default value is disabled.

+## Metadata save
+
+Allows to configure the behaviour when a metadata record is saved and the editor is closed.
+
+This setting applies whether or not the metadata approval workflow is enabled.
+
+- **Force validation on metadata save** When enabled, the validation of the metadata is forced (and its validation status stored) each time the record is saved and the editor is closed. The default value is disabled.
+
## Metadata selection - zip export
Allows to configure the zip export of metadata records and their attachments.
diff --git a/schemas/iso19115-3.2018/src/test/resources/UpperRhineCastles-ISO19115-3-full-view-form.xml b/schemas/iso19115-3.2018/src/test/resources/UpperRhineCastles-ISO19115-3-full-view-form.xml
index 64f0d361335c..75835ee7a546 100644
--- a/schemas/iso19115-3.2018/src/test/resources/UpperRhineCastles-ISO19115-3-full-view-form.xml
+++ b/schemas/iso19115-3.2018/src/test/resources/UpperRhineCastles-ISO19115-3-full-view-form.xml
@@ -2175,6 +2175,8 @@
false
+ true
+ false
Reviewer
Reviewer
@@ -2188,14 +2190,14 @@
false
- true
true
true
- false
false
- false
+
+ false
+
diff --git a/schemas/iso19115-3.2018/src/test/resources/raw-UpperRhineCastles-editor-form.xml b/schemas/iso19115-3.2018/src/test/resources/raw-UpperRhineCastles-editor-form.xml
index 032a3532d274..ad65789198a4 100644
--- a/schemas/iso19115-3.2018/src/test/resources/raw-UpperRhineCastles-editor-form.xml
+++ b/schemas/iso19115-3.2018/src/test/resources/raw-UpperRhineCastles-editor-form.xml
@@ -234,11 +234,11 @@
-