From d4e049a2e3adc53c957df4afddcee75100ebf4e3 Mon Sep 17 00:00:00 2001 From: Lio Novelli Date: Wed, 3 May 2023 22:35:57 +0200 Subject: [PATCH] Add concept workflow and configure it. --- composer.json | 2 + composer.lock | 150 +++- ...orresponding_reference.related_concept.yml | 14 + config/sync/core.extension.yml | 5 + ...stem.action.user_add_role_action.maska.yml | 14 + ...m.action.user_remove_role_action.maska.yml | 14 + config/sync/user.role.anonymous.yml | 9 + config/sync/user.role.authenticated.yml | 18 + config/sync/user.role.editor.yml | 106 +++ config/sync/user.role.maska.yml | 9 + config/sync/views.view.moderated_content.yml | 833 ++++++++++++++++++ .../workflows.workflow.concept_workflow.yml | 42 + 12 files changed, 1215 insertions(+), 1 deletion(-) create mode 100644 config/sync/cer.corresponding_reference.related_concept.yml create mode 100644 config/sync/system.action.user_add_role_action.maska.yml create mode 100644 config/sync/system.action.user_remove_role_action.maska.yml create mode 100644 config/sync/user.role.editor.yml create mode 100644 config/sync/user.role.maska.yml create mode 100644 config/sync/views.view.moderated_content.yml create mode 100644 config/sync/workflows.workflow.concept_workflow.yml diff --git a/composer.json b/composer.json index 13bd127..0caa8e6 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ ], "require": { "composer/installers": "^2.0", + "drupal/cer": "^5.0@beta", "drupal/content_as_config": "^1.0", "drupal/core-composer-scaffold": "^10.0", "drupal/core-project-message": "^10.0", @@ -24,6 +25,7 @@ "drupal/gin_toolbar": "^1.0@RC", "drupal/jsonapi_menu_items": "^1.2", "drupal/single_content_sync": "^1.3", + "drupal/workflow": "^1.7", "drupal/yaml_content": "^1.0@dev", "drush/drush": "^11.4" }, diff --git a/composer.lock b/composer.lock index 13721e7..40c0935 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "71ddb6ffcc6a7fe35213ac457365e193", + "content-hash": "27888ac19af688adaf5d16ac2f4286a1", "packages": [ { "name": "asm89/stack-cors", @@ -1094,6 +1094,78 @@ ], "time": "2022-02-28T11:07:21+00:00" }, + { + "name": "drupal/cer", + "version": "5.0.0-beta3", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/cer.git", + "reference": "5.0.0-beta3" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/cer-5.0.0-beta3.zip", + "reference": "5.0.0-beta3", + "shasum": "732e95528a8aa0771f38785a5db49861612da150" + }, + "require": { + "drupal/core": "^9.5 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "5.0.0-beta3", + "datestamp": "1679926745", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Anybody", + "homepage": "https://www.drupal.org/user/291091" + }, + { + "name": "bmcclure", + "homepage": "https://www.drupal.org/user/278485" + }, + { + "name": "chertzog", + "homepage": "https://www.drupal.org/user/806366" + }, + { + "name": "gcb", + "homepage": "https://www.drupal.org/user/1682976" + }, + { + "name": "gregcube", + "homepage": "https://www.drupal.org/user/336930" + }, + { + "name": "Grevil", + "homepage": "https://www.drupal.org/user/3668491" + }, + { + "name": "jrglasgow", + "homepage": "https://www.drupal.org/user/36590" + }, + { + "name": "phenaproxima", + "homepage": "https://www.drupal.org/user/205645" + } + ], + "description": "Allows user to create two-way references between entities.", + "homepage": "https://www.drupal.org/project/cer", + "support": { + "source": "https://git.drupalcode.org/project/cer" + } + }, { "name": "drupal/content_as_config", "version": "1.0.10", @@ -1766,6 +1838,82 @@ "issues": "https://drupal.org/project/issues/single_content_sync" } }, + { + "name": "drupal/workflow", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/workflow.git", + "reference": "8.x-1.7" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/workflow-8.x-1.7.zip", + "reference": "8.x-1.7", + "shasum": "f20b6f0273cd98ae3f6b25ea25b6159fa6345e89" + }, + "require": { + "drupal/core": "^8.8 || ^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.7", + "datestamp": "1680019726", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Bastlynn", + "homepage": "https://www.drupal.org/user/275249" + }, + { + "name": "eaton", + "homepage": "https://www.drupal.org/user/16496" + }, + { + "name": "Heine", + "homepage": "https://www.drupal.org/user/17943" + }, + { + "name": "JacobSingh", + "homepage": "https://www.drupal.org/user/68912" + }, + { + "name": "johnv", + "homepage": "https://www.drupal.org/user/591042" + }, + { + "name": "jvandyk", + "homepage": "https://www.drupal.org/user/2375" + }, + { + "name": "mfredrickson", + "homepage": "https://www.drupal.org/user/31994" + }, + { + "name": "NancyDru", + "homepage": "https://www.drupal.org/user/101412" + }, + { + "name": "q0rban", + "homepage": "https://www.drupal.org/user/31022" + } + ], + "description": "Defines a field type with Workflows, containing customizable state transitions.", + "homepage": "https://www.drupal.org/project/workflow", + "support": { + "source": "https://git.drupalcode.org/project/workflow" + } + }, { "name": "drupal/yaml_content", "version": "dev-1.x", diff --git a/config/sync/cer.corresponding_reference.related_concept.yml b/config/sync/cer.corresponding_reference.related_concept.yml new file mode 100644 index 0000000..c231142 --- /dev/null +++ b/config/sync/cer.corresponding_reference.related_concept.yml @@ -0,0 +1,14 @@ +uuid: bb04eaf7-09ba-4e25-927f-42b3a3acb402 +langcode: en +status: true +dependencies: { } +id: related_concept +label: 'Related concept' +enabled: true +first_field: field_related_concept +second_field: field_related_concept +add_direction: append +bundles: + node: + - '*' + - concept diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 75d87ba..747e02b 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -6,10 +6,13 @@ module: block: 0 block_content: 0 breakpoint: 0 + cer: 0 ckeditor5: 0 comment: 0 config: 0 config_translation: 0 + content_as_config: 0 + content_moderation: 0 contextual: 0 datetime: 0 dblog: 0 @@ -49,8 +52,10 @@ module: update: 0 user: 0 views_ui: 0 + workflows: 0 yaml_content: 0 yufu_admin: 0 + yufu_data: 0 content_translation: 10 views: 10 minimal: 1000 diff --git a/config/sync/system.action.user_add_role_action.maska.yml b/config/sync/system.action.user_add_role_action.maska.yml new file mode 100644 index 0000000..1b96aec --- /dev/null +++ b/config/sync/system.action.user_add_role_action.maska.yml @@ -0,0 +1,14 @@ +uuid: 92a4b135-3981-446a-aa96-f315515fffa8 +langcode: en +status: true +dependencies: + config: + - user.role.maska + module: + - user +id: user_add_role_action.maska +label: 'Add the Maska role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: maska diff --git a/config/sync/system.action.user_remove_role_action.maska.yml b/config/sync/system.action.user_remove_role_action.maska.yml new file mode 100644 index 0000000..6f3f0f9 --- /dev/null +++ b/config/sync/system.action.user_remove_role_action.maska.yml @@ -0,0 +1,14 @@ +uuid: b084e439-3ec1-4de6-af1d-9b42fe176ed2 +langcode: en +status: true +dependencies: + config: + - user.role.maska + module: + - user +id: user_remove_role_action.maska +label: 'Remove the Maska role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: maska diff --git a/config/sync/user.role.anonymous.yml b/config/sync/user.role.anonymous.yml index 254c3fb..7c52d43 100644 --- a/config/sync/user.role.anonymous.yml +++ b/config/sync/user.role.anonymous.yml @@ -2,7 +2,13 @@ uuid: 71951af3-5977-42dc-a45b-85ef43a9f9ad langcode: en status: true dependencies: + config: + - node.type.concept + - workflows.workflow.concept_workflow module: + - content_moderation + - media + - node - system _core: default_config_hash: j5zLMOdJBqC0bMvSdth5UebkprJB8g_2FXHqhfpJzow @@ -12,3 +18,6 @@ weight: 0 is_admin: false permissions: - 'access content' + - 'create concept content' + - 'use concept_workflow transition create_new_draft' + - 'view media' diff --git a/config/sync/user.role.authenticated.yml b/config/sync/user.role.authenticated.yml index 30caa03..d5f6112 100644 --- a/config/sync/user.role.authenticated.yml +++ b/config/sync/user.role.authenticated.yml @@ -2,8 +2,17 @@ uuid: ea374762-2647-4531-8850-c3a1a95ec850 langcode: en status: true dependencies: + config: + - node.type.article + - node.type.concept + - taxonomy.vocabulary.tags + - workflows.workflow.concept_workflow module: + - content_moderation + - media + - node - system + - taxonomy - yufu_admin _core: default_config_hash: dJ0L2DNSj5q6XVZAGsuVDpJTh5UeYkIPwKrUOOpr8YI @@ -13,4 +22,13 @@ weight: 1 is_admin: false permissions: - 'access content' + - 'create article content' + - 'create concept content' + - 'create media' + - 'create terms in tags' + - 'use concept_workflow transition create_new_draft' - 'use jsonapi operation link' + - 'view any unpublished content' + - 'view media' + - 'view own unpublished content' + - 'view own unpublished media' diff --git a/config/sync/user.role.editor.yml b/config/sync/user.role.editor.yml new file mode 100644 index 0000000..c014288 --- /dev/null +++ b/config/sync/user.role.editor.yml @@ -0,0 +1,106 @@ +uuid: db6258d6-6411-45a0-b3d1-75fd4c6020ea +langcode: en +status: true +dependencies: + config: + - media.type.audio + - media.type.document + - media.type.image + - media.type.remote_video + - media.type.video + - node.type.article + - node.type.concept + - node.type.page + - taxonomy.vocabulary.tags + - workflows.workflow.concept_workflow + module: + - config + - config_translation + - content_moderation + - content_translation + - language + - locale + - media + - node + - path + - taxonomy + - toolbar +id: editor +label: Editor +weight: 2 +is_admin: null +permissions: + - 'access content overview' + - 'access media overview' + - 'access taxonomy overview' + - 'access toolbar' + - 'administer content translation' + - 'administer content types' + - 'administer languages' + - 'administer media' + - 'administer media types' + - 'administer nodes' + - 'administer url aliases' + - 'bypass node access' + - 'create article content' + - 'create concept content' + - 'create page content' + - 'create url aliases' + - 'delete any article content' + - 'delete any audio media' + - 'delete any concept content' + - 'delete any document media' + - 'delete any image media' + - 'delete any media' + - 'delete any page content' + - 'delete any remote_video media' + - 'delete any video media' + - 'delete article revisions' + - 'delete concept revisions' + - 'delete content translations' + - 'delete media' + - 'delete own article content' + - 'delete own audio media' + - 'delete own concept content' + - 'delete own document media' + - 'delete own page content' + - 'delete page revisions' + - 'delete terms in tags' + - 'edit any article content' + - 'edit any audio media' + - 'edit any concept content' + - 'edit any document media' + - 'edit any image media' + - 'edit any page content' + - 'edit any remote_video media' + - 'edit any video media' + - 'edit own article content' + - 'edit own audio media' + - 'edit own concept content' + - 'edit own document media' + - 'edit own image media' + - 'edit own page content' + - 'edit own remote_video media' + - 'edit own video media' + - 'edit terms in tags' + - 'export configuration' + - 'import configuration' + - 'revert article revisions' + - 'revert concept revisions' + - 'revert page revisions' + - 'synchronize configuration' + - 'translate configuration' + - 'translate interface' + - 'update any media' + - 'update media' + - 'use concept_workflow transition create_new_draft' + - 'use concept_workflow transition publish' + - 'view all media revisions' + - 'view all revisions' + - 'view any unpublished content' + - 'view article revisions' + - 'view concept revisions' + - 'view latest version' + - 'view own unpublished content' + - 'view own unpublished media' + - 'view page revisions' diff --git a/config/sync/user.role.maska.yml b/config/sync/user.role.maska.yml new file mode 100644 index 0000000..ae0ec7a --- /dev/null +++ b/config/sync/user.role.maska.yml @@ -0,0 +1,9 @@ +uuid: 7656af89-5a3e-4e8c-b505-bb584382b79b +langcode: en +status: true +dependencies: { } +id: maska +label: Maska +weight: 3 +is_admin: true +permissions: { } diff --git a/config/sync/views.view.moderated_content.yml b/config/sync/views.view.moderated_content.yml new file mode 100644 index 0000000..7a4010e --- /dev/null +++ b/config/sync/views.view.moderated_content.yml @@ -0,0 +1,833 @@ +uuid: 8347c43e-4379-4de8-9577-a481a608a372 +langcode: en +status: true +dependencies: + module: + - node + - user + enforced: + module: + - content_moderation +_core: + default_config_hash: upi3_YaKY1MjDALjDauLNPXfHakisQNehC9Dj6icMPQ +id: moderated_content +label: 'Moderated content' +module: views +description: 'Find and moderate content.' +tag: '' +base_table: node_field_revision +base_field: vid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Moderated content' + fields: + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + type: + id: type + table: node_field_data + field: type + relationship: nid + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: field + label: 'Content type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: field + label: 'Moderation state' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: node_field_revision + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: changed + plugin_id: field + label: Updated + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node_revision + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: true + pager: + type: full + options: + offset: 0 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: 'Next ›' + previous: '‹ Previous' + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_form: + type: basic + options: + submit_button: Filter + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'view any unpublished content' + cache: + type: tag + options: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + empty: true + content: 'No moderated content available. Only pending versions of content, such as drafts, are listed here.' + tokenize: false + sorts: { } + arguments: { } + filters: + latest_translation_affected_revision: + id: latest_translation_affected_revision + table: node_revision + field: latest_translation_affected_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_translation_affected_revision + operator: '=' + value: '' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + type: + id: type + table: node_field_data + field: type + relationship: nid + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: 'Content type' + description: '' + use_operator: false + operator: type_op + operator_limit_selection: false + operator_list: { } + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: + editorial-draft: editorial-draft + editorial-archived: editorial-archived + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: true + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + langcode: + id: langcode + table: node_field_revision + field: langcode + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: langcode + plugin_id: language + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: Language + description: '' + use_operator: false + operator: langcode_op + operator_limit_selection: false + operator_list: { } + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state_1: + id: moderation_state_1 + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: 'not in' + value: + editorial-published: editorial-published + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + type: type + name: name + moderation_state: moderation_state + changed: changed + default: changed + info: + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + name: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + moderation_state: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: true + caption: '' + description: '' + row: + type: fields + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: + nid: + id: nid + table: node_field_revision + field: nid + relationship: none + group_type: group + admin_label: 'Get the actual content from a content revision.' + entity_type: node + entity_field: nid + plugin_id: standard + required: false + uid: + id: uid + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: User + entity_type: node + entity_field: uid + plugin_id: standard + required: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + moderated_content: + id: moderated_content + display_title: 'Moderated content' + display_plugin: page + position: 1 + display_options: + display_description: '' + display_extenders: { } + path: admin/content/moderated + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/config/sync/workflows.workflow.concept_workflow.yml b/config/sync/workflows.workflow.concept_workflow.yml new file mode 100644 index 0000000..6a1a08f --- /dev/null +++ b/config/sync/workflows.workflow.concept_workflow.yml @@ -0,0 +1,42 @@ +uuid: 82f87047-8f1f-4e54-9d04-af81a8f46919 +langcode: en +status: true +dependencies: + config: + - node.type.concept + module: + - content_moderation +id: concept_workflow +label: 'Concept workflow' +type: content_moderation +type_settings: + states: + draft: + label: Draft + weight: 0 + published: false + default_revision: false + published: + label: Published + weight: 1 + published: true + default_revision: true + transitions: + create_new_draft: + label: 'Create New Draft' + from: + - draft + - published + to: draft + weight: 0 + publish: + label: Publish + from: + - draft + - published + to: published + weight: 1 + entity_types: + node: + - concept + default_moderation_state: draft