From 9e9b4fe592f26a43ce83601cb5dcf941714ad728 Mon Sep 17 00:00:00 2001 From: Alexander O'Neill Date: Wed, 16 Jan 2019 10:00:45 -0400 Subject: [PATCH] Add module explicit dependencies. --- README.md | 38 +++++++++++++++++++ composer.json | 10 +---- ....paragraph.license_attribution.default.yml | 4 ++ ...erm.media_attribution_licenses.default.yml | 4 ++ ....paragraph.license_attribution.default.yml | 4 ++ ...erm.media_attribution_licenses.default.yml | 4 ++ ...iew_mode.paragraph.license_attribution.yml | 4 ++ ...ld.media.image.field_image_attribution.yml | 4 ++ ...e_attribution.field_attribution_author.yml | 4 ++ ...nse_attribution.field_attribution_note.yml | 4 ++ ...e_attribution.field_attribution_source.yml | 4 ++ ...raph.license_attribution.field_license.yml | 5 +++ ...ttribution_licenses.field_license_icon.yml | 4 ++ ...ttribution_licenses.field_license_link.yml | 4 ++ ....storage.media.field_image_attribution.yml | 4 ++ ...age.paragraph.field_attribution_author.yml | 4 ++ ...orage.paragraph.field_attribution_note.yml | 4 ++ ...age.paragraph.field_attribution_source.yml | 4 ++ .../field.storage.paragraph.field_license.yml | 4 ++ ...orage.taxonomy_term.field_license_icon.yml | 4 ++ ...orage.taxonomy_term.field_license_link.yml | 4 ++ ...hs.paragraphs_type.license_attribution.yml | 8 +++- ....vocabulary.media_attribution_licenses.yml | 7 +++- media_attribution.module | 2 +- 24 files changed, 130 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 84cdbf0..0344703 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,19 @@ # Installation +## Patch requirement + + + +In order to properly use the license attribution form items with the inline media browser CKEditor button (the 'star' button), the following patch is required: + +https://www.drupal.org/files/issues/paragraphs-missing-langcode-2901390-9.patch + +From this Paragraphs issue: [Integrity constraint violation: 1048 Column 'langcode' cannot be null](https://www.drupal.org/project/paragraphs/issues/2901390) + +Follow this link for instructions on adding patches to your project's composer.json file: [Apply Drupal 8 Patch by Composer without update Drupal Core](https://groups.drupal.org/node/518975). + +## Enabling the module + Install as you normally would. This module creates the following entity types: * Taxonomy vocabulary @@ -9,3 +23,27 @@ Install as you normally would. This module creates the following entity types: # Use +The installation script automatically adds teh attribution paragraphs field +to the Image media type if it exists. This is installed by default +by the Lightning distribution. Otherwise adding attribution +can be one at Admin -> Structure -> Media Types. + +The attribution paragraph field has the following components + +Source Work link, including a title and URL. This title is +usually the title of the original work. + +Original Author link, including name and URL of the author's home page. + +License type - optional, the license under which the linked work is released. + +Free-form attribution text - optional, arbitrary text to clarify attribution. If no license is selected, this text can be used to identify copyrighted works with e.g., +"All rights reserved, used with permisssion." + +This source and author info will be rendered below an embedded media object when showing the node, following teh format +preferred by Creative Commons, outlined at [Best Practices for Attribution](https://wiki.creativecommons.org/wiki/best_practices_for_attribution). + +# Licenses + +Installing the module creates License taxonomy term entries for all of the use variations of the international Creative Commons +licenses. These can be edited, and other license types can be added as needed. diff --git a/composer.json b/composer.json index f46e73d..1e4ec82 100644 --- a/composer.json +++ b/composer.json @@ -10,13 +10,5 @@ "issues": "https://www.drupal.org/project/issues/media_attribution", "source": "http://cgit.drupalcode.org/media_attribution" }, - "require": { }, - "extra": { - "enable-patching": true, - "patches": { - "drupal/paragraphs": { - "Integrity constraint violation: 1048 Column 'langcode' cannot be null": "https://www.drupal.org/files/issues/paragraphs-missing-langcode-2901390-9.patch" - } - } - } + "require": { } } diff --git a/config/optional/core.entity_form_display.paragraph.license_attribution.default.yml b/config/optional/core.entity_form_display.paragraph.license_attribution.default.yml index 23f22af..5f5734d 100644 --- a/config/optional/core.entity_form_display.paragraph.license_attribution.default.yml +++ b/config/optional/core.entity_form_display.paragraph.license_attribution.default.yml @@ -11,6 +11,10 @@ dependencies: module: - link - text + - media_attribution + enforced: + module: + - media_attribution _core: default_config_hash: WCcyeF8AktyxDRFDYOVNNyfYpTfjnlsm53vdo1EP968 id: paragraph.license_attribution.default diff --git a/config/optional/core.entity_form_display.taxonomy_term.media_attribution_licenses.default.yml b/config/optional/core.entity_form_display.taxonomy_term.media_attribution_licenses.default.yml index c7efbb3..f19f8e8 100644 --- a/config/optional/core.entity_form_display.taxonomy_term.media_attribution_licenses.default.yml +++ b/config/optional/core.entity_form_display.taxonomy_term.media_attribution_licenses.default.yml @@ -10,6 +10,10 @@ dependencies: - entity_browser - link - text + - media_attribution + enforced: + module: + - media_attribution _core: default_config_hash: GeroQ_nB3tqP5g0Z5B4UShGyIomjdHA8hDn73kSFYgc id: taxonomy_term.media_attribution_licenses.default diff --git a/config/optional/core.entity_view_display.paragraph.license_attribution.default.yml b/config/optional/core.entity_view_display.paragraph.license_attribution.default.yml index 0973942..8be6f2a 100644 --- a/config/optional/core.entity_view_display.paragraph.license_attribution.default.yml +++ b/config/optional/core.entity_view_display.paragraph.license_attribution.default.yml @@ -8,6 +8,10 @@ dependencies: - paragraphs.paragraphs_type.license_attribution module: - link + - media_attribution + enforced: + module: + - media_attribution id: paragraph.license_attribution.default targetEntityType: paragraph bundle: license_attribution diff --git a/config/optional/core.entity_view_display.taxonomy_term.media_attribution_licenses.default.yml b/config/optional/core.entity_view_display.taxonomy_term.media_attribution_licenses.default.yml index 248fb84..2eb22e4 100644 --- a/config/optional/core.entity_view_display.taxonomy_term.media_attribution_licenses.default.yml +++ b/config/optional/core.entity_view_display.taxonomy_term.media_attribution_licenses.default.yml @@ -9,6 +9,10 @@ dependencies: - image - link - text + - media_attribution + enforced: + module: + - media_attribution id: taxonomy_term.media_attribution_licenses.default targetEntityType: taxonomy_term bundle: media_attribution_licenses diff --git a/config/optional/core.entity_view_mode.paragraph.license_attribution.yml b/config/optional/core.entity_view_mode.paragraph.license_attribution.yml index 10cd071..4c41e35 100644 --- a/config/optional/core.entity_view_mode.paragraph.license_attribution.yml +++ b/config/optional/core.entity_view_mode.paragraph.license_attribution.yml @@ -3,6 +3,10 @@ status: true dependencies: module: - paragraphs + - media_attribution + enforced: + module: + - media_attribution id: paragraph.license_attribution label: 'License attribution' targetEntityType: paragraph diff --git a/config/optional/field.field.media.image.field_image_attribution.yml b/config/optional/field.field.media.image.field_image_attribution.yml index 6c543c1..a02ffdc 100644 --- a/config/optional/field.field.media.image.field_image_attribution.yml +++ b/config/optional/field.field.media.image.field_image_attribution.yml @@ -7,6 +7,10 @@ dependencies: - paragraphs.paragraphs_type.license_attribution module: - entity_reference_revisions + - media_attribution + enforced: + module: + - media_attribution id: media.image.field_image_attribution field_name: field_image_attribution entity_type: media diff --git a/config/optional/field.field.paragraph.license_attribution.field_attribution_author.yml b/config/optional/field.field.paragraph.license_attribution.field_attribution_author.yml index d14903b..67a82cc 100644 --- a/config/optional/field.field.paragraph.license_attribution.field_attribution_author.yml +++ b/config/optional/field.field.paragraph.license_attribution.field_attribution_author.yml @@ -6,6 +6,10 @@ dependencies: - paragraphs.paragraphs_type.license_attribution module: - link + - media_attribution + enforced: + module: + - media_attribution id: paragraph.license_attribution.field_attribution_author field_name: field_attribution_author entity_type: paragraph diff --git a/config/optional/field.field.paragraph.license_attribution.field_attribution_note.yml b/config/optional/field.field.paragraph.license_attribution.field_attribution_note.yml index 5544f8b..d37e27a 100644 --- a/config/optional/field.field.paragraph.license_attribution.field_attribution_note.yml +++ b/config/optional/field.field.paragraph.license_attribution.field_attribution_note.yml @@ -6,6 +6,10 @@ dependencies: - paragraphs.paragraphs_type.license_attribution module: - text + - media_attribution + enforced: + module: + - media_attribution third_party_settings: { } id: paragraph.license_attribution.field_attribution_note field_name: field_attribution_note diff --git a/config/optional/field.field.paragraph.license_attribution.field_attribution_source.yml b/config/optional/field.field.paragraph.license_attribution.field_attribution_source.yml index c35f6a9..175c2b9 100644 --- a/config/optional/field.field.paragraph.license_attribution.field_attribution_source.yml +++ b/config/optional/field.field.paragraph.license_attribution.field_attribution_source.yml @@ -6,6 +6,10 @@ dependencies: - paragraphs.paragraphs_type.license_attribution module: - link + - media_attribution + enforced: + module: + - media_attribution id: paragraph.license_attribution.field_attribution_source field_name: field_attribution_source entity_type: paragraph diff --git a/config/optional/field.field.paragraph.license_attribution.field_license.yml b/config/optional/field.field.paragraph.license_attribution.field_license.yml index dc4f695..f297a06 100644 --- a/config/optional/field.field.paragraph.license_attribution.field_license.yml +++ b/config/optional/field.field.paragraph.license_attribution.field_license.yml @@ -5,6 +5,11 @@ dependencies: - field.storage.paragraph.field_license - paragraphs.paragraphs_type.license_attribution - taxonomy.vocabulary.media_attribution_licenses + module: + - media_attribution + enforced: + module: + - media_attribution id: paragraph.license_attribution.field_license field_name: field_license entity_type: paragraph diff --git a/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_icon.yml b/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_icon.yml index 9553c37..487b065 100644 --- a/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_icon.yml +++ b/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_icon.yml @@ -6,6 +6,10 @@ dependencies: - taxonomy.vocabulary.media_attribution_licenses module: - image + - media_attribution + enforced: + module: + - media_attribution id: taxonomy_term.media_attribution_licenses.field_license_icon field_name: field_license_icon entity_type: taxonomy_term diff --git a/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_link.yml b/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_link.yml index a2818af..5e688fe 100644 --- a/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_link.yml +++ b/config/optional/field.field.taxonomy_term.media_attribution_licenses.field_license_link.yml @@ -6,6 +6,10 @@ dependencies: - taxonomy.vocabulary.media_attribution_licenses module: - link + - media_attribution + enforced: + module: + - media_attribution id: taxonomy_term.media_attribution_licenses.field_license_link field_name: field_license_link entity_type: taxonomy_term diff --git a/config/optional/field.storage.media.field_image_attribution.yml b/config/optional/field.storage.media.field_image_attribution.yml index 724095b..4d24eeb 100644 --- a/config/optional/field.storage.media.field_image_attribution.yml +++ b/config/optional/field.storage.media.field_image_attribution.yml @@ -5,6 +5,10 @@ dependencies: - entity_reference_revisions - media - paragraphs + - media_attribution + enforced: + module: + - media_attribution id: media.field_image_attribution field_name: field_image_attribution entity_type: media diff --git a/config/optional/field.storage.paragraph.field_attribution_author.yml b/config/optional/field.storage.paragraph.field_attribution_author.yml index 796ec85..d5cbe57 100644 --- a/config/optional/field.storage.paragraph.field_attribution_author.yml +++ b/config/optional/field.storage.paragraph.field_attribution_author.yml @@ -4,6 +4,10 @@ dependencies: module: - link - paragraphs + - media_attribution + enforced: + module: + - media_attribution id: paragraph.field_attribution_author field_name: field_attribution_author entity_type: paragraph diff --git a/config/optional/field.storage.paragraph.field_attribution_note.yml b/config/optional/field.storage.paragraph.field_attribution_note.yml index 5a4406a..525eba6 100644 --- a/config/optional/field.storage.paragraph.field_attribution_note.yml +++ b/config/optional/field.storage.paragraph.field_attribution_note.yml @@ -4,6 +4,10 @@ dependencies: module: - paragraphs - text + - media_attribution + enforced: + module: + - media_attribution third_party_settings: { } id: paragraph.field_attribution_note field_name: field_attribution_note diff --git a/config/optional/field.storage.paragraph.field_attribution_source.yml b/config/optional/field.storage.paragraph.field_attribution_source.yml index a4b0038..7fda2cc 100644 --- a/config/optional/field.storage.paragraph.field_attribution_source.yml +++ b/config/optional/field.storage.paragraph.field_attribution_source.yml @@ -4,6 +4,10 @@ dependencies: module: - link - paragraphs + - media_attribution + enforced: + module: + - media_attribution id: paragraph.field_attribution_source field_name: field_attribution_source entity_type: paragraph diff --git a/config/optional/field.storage.paragraph.field_license.yml b/config/optional/field.storage.paragraph.field_license.yml index 37ad80b..e53924e 100644 --- a/config/optional/field.storage.paragraph.field_license.yml +++ b/config/optional/field.storage.paragraph.field_license.yml @@ -4,6 +4,10 @@ dependencies: module: - paragraphs - taxonomy + - media_attribution + enforced: + module: + - media_attribution id: paragraph.field_license field_name: field_license entity_type: paragraph diff --git a/config/optional/field.storage.taxonomy_term.field_license_icon.yml b/config/optional/field.storage.taxonomy_term.field_license_icon.yml index 8f13271..640649b 100644 --- a/config/optional/field.storage.taxonomy_term.field_license_icon.yml +++ b/config/optional/field.storage.taxonomy_term.field_license_icon.yml @@ -5,6 +5,10 @@ dependencies: - file - image - taxonomy + - media_attribution + enforced: + module: + - media_attribution id: taxonomy_term.field_license_icon field_name: field_license_icon entity_type: taxonomy_term diff --git a/config/optional/field.storage.taxonomy_term.field_license_link.yml b/config/optional/field.storage.taxonomy_term.field_license_link.yml index 836b7f6..29cd499 100644 --- a/config/optional/field.storage.taxonomy_term.field_license_link.yml +++ b/config/optional/field.storage.taxonomy_term.field_license_link.yml @@ -4,6 +4,10 @@ dependencies: module: - link - taxonomy + - media_attribution + enforced: + module: + - media_attribution id: taxonomy_term.field_license_link field_name: field_license_link entity_type: taxonomy_term diff --git a/config/optional/paragraphs.paragraphs_type.license_attribution.yml b/config/optional/paragraphs.paragraphs_type.license_attribution.yml index 24ad354..72cb489 100644 --- a/config/optional/paragraphs.paragraphs_type.license_attribution.yml +++ b/config/optional/paragraphs.paragraphs_type.license_attribution.yml @@ -1,6 +1,12 @@ langcode: en status: true -dependencies: { } +dependencies: + module: + - media_attribution + enforced: + module: + - media_attribution + id: license_attribution label: 'License Attribution' icon_uuid: null diff --git a/config/optional/taxonomy.vocabulary.media_attribution_licenses.yml b/config/optional/taxonomy.vocabulary.media_attribution_licenses.yml index 087a7df..84c1b19 100644 --- a/config/optional/taxonomy.vocabulary.media_attribution_licenses.yml +++ b/config/optional/taxonomy.vocabulary.media_attribution_licenses.yml @@ -1,6 +1,11 @@ langcode: en status: true -dependencies: { } +dependencies: + module: + - media_attribution + enforced: + module: + - media_attribution name: Licenses vid: media_attribution_licenses description: 'Licenses for content and attribution.' diff --git a/media_attribution.module b/media_attribution.module index e9e59ad..3359be2 100644 --- a/media_attribution.module +++ b/media_attribution.module @@ -116,7 +116,7 @@ function media_attribution_preprocess_entity_embed_container(&$variables) { $attribution_text['license'] = [ '#type' => 'link', '#title' => $license_link['title'], - '#prefix' => ' ' . t('is licensec under') . ' ', + '#prefix' => ' ' . t('Licensec under') . ' ', '#url' => Url::fromUri($license_link['uri']), '#suffix' => '.',