diff --git a/blt/src/Blt/Plugin/Commands/HsCommands.php b/blt/src/Blt/Plugin/Commands/HsCommands.php
index bc83770bee..0f1674266a 100644
--- a/blt/src/Blt/Plugin/Commands/HsCommands.php
+++ b/blt/src/Blt/Plugin/Commands/HsCommands.php
@@ -8,7 +8,6 @@
use Drupal\Core\Serialization\Yaml;
use GuzzleHttp\Client;
use Robo\Exception\TaskException;
-use Sws\BltSws\Blt\Plugin\Commands\SwsCommandTrait;
/**
* Various BLT commands for H&S stack.
diff --git a/config/default/core.base_field_override.event_collections.conference_session.title.yml b/config/default/core.base_field_override.event_collections.conference_session.title.yml
deleted file mode 100644
index 54660cea2d..0000000000
--- a/config/default/core.base_field_override.event_collections.conference_session.title.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-uuid: 117553a9-3677-4512-a645-cd2428eff06e
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_type.event_collections.conference_session
-id: event_collections.conference_session.title
-field_name: title
-entity_type: event_collections
-bundle: conference_session
-label: Session
-description: 'The title of the entity.'
-required: true
-translatable: true
-default_value: { }
-default_value_callback: ''
-settings: { }
-field_type: string
diff --git a/config/default/core.entity_form_display.course_collections.instructor.default.yml b/config/default/core.entity_form_display.hs_entity.course_collections__instructor.default.yml
similarity index 55%
rename from config/default/core.entity_form_display.course_collections.instructor.default.yml
rename to config/default/core.entity_form_display.hs_entity.course_collections__instructor.default.yml
index a37bd38746..32892f111c 100644
--- a/config/default/core.entity_form_display.course_collections.instructor.default.yml
+++ b/config/default/core.entity_form_display.hs_entity.course_collections__instructor.default.yml
@@ -1,14 +1,14 @@
-uuid: 62da19a0-19a8-490d-aacd-667f11a036bb
+uuid: ad4a350a-7ed1-41e8-9e9d-a18a4c29a68e
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.course_collections.instructor
- - field.field.course_collections.instructor.field_instructor_person
- - field.field.course_collections.instructor.field_instructor_role
-id: course_collections.instructor.default
-targetEntityType: course_collections
-bundle: instructor
+ - field.field.hs_entity.course_collections__instructor.field_instructor_person
+ - field.field.hs_entity.course_collections__instructor.field_instructor_role
+ - hs_entities.hs_entity_type.course_collections__instructor
+id: hs_entity.course_collections__instructor.default
+targetEntityType: hs_entity
+bundle: course_collections__instructor
mode: default
content:
field_instructor_person:
@@ -25,9 +25,9 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
- title:
+ label:
type: string_textfield
- weight: 0
+ weight: -5
region: content
settings:
size: 60
@@ -35,4 +35,5 @@ content:
third_party_settings: { }
hidden:
created: true
+ field_migration_id: true
uid: true
diff --git a/config/default/core.entity_form_display.event_collections.conference_session.default.yml b/config/default/core.entity_form_display.hs_entity.event_collections__conference_se.default.yml
similarity index 71%
rename from config/default/core.entity_form_display.event_collections.conference_session.default.yml
rename to config/default/core.entity_form_display.hs_entity.event_collections__conference_se.default.yml
index 1f702ca733..261a95461a 100644
--- a/config/default/core.entity_form_display.event_collections.conference_session.default.yml
+++ b/config/default/core.entity_form_display.hs_entity.event_collections__conference_se.default.yml
@@ -1,17 +1,15 @@
-uuid: ecd887d7-5551-463e-837c-41b455c26bdd
+uuid: 17e42431-31ea-4087-96eb-ed18df155af1
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.field.event_collections.conference_session.field_session_date_and_time
- - field.field.event_collections.conference_session.field_session_information
- - field.field.event_collections.conference_session.field_session_location
- - field.field.event_collections.conference_session.field_session_speakers
+ - field.field.hs_entity.event_collections__conference_se.field_session_date_and_time
+ - field.field.hs_entity.event_collections__conference_se.field_session_information
+ - field.field.hs_entity.event_collections__conference_se.field_session_location
+ - field.field.hs_entity.event_collections__conference_se.field_session_speakers
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- field_group
- - smart_date
- - text
third_party_settings:
field_group:
group_session_details:
@@ -30,9 +28,9 @@ third_party_settings:
formatter: closed
description: ''
required_fields: true
-id: event_collections.conference_session.default
-targetEntityType: event_collections
-bundle: conference_session
+id: hs_entity.event_collections__conference_se.default
+targetEntityType: hs_entity
+bundle: event_collections__conference_se
mode: default
content:
field_session_date_and_time:
@@ -77,12 +75,14 @@ content:
rows: 5
placeholder: ''
third_party_settings: { }
- title:
+ label:
type: string_textfield
- weight: 0
+ weight: -5
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
-hidden: { }
+hidden:
+ created: true
+ uid: true
diff --git a/config/default/core.entity_form_display.event_collections.speaker.default.yml b/config/default/core.entity_form_display.hs_entity.event_collections__speaker.default.yml
similarity index 51%
rename from config/default/core.entity_form_display.event_collections.speaker.default.yml
rename to config/default/core.entity_form_display.hs_entity.event_collections__speaker.default.yml
index e95f7027f8..31c9c36f20 100644
--- a/config/default/core.entity_form_display.event_collections.speaker.default.yml
+++ b/config/default/core.entity_form_display.hs_entity.event_collections__speaker.default.yml
@@ -1,13 +1,13 @@
-uuid: 55f297ab-3aa3-4c79-871b-f75d278f429b
+uuid: f96acb9d-7535-45e6-b238-e4bb60760c12
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.speaker
- - field.field.event_collections.speaker.field_speaker_person
-id: event_collections.speaker.default
-targetEntityType: event_collections
-bundle: speaker
+ - field.field.hs_entity.event_collections__speaker.field_speaker_person
+ - hs_entities.hs_entity_type.event_collections__speaker
+id: hs_entity.event_collections__speaker.default
+targetEntityType: hs_entity
+bundle: event_collections__speaker
mode: default
content:
field_speaker_person:
@@ -16,7 +16,7 @@ content:
region: content
settings: { }
third_party_settings: { }
- title:
+ label:
type: string_textfield
weight: -5
region: content
@@ -24,4 +24,6 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
-hidden: { }
+hidden:
+ created: true
+ uid: true
diff --git a/config/default/core.entity_form_display.hs_entity.publications_collections__public.default.yml b/config/default/core.entity_form_display.hs_entity.publications_collections__public.default.yml
new file mode 100644
index 0000000000..f9d91e3919
--- /dev/null
+++ b/config/default/core.entity_form_display.hs_entity.publications_collections__public.default.yml
@@ -0,0 +1,30 @@
+uuid: 87830ae3-1f62-4824-b8ef-1481e15faf6c
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.hs_entity.publications_collections__public.field_hs_publication_author
+ - hs_entities.hs_entity_type.publications_collections__public
+id: hs_entity.publications_collections__public.default
+targetEntityType: hs_entity
+bundle: publications_collections__public
+mode: default
+content:
+ field_hs_publication_author:
+ type: options_select
+ weight: 1
+ region: content
+ settings: { }
+ third_party_settings: { }
+ label:
+ type: string_textfield
+ weight: -5
+ region: content
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+hidden:
+ created: true
+ field_migration_id: true
+ uid: true
diff --git a/config/default/core.entity_form_display.publications_collections.publication_author.default.yml b/config/default/core.entity_form_display.publications_collections.publication_author.default.yml
deleted file mode 100644
index cd07ad0c85..0000000000
--- a/config/default/core.entity_form_display.publications_collections.publication_author.default.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-uuid: 2851983c-1ecd-4e17-b03e-76b0edbcdc1d
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_type.publications_collections.publication_author
- - field.field.publications_collections.publication_author.field_hs_publication_author
-id: publications_collections.publication_author.default
-targetEntityType: publications_collections
-bundle: publication_author
-mode: default
-content:
- field_hs_publication_author:
- type: options_select
- weight: 1
- region: content
- settings: { }
- third_party_settings: { }
- field_hs_publication_author_link:
- type: options_select
- weight: 3
- region: content
- settings: { }
- third_party_settings: { }
- title:
- type: string_textfield
- weight: 0
- region: content
- settings:
- size: 60
- placeholder: ''
- third_party_settings: { }
-hidden: { }
diff --git a/config/default/core.entity_view_display.course_collections.instructor.default.yml b/config/default/core.entity_view_display.hs_entity.course_collections__instructor.default.yml
similarity index 56%
rename from config/default/core.entity_view_display.course_collections.instructor.default.yml
rename to config/default/core.entity_view_display.hs_entity.course_collections__instructor.default.yml
index 02f39e0e4d..4eb05907fc 100644
--- a/config/default/core.entity_view_display.course_collections.instructor.default.yml
+++ b/config/default/core.entity_view_display.hs_entity.course_collections__instructor.default.yml
@@ -1,17 +1,13 @@
-uuid: 65e44979-6f86-4e60-af11-88c7f03aabb4
+uuid: 9ad61287-9178-4092-893f-c01286f05b0f
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.course_collections.instructor
- - field.field.course_collections.instructor.field_instructor_person
- - field.field.course_collections.instructor.field_instructor_role
- module:
- - field_formatter_class
- - hs_field_helpers
-id: course_collections.instructor.default
-targetEntityType: course_collections
-bundle: instructor
+ - field.field.hs_entity.course_collections__instructor.field_instructor_person
+ - hs_entities.hs_entity_type.course_collections__instructor
+id: hs_entity.course_collections__instructor.default
+targetEntityType: hs_entity
+bundle: course_collections__instructor
mode: default
content:
field_instructor_person:
@@ -26,17 +22,17 @@ content:
inline_contents: 0
weight: 1
region: content
- title:
+ label:
type: string
label: hidden
settings:
link_to_entity: false
third_party_settings: { }
- weight: 0
+ weight: -5
region: content
hidden:
- changed: true
created: true
field_instructor_role: true
+ field_migration_id: true
search_api_excerpt: true
uid: true
diff --git a/config/default/core.entity_view_display.event_collections.conference_session.default.yml b/config/default/core.entity_view_display.hs_entity.event_collections__conference_se.default.yml
similarity index 72%
rename from config/default/core.entity_view_display.event_collections.conference_session.default.yml
rename to config/default/core.entity_view_display.hs_entity.event_collections__conference_se.default.yml
index 3a9b2cad7a..0e3eada52f 100644
--- a/config/default/core.entity_view_display.event_collections.conference_session.default.yml
+++ b/config/default/core.entity_view_display.hs_entity.event_collections__conference_se.default.yml
@@ -1,19 +1,15 @@
-uuid: af4e1a08-d1ab-486a-9b28-da67866943bd
+uuid: 1e142f5e-2086-4889-a74d-5e38ed1c032b
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.field.event_collections.conference_session.field_session_date_and_time
- - field.field.event_collections.conference_session.field_session_information
- - field.field.event_collections.conference_session.field_session_location
- - field.field.event_collections.conference_session.field_session_speakers
+ - field.field.hs_entity.event_collections__conference_se.field_session_date_and_time
+ - field.field.hs_entity.event_collections__conference_se.field_session_information
+ - field.field.hs_entity.event_collections__conference_se.field_session_location
+ - field.field.hs_entity.event_collections__conference_se.field_session_speakers
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- ds
- - field_formatter_class
- - hs_field_helpers
- - smart_date
- - text
third_party_settings:
ds:
layout:
@@ -33,9 +29,9 @@ third_party_settings:
- field_session_information
- field_session_speakers
- field_session_documents
-id: event_collections.conference_session.default
-targetEntityType: event_collections
-bundle: conference_session
+id: hs_entity.event_collections__conference_se.default
+targetEntityType: hs_entity
+bundle: event_collections__conference_se
mode: default
content:
field_session_date_and_time:
@@ -81,13 +77,15 @@ content:
third_party_settings: { }
weight: 3
region: description
- title:
+ label:
type: string
label: hidden
settings:
link_to_entity: false
third_party_settings: { }
- weight: 0
- region: title
+ weight: -5
+ region: content
hidden:
+ created: true
search_api_excerpt: true
+ uid: true
diff --git a/config/default/core.entity_view_display.event_collections.speaker.default.yml b/config/default/core.entity_view_display.hs_entity.event_collections__speaker.default.yml
similarity index 56%
rename from config/default/core.entity_view_display.event_collections.speaker.default.yml
rename to config/default/core.entity_view_display.hs_entity.event_collections__speaker.default.yml
index ad078f225a..57bf351c04 100644
--- a/config/default/core.entity_view_display.event_collections.speaker.default.yml
+++ b/config/default/core.entity_view_display.hs_entity.event_collections__speaker.default.yml
@@ -1,13 +1,13 @@
-uuid: 81906ddb-2892-4118-a015-8c328ed0f198
+uuid: 274962b7-9bbd-4b54-ba75-51c2db83ef3e
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.speaker
- - field.field.event_collections.speaker.field_speaker_person
-id: event_collections.speaker.default
-targetEntityType: event_collections
-bundle: speaker
+ - field.field.hs_entity.event_collections__speaker.field_speaker_person
+ - hs_entities.hs_entity_type.event_collections__speaker
+id: hs_entity.event_collections__speaker.default
+targetEntityType: hs_entity
+bundle: event_collections__speaker
mode: default
content:
field_speaker_person:
@@ -18,7 +18,7 @@ content:
third_party_settings: { }
weight: -4
region: content
- title:
+ label:
type: string
label: hidden
settings:
@@ -27,4 +27,6 @@ content:
weight: -5
region: content
hidden:
+ created: true
search_api_excerpt: true
+ uid: true
diff --git a/config/default/core.entity_view_display.publications_collections.publication_author.default.yml b/config/default/core.entity_view_display.hs_entity.publications_collections__public.default.yml
similarity index 51%
rename from config/default/core.entity_view_display.publications_collections.publication_author.default.yml
rename to config/default/core.entity_view_display.hs_entity.publications_collections__public.default.yml
index 604726cc7d..adadc75cee 100644
--- a/config/default/core.entity_view_display.publications_collections.publication_author.default.yml
+++ b/config/default/core.entity_view_display.hs_entity.publications_collections__public.default.yml
@@ -1,17 +1,13 @@
-uuid: 6b61b4ea-8881-49e2-9675-a5686097906e
+uuid: 247f3b20-abb3-4adb-96e2-07fbaf2325ee
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.publications_collections.publication_author
- - field.field.publications_collections.publication_author.field_hs_publication_author
- module:
- - field_formatter_class
- - layout_builder
- - layout_discovery
-id: publications_collections.publication_author.default
-targetEntityType: publications_collections
-bundle: publication_author
+ - field.field.hs_entity.publications_collections__public.field_hs_publication_author
+ - hs_entities.hs_entity_type.publications_collections__public
+id: hs_entity.publications_collections__public.default
+targetEntityType: hs_entity
+bundle: publications_collections__public
mode: default
content:
field_hs_publication_author:
@@ -24,13 +20,16 @@ content:
class: ''
weight: 1
region: content
- title:
+ label:
type: string
label: hidden
settings:
link_to_entity: false
third_party_settings: { }
- weight: 0
+ weight: -5
region: content
hidden:
+ created: true
+ field_migration_id: true
search_api_excerpt: true
+ uid: true
diff --git a/config/default/eck.eck_entity_type.course_collections.yml b/config/default/eck.eck_entity_type.course_collections.yml
deleted file mode 100644
index ca6b7def80..0000000000
--- a/config/default/eck.eck_entity_type.course_collections.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-uuid: 14b682a0-37af-47d9-a384-2a94bd6bc96e
-langcode: en
-status: false
-dependencies: { }
-id: course_collections
-label: 'Course Collections'
-uid: true
-created: true
-changed: true
-title: true
diff --git a/config/default/eck.eck_entity_type.event_collections.yml b/config/default/eck.eck_entity_type.event_collections.yml
deleted file mode 100644
index df264bec1e..0000000000
--- a/config/default/eck.eck_entity_type.event_collections.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-uuid: 4a7243a2-2792-4cad-8243-9a80645b8483
-langcode: en
-status: false
-dependencies: { }
-_core:
- default_config_hash: alpO-KfdmucorAsjGAyjOWW4-8QKpVlvtMbkJaSym7Y
-id: event_collections
-label: 'Event Collections'
-uid: false
-created: false
-changed: false
-title: true
diff --git a/config/default/eck.eck_entity_type.publications_collections.yml b/config/default/eck.eck_entity_type.publications_collections.yml
deleted file mode 100644
index 37df8af721..0000000000
--- a/config/default/eck.eck_entity_type.publications_collections.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-uuid: 60403f56-4ef0-4080-82aa-bdaec76c0eab
-langcode: en
-status: false
-dependencies: { }
-_core:
- default_config_hash: y300-6TYpKouDO1W5WE4E7Y-5zAvDdjdID4xmWIu6KM
-id: publications_collections
-label: 'Publications Collections'
-uid: false
-created: false
-changed: false
-title: true
diff --git a/config/default/eck.eck_type.course_collections.instructor.yml b/config/default/eck.eck_type.course_collections.instructor.yml
deleted file mode 100644
index 07f1ce632d..0000000000
--- a/config/default/eck.eck_type.course_collections.instructor.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-uuid: 746154c0-c656-4efd-aaec-0c27b3769ddf
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_entity_type.course_collections
-name: Instructor
-type: instructor
-description: ''
diff --git a/config/default/eck.eck_type.event_collections.conference_session.yml b/config/default/eck.eck_type.event_collections.conference_session.yml
deleted file mode 100644
index e3ae21003d..0000000000
--- a/config/default/eck.eck_type.event_collections.conference_session.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-uuid: cd64cec6-723f-4af7-b745-92c9dfeaee57
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_entity_type.event_collections
-name: 'Conference Session'
-type: conference_session
-description: ''
diff --git a/config/default/eck.eck_type.event_collections.speaker.yml b/config/default/eck.eck_type.event_collections.speaker.yml
deleted file mode 100644
index c075c24c28..0000000000
--- a/config/default/eck.eck_type.event_collections.speaker.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-uuid: 15ec4a5a-89f2-405b-a6df-46ba75aad9f5
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_entity_type.event_collections
-_core:
- default_config_hash: OSVogGYGckUu_H15-sGsEM8hbxIhPkAaq3KWmJwbqfM
-name: Speaker
-type: speaker
-description: ''
diff --git a/config/default/eck.eck_type.publications_collections.publication_author.yml b/config/default/eck.eck_type.publications_collections.publication_author.yml
deleted file mode 100644
index 4a16171f37..0000000000
--- a/config/default/eck.eck_type.publications_collections.publication_author.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-uuid: baddce13-8e12-40a7-8082-b8f2bf139475
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_entity_type.publications_collections
-_core:
- default_config_hash: bAhjSMbo3b9kLI5vZkf_mMIPDovZqFWbIR-2421TyQ0
-name: 'Publication Author'
-type: publication_author
-description: ''
diff --git a/config/default/field.field.course_collections.instructor.field_instructor_role.yml b/config/default/field.field.course_collections.instructor.field_instructor_role.yml
deleted file mode 100644
index a23e151faf..0000000000
--- a/config/default/field.field.course_collections.instructor.field_instructor_role.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-uuid: 54dc626f-352c-4dcb-9cdf-58403f21894c
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_type.course_collections.instructor
- - field.storage.course_collections.field_instructor_role
-id: course_collections.instructor.field_instructor_role
-field_name: field_instructor_role
-entity_type: course_collections
-bundle: instructor
-label: 'Instructor Role'
-description: ''
-required: false
-translatable: false
-default_value: { }
-default_value_callback: ''
-settings: { }
-field_type: string
diff --git a/config/default/field.field.event_collections.conference_session.field_session_location.yml b/config/default/field.field.event_collections.conference_session.field_session_location.yml
deleted file mode 100644
index d4555b6138..0000000000
--- a/config/default/field.field.event_collections.conference_session.field_session_location.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-uuid: 345db117-12be-4bcd-a9e0-25441f116302
-langcode: en
-status: true
-dependencies:
- config:
- - eck.eck_type.event_collections.conference_session
- - field.storage.event_collections.field_session_location
-id: event_collections.conference_session.field_session_location
-field_name: field_session_location
-entity_type: event_collections
-bundle: conference_session
-label: 'Session Location'
-description: ''
-required: false
-translatable: false
-default_value: { }
-default_value_callback: ''
-settings: { }
-field_type: string
diff --git a/config/default/field.field.course_collections.instructor.field_instructor_person.yml b/config/default/field.field.hs_entity.course_collections__instructor.field_instructor_person.yml
similarity index 56%
rename from config/default/field.field.course_collections.instructor.field_instructor_person.yml
rename to config/default/field.field.hs_entity.course_collections__instructor.field_instructor_person.yml
index 4181f5b584..ce4d1c1ea1 100644
--- a/config/default/field.field.course_collections.instructor.field_instructor_person.yml
+++ b/config/default/field.field.hs_entity.course_collections__instructor.field_instructor_person.yml
@@ -1,19 +1,19 @@
-uuid: ea5fe7c4-f8d9-41a1-835c-e10ce72ed4ff
+uuid: 28a728d8-5a0a-4663-aa30-0c40df900a2c
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.course_collections.instructor
- - field.storage.course_collections.field_instructor_person
+ - field.storage.hs_entity.field_instructor_person
+ - hs_entities.hs_entity_type.course_collections__instructor
- node.type.hs_person
-id: course_collections.instructor.field_instructor_person
+id: hs_entity.course_collections__instructor.field_instructor_person
field_name: field_instructor_person
-entity_type: course_collections
-bundle: instructor
+entity_type: hs_entity
+bundle: course_collections__instructor
label: 'Instructor Person'
-description: 'Link the instructor to a person content.'
+description: ''
required: false
-translatable: false
+translatable: true
default_value: { }
default_value_callback: ''
settings:
diff --git a/config/default/field.field.hs_entity.course_collections__instructor.field_instructor_role.yml b/config/default/field.field.hs_entity.course_collections__instructor.field_instructor_role.yml
new file mode 100644
index 0000000000..bd7743b442
--- /dev/null
+++ b/config/default/field.field.hs_entity.course_collections__instructor.field_instructor_role.yml
@@ -0,0 +1,19 @@
+uuid: 074e9491-db7e-4eb2-95c6-2a490dada63a
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.hs_entity.field_instructor_role
+ - hs_entities.hs_entity_type.course_collections__instructor
+id: hs_entity.course_collections__instructor.field_instructor_role
+field_name: field_instructor_role
+entity_type: hs_entity
+bundle: course_collections__instructor
+label: 'Instructor Role'
+description: ''
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: string
diff --git a/config/default/field.field.hs_entity.course_collections__instructor.field_migration_id.yml b/config/default/field.field.hs_entity.course_collections__instructor.field_migration_id.yml
new file mode 100644
index 0000000000..4524468500
--- /dev/null
+++ b/config/default/field.field.hs_entity.course_collections__instructor.field_migration_id.yml
@@ -0,0 +1,19 @@
+uuid: 13a807eb-ef06-46e8-b5f0-8ea56dd8a355
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.hs_entity.field_migration_id
+ - hs_entities.hs_entity_type.course_collections__instructor
+id: hs_entity.course_collections__instructor.field_migration_id
+field_name: field_migration_id
+entity_type: hs_entity
+bundle: course_collections__instructor
+label: 'Migration ID'
+description: ''
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: string
diff --git a/config/default/field.field.event_collections.conference_session.field_session_date_and_time.yml b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_date_and_time.yml
similarity index 56%
rename from config/default/field.field.event_collections.conference_session.field_session_date_and_time.yml
rename to config/default/field.field.hs_entity.event_collections__conference_se.field_session_date_and_time.yml
index 7ca6525833..249f1ffaff 100644
--- a/config/default/field.field.event_collections.conference_session.field_session_date_and_time.yml
+++ b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_date_and_time.yml
@@ -1,20 +1,20 @@
-uuid: 5bd72179-2b00-44aa-9a8a-599ec24209bd
+uuid: 8f6d99b9-f423-42fe-a763-e2e97802948f
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.storage.event_collections.field_session_date_and_time
+ - field.storage.hs_entity.field_session_date_and_time
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- smart_date
-id: event_collections.conference_session.field_session_date_and_time
+id: hs_entity.event_collections__conference_se.field_session_date_and_time
field_name: field_session_date_and_time
-entity_type: event_collections
-bundle: conference_session
+entity_type: hs_entity
+bundle: event_collections__conference_se
label: 'Session Date and Time'
description: ''
required: false
-translatable: false
+translatable: true
default_value:
-
default_duration: 60
diff --git a/config/default/field.field.event_collections.conference_session.field_session_information.yml b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_information.yml
similarity index 61%
rename from config/default/field.field.event_collections.conference_session.field_session_information.yml
rename to config/default/field.field.hs_entity.event_collections__conference_se.field_session_information.yml
index 684e6b3719..71e1717e59 100644
--- a/config/default/field.field.event_collections.conference_session.field_session_information.yml
+++ b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_information.yml
@@ -1,24 +1,24 @@
-uuid: 30c626f3-0752-426d-a58c-1bfa93ff1c42
+uuid: cd274908-b463-4d4d-90a2-dbdb7467c28e
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.storage.event_collections.field_session_information
+ - field.storage.hs_entity.field_session_information
- filter.format.basic_html
- filter.format.full_html
- filter.format.minimal_html
- filter.format.plain_text
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- text
-id: event_collections.conference_session.field_session_information
+id: hs_entity.event_collections__conference_se.field_session_information
field_name: field_session_information
-entity_type: event_collections
-bundle: conference_session
+entity_type: hs_entity
+bundle: event_collections__conference_se
label: 'Session Information'
description: ''
required: false
-translatable: false
+translatable: true
default_value: { }
default_value_callback: ''
settings:
diff --git a/config/default/field.field.hs_entity.event_collections__conference_se.field_session_location.yml b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_location.yml
new file mode 100644
index 0000000000..67c008ee84
--- /dev/null
+++ b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_location.yml
@@ -0,0 +1,19 @@
+uuid: 4682ffaf-c50f-4195-8bca-fe89e00ebb4f
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.hs_entity.field_session_location
+ - hs_entities.hs_entity_type.event_collections__conference_se
+id: hs_entity.event_collections__conference_se.field_session_location
+field_name: field_session_location
+entity_type: hs_entity
+bundle: event_collections__conference_se
+label: 'Session Location'
+description: ''
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: string
diff --git a/config/default/field.field.event_collections.conference_session.field_session_speakers.yml b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_speakers.yml
similarity index 59%
rename from config/default/field.field.event_collections.conference_session.field_session_speakers.yml
rename to config/default/field.field.hs_entity.event_collections__conference_se.field_session_speakers.yml
index e2e93d77a9..815844efd9 100644
--- a/config/default/field.field.event_collections.conference_session.field_session_speakers.yml
+++ b/config/default/field.field.hs_entity.event_collections__conference_se.field_session_speakers.yml
@@ -1,24 +1,24 @@
-uuid: ab10440b-6bca-4e0c-b51d-d69fb50ddc43
+uuid: c02fd0d9-1653-4668-a64e-385c016f6d8d
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.storage.event_collections.field_session_speakers
+ - field.storage.hs_entity.field_session_speakers
- filter.format.basic_html
- filter.format.full_html
- filter.format.minimal_html
- filter.format.plain_text
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- text
-id: event_collections.conference_session.field_session_speakers
+id: hs_entity.event_collections__conference_se.field_session_speakers
field_name: field_session_speakers
-entity_type: event_collections
-bundle: conference_session
+entity_type: hs_entity
+bundle: event_collections__conference_se
label: 'Session Speakers'
description: ''
required: false
-translatable: false
+translatable: true
default_value: { }
default_value_callback: ''
settings:
diff --git a/config/default/field.field.event_collections.speaker.field_speaker_person.yml b/config/default/field.field.hs_entity.event_collections__speaker.field_speaker_person.yml
similarity index 60%
rename from config/default/field.field.event_collections.speaker.field_speaker_person.yml
rename to config/default/field.field.hs_entity.event_collections__speaker.field_speaker_person.yml
index fba210d7e7..506315f3c3 100644
--- a/config/default/field.field.event_collections.speaker.field_speaker_person.yml
+++ b/config/default/field.field.hs_entity.event_collections__speaker.field_speaker_person.yml
@@ -1,19 +1,19 @@
-uuid: 49eab495-99e3-4f19-82e6-a37d8dfa2067
+uuid: a0c342af-7dff-4eb7-828c-7e31e6978953
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.speaker
- - field.storage.event_collections.field_speaker_person
+ - field.storage.hs_entity.field_speaker_person
+ - hs_entities.hs_entity_type.event_collections__speaker
- node.type.hs_person
-id: event_collections.speaker.field_speaker_person
+id: hs_entity.event_collections__speaker.field_speaker_person
field_name: field_speaker_person
-entity_type: event_collections
-bundle: speaker
+entity_type: hs_entity
+bundle: event_collections__speaker
label: 'Speaker Person'
description: ''
required: false
-translatable: false
+translatable: true
default_value: { }
default_value_callback: ''
settings:
diff --git a/config/default/field.field.publications_collections.publication_author.field_hs_publication_author.yml b/config/default/field.field.hs_entity.publications_collections__public.field_hs_publication_author.yml
similarity index 52%
rename from config/default/field.field.publications_collections.publication_author.field_hs_publication_author.yml
rename to config/default/field.field.hs_entity.publications_collections__public.field_hs_publication_author.yml
index 7b8f571a6b..5d20d2ed4b 100644
--- a/config/default/field.field.publications_collections.publication_author.field_hs_publication_author.yml
+++ b/config/default/field.field.hs_entity.publications_collections__public.field_hs_publication_author.yml
@@ -1,18 +1,18 @@
-uuid: 9fffc5f6-3911-412f-a4b8-6a4ba7df5816
+uuid: 312f314c-db39-4130-ae04-7cd52d277bc9
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.publications_collections.publication_author
- - field.storage.publications_collections.field_hs_publication_author
-id: publications_collections.publication_author.field_hs_publication_author
+ - field.storage.hs_entity.field_hs_publication_author
+ - hs_entities.hs_entity_type.publications_collections__public
+id: hs_entity.publications_collections__public.field_hs_publication_author
field_name: field_hs_publication_author
-entity_type: publications_collections
-bundle: publication_author
+entity_type: hs_entity
+bundle: publications_collections__public
label: 'Author Person'
description: ''
required: false
-translatable: false
+translatable: true
default_value: { }
default_value_callback: ''
settings:
diff --git a/config/default/field.field.hs_entity.publications_collections__public.field_migration_id.yml b/config/default/field.field.hs_entity.publications_collections__public.field_migration_id.yml
new file mode 100644
index 0000000000..cfec656d60
--- /dev/null
+++ b/config/default/field.field.hs_entity.publications_collections__public.field_migration_id.yml
@@ -0,0 +1,19 @@
+uuid: 9a8e86e9-b57b-4091-9c78-781b8edb70f7
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.hs_entity.field_migration_id
+ - hs_entities.hs_entity_type.publications_collections__public
+id: hs_entity.publications_collections__public.field_migration_id
+field_name: field_migration_id
+entity_type: hs_entity
+bundle: publications_collections__public
+label: 'Migration ID'
+description: ''
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: string
diff --git a/config/default/field.field.node.hs_course.field_hs_course_section_instruc.yml b/config/default/field.field.node.hs_course.field_hs_course_section_instruc.yml
index 275949d1c2..b617dd75bc 100644
--- a/config/default/field.field.node.hs_course.field_hs_course_section_instruc.yml
+++ b/config/default/field.field.node.hs_course.field_hs_course_section_instruc.yml
@@ -3,7 +3,6 @@ langcode: en
status: true
dependencies:
config:
- - eck.eck_type.course_collections.instructor
- field.storage.node.field_hs_course_section_instruc
- node.type.hs_course
id: node.hs_course.field_hs_course_section_instruc
@@ -17,13 +16,13 @@ translatable: false
default_value: { }
default_value_callback: ''
settings:
- handler: 'default:course_collections'
+ handler: 'default:hs_entity'
handler_settings:
target_bundles:
- instructor: instructor
+ course_collections__instructor: course_collections__instructor
sort:
- field: title
+ field: label
direction: ASC
- auto_create: false
+ auto_create: true
auto_create_bundle: ''
field_type: entity_reference
diff --git a/config/default/field.field.node.hs_event.field_conference_session.yml b/config/default/field.field.node.hs_event.field_conference_session.yml
index ec4ff1c447..11bc90549a 100644
--- a/config/default/field.field.node.hs_event.field_conference_session.yml
+++ b/config/default/field.field.node.hs_event.field_conference_session.yml
@@ -3,7 +3,6 @@ langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- field.storage.node.field_conference_session
- node.type.hs_event
id: node.hs_event.field_conference_session
@@ -17,12 +16,12 @@ translatable: false
default_value: { }
default_value_callback: ''
settings:
- handler: 'default:event_collections'
+ handler: 'default:hs_entity'
handler_settings:
target_bundles:
- conference_session: conference_session
+ event_collections__conference_se: event_collections__conference_se
sort:
- field: _none
+ field: label
direction: ASC
auto_create: true
auto_create_bundle: ''
diff --git a/config/default/field.field.node.hs_event.field_hs_event_speaker.yml b/config/default/field.field.node.hs_event.field_hs_event_speaker.yml
index 87f385c898..b8cffd8bf2 100644
--- a/config/default/field.field.node.hs_event.field_hs_event_speaker.yml
+++ b/config/default/field.field.node.hs_event.field_hs_event_speaker.yml
@@ -3,7 +3,6 @@ langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.speaker
- field.storage.node.field_hs_event_speaker
- node.type.hs_event
_core:
@@ -19,12 +18,13 @@ translatable: false
default_value: { }
default_value_callback: ''
settings:
- handler: 'default:event_collections'
+ handler: 'default:hs_entity'
handler_settings:
target_bundles:
- speaker: speaker
+ event_collections__speaker: event_collections__speaker
sort:
- field: _none
- auto_create: false
+ field: label
+ direction: ASC
+ auto_create: true
auto_create_bundle: ''
field_type: entity_reference
diff --git a/config/default/field.field.node.hs_publications.field_hs_publication_author.yml b/config/default/field.field.node.hs_publications.field_hs_publication_author.yml
index 0e3fce6459..da510d8dbe 100644
--- a/config/default/field.field.node.hs_publications.field_hs_publication_author.yml
+++ b/config/default/field.field.node.hs_publications.field_hs_publication_author.yml
@@ -3,7 +3,6 @@ langcode: en
status: true
dependencies:
config:
- - eck.eck_type.publications_collections.publication_author
- field.storage.node.field_hs_publication_author
- node.type.hs_publications
_core:
@@ -19,12 +18,13 @@ translatable: false
default_value: { }
default_value_callback: ''
settings:
- handler: 'default:publications_collections'
+ handler: 'default:hs_entity'
handler_settings:
target_bundles:
- publication_author: publication_author
+ publications_collections__public: publications_collections__public
sort:
- field: _none
+ field: label
+ direction: ASC
auto_create: true
auto_create_bundle: ''
field_type: entity_reference
diff --git a/config/default/field.storage.publications_collections.field_hs_publication_author.yml b/config/default/field.storage.hs_entity.field_hs_publication_author.yml
similarity index 65%
rename from config/default/field.storage.publications_collections.field_hs_publication_author.yml
rename to config/default/field.storage.hs_entity.field_hs_publication_author.yml
index 195f635831..213889ce91 100644
--- a/config/default/field.storage.publications_collections.field_hs_publication_author.yml
+++ b/config/default/field.storage.hs_entity.field_hs_publication_author.yml
@@ -1,13 +1,13 @@
-uuid: 392b36b8-f75f-4088-ae7a-2c63abeb2efd
+uuid: 463c3d71-a576-43e2-9f1a-e514c6c5bd2c
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
-id: publications_collections.field_hs_publication_author
+id: hs_entity.field_hs_publication_author
field_name: field_hs_publication_author
-entity_type: publications_collections
+entity_type: hs_entity
type: entity_reference
settings:
target_type: node
diff --git a/config/default/field.storage.course_collections.field_instructor_person.yml b/config/default/field.storage.hs_entity.field_instructor_person.yml
similarity index 67%
rename from config/default/field.storage.course_collections.field_instructor_person.yml
rename to config/default/field.storage.hs_entity.field_instructor_person.yml
index cce8800ccb..2ff5811742 100644
--- a/config/default/field.storage.course_collections.field_instructor_person.yml
+++ b/config/default/field.storage.hs_entity.field_instructor_person.yml
@@ -1,13 +1,13 @@
-uuid: 623c304a-29ab-4f41-9312-eda02445d928
+uuid: c78d1126-d3bd-4f9d-a157-37ffe72115f6
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
-id: course_collections.field_instructor_person
+id: hs_entity.field_instructor_person
field_name: field_instructor_person
-entity_type: course_collections
+entity_type: hs_entity
type: entity_reference
settings:
target_type: node
diff --git a/config/default/field.storage.course_collections.field_instructor_role.yml b/config/default/field.storage.hs_entity.field_instructor_role.yml
similarity index 69%
rename from config/default/field.storage.course_collections.field_instructor_role.yml
rename to config/default/field.storage.hs_entity.field_instructor_role.yml
index 717962ccbe..b811dc1b4d 100644
--- a/config/default/field.storage.course_collections.field_instructor_role.yml
+++ b/config/default/field.storage.hs_entity.field_instructor_role.yml
@@ -1,12 +1,12 @@
-uuid: f23691cc-6944-4467-a982-f211a97d787d
+uuid: c5bc56d6-8048-4bd7-9b45-bbf67e850ad1
langcode: en
status: true
dependencies:
module:
- - eck
-id: course_collections.field_instructor_role
+ - hs_entities
+id: hs_entity.field_instructor_role
field_name: field_instructor_role
-entity_type: course_collections
+entity_type: hs_entity
type: string
settings:
max_length: 255
diff --git a/config/default/field.storage.hs_entity.field_migration_id.yml b/config/default/field.storage.hs_entity.field_migration_id.yml
new file mode 100644
index 0000000000..5f48431db4
--- /dev/null
+++ b/config/default/field.storage.hs_entity.field_migration_id.yml
@@ -0,0 +1,21 @@
+uuid: 4bb41673-e50b-44c7-809b-fd63c24fced5
+langcode: en
+status: true
+dependencies:
+ module:
+ - hs_entities
+id: hs_entity.field_migration_id
+field_name: field_migration_id
+entity_type: hs_entity
+type: string
+settings:
+ max_length: 255
+ case_sensitive: false
+ is_ascii: false
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/default/field.storage.event_collections.field_session_date_and_time.yml b/config/default/field.storage.hs_entity.field_session_date_and_time.yml
similarity index 66%
rename from config/default/field.storage.event_collections.field_session_date_and_time.yml
rename to config/default/field.storage.hs_entity.field_session_date_and_time.yml
index 475c304ca0..4424a2d729 100644
--- a/config/default/field.storage.event_collections.field_session_date_and_time.yml
+++ b/config/default/field.storage.hs_entity.field_session_date_and_time.yml
@@ -1,13 +1,13 @@
-uuid: ba43931d-8d7c-402c-a116-c35b3196ad2b
+uuid: 8e9b3e28-2ab8-40f7-a688-03df84bd8976
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- smart_date
-id: event_collections.field_session_date_and_time
+id: hs_entity.field_session_date_and_time
field_name: field_session_date_and_time
-entity_type: event_collections
+entity_type: hs_entity
type: smartdate
settings: { }
module: smart_date
diff --git a/config/default/field.storage.event_collections.field_session_information.yml b/config/default/field.storage.hs_entity.field_session_information.yml
similarity index 66%
rename from config/default/field.storage.event_collections.field_session_information.yml
rename to config/default/field.storage.hs_entity.field_session_information.yml
index 69f2e59f53..898fdafa96 100644
--- a/config/default/field.storage.event_collections.field_session_information.yml
+++ b/config/default/field.storage.hs_entity.field_session_information.yml
@@ -1,13 +1,13 @@
-uuid: 1e244b3c-54a8-47be-abed-ad06c110dd69
+uuid: f11c88f9-23ee-4cf2-a315-bc4f180145ee
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- text
-id: event_collections.field_session_information
+id: hs_entity.field_session_information
field_name: field_session_information
-entity_type: event_collections
+entity_type: hs_entity
type: text_with_summary
settings: { }
module: text
diff --git a/config/default/field.storage.event_collections.field_session_location.yml b/config/default/field.storage.hs_entity.field_session_location.yml
similarity index 69%
rename from config/default/field.storage.event_collections.field_session_location.yml
rename to config/default/field.storage.hs_entity.field_session_location.yml
index b6e8f2eeb0..01c5c229ee 100644
--- a/config/default/field.storage.event_collections.field_session_location.yml
+++ b/config/default/field.storage.hs_entity.field_session_location.yml
@@ -1,12 +1,12 @@
-uuid: 4af766a5-1794-4036-94cf-faa3d5996c7d
+uuid: 17ad6606-447c-40f1-a99b-e9e37690b7de
langcode: en
status: true
dependencies:
module:
- - eck
-id: event_collections.field_session_location
+ - hs_entities
+id: hs_entity.field_session_location
field_name: field_session_location
-entity_type: event_collections
+entity_type: hs_entity
type: string
settings:
max_length: 255
diff --git a/config/default/field.storage.event_collections.field_session_speakers.yml b/config/default/field.storage.hs_entity.field_session_speakers.yml
similarity index 66%
rename from config/default/field.storage.event_collections.field_session_speakers.yml
rename to config/default/field.storage.hs_entity.field_session_speakers.yml
index ac5dc02244..a13bed348b 100644
--- a/config/default/field.storage.event_collections.field_session_speakers.yml
+++ b/config/default/field.storage.hs_entity.field_session_speakers.yml
@@ -1,13 +1,13 @@
-uuid: 64ecb7cb-927b-46b3-b884-76deb27dfb13
+uuid: b69f56fe-92b9-431a-b113-9c10e50679a0
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- text
-id: event_collections.field_session_speakers
+id: hs_entity.field_session_speakers
field_name: field_session_speakers
-entity_type: event_collections
+entity_type: hs_entity
type: text_long
settings: { }
module: text
diff --git a/config/default/field.storage.event_collections.field_speaker_person.yml b/config/default/field.storage.hs_entity.field_speaker_person.yml
similarity index 68%
rename from config/default/field.storage.event_collections.field_speaker_person.yml
rename to config/default/field.storage.hs_entity.field_speaker_person.yml
index d895adf998..ac14f6ebde 100644
--- a/config/default/field.storage.event_collections.field_speaker_person.yml
+++ b/config/default/field.storage.hs_entity.field_speaker_person.yml
@@ -1,13 +1,13 @@
-uuid: ee4189ed-2834-4800-81de-9d7aa2c8cafb
+uuid: 11c340bb-511f-43f5-baac-3fa5e2d93605
langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
-id: event_collections.field_speaker_person
+id: hs_entity.field_speaker_person
field_name: field_speaker_person
-entity_type: event_collections
+entity_type: hs_entity
type: entity_reference
settings:
target_type: node
diff --git a/config/default/field.storage.node.field_conference_session.yml b/config/default/field.storage.node.field_conference_session.yml
index 8415644185..a4a22047f8 100644
--- a/config/default/field.storage.node.field_conference_session.yml
+++ b/config/default/field.storage.node.field_conference_session.yml
@@ -3,14 +3,14 @@ langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
id: node.field_conference_session
field_name: field_conference_session
entity_type: node
type: entity_reference
settings:
- target_type: event_collections
+ target_type: hs_entity
module: core
locked: false
cardinality: -1
diff --git a/config/default/field.storage.node.field_hs_course_section_instruc.yml b/config/default/field.storage.node.field_hs_course_section_instruc.yml
index a455aba53c..044161f67a 100644
--- a/config/default/field.storage.node.field_hs_course_section_instruc.yml
+++ b/config/default/field.storage.node.field_hs_course_section_instruc.yml
@@ -3,14 +3,14 @@ langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
id: node.field_hs_course_section_instruc
field_name: field_hs_course_section_instruc
entity_type: node
type: entity_reference
settings:
- target_type: course_collections
+ target_type: hs_entity
module: core
locked: false
cardinality: -1
diff --git a/config/default/field.storage.node.field_hs_event_speaker.yml b/config/default/field.storage.node.field_hs_event_speaker.yml
index 1df937d816..83e995a78f 100644
--- a/config/default/field.storage.node.field_hs_event_speaker.yml
+++ b/config/default/field.storage.node.field_hs_event_speaker.yml
@@ -3,7 +3,7 @@ langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
_core:
default_config_hash: 8Uhp2twGSrzMJMCte4pOAKL9wkyixWMK727IQKVDCII
@@ -12,7 +12,7 @@ field_name: field_hs_event_speaker
entity_type: node
type: entity_reference
settings:
- target_type: event_collections
+ target_type: hs_entity
module: core
locked: false
cardinality: -1
diff --git a/config/default/field.storage.node.field_hs_publication_author.yml b/config/default/field.storage.node.field_hs_publication_author.yml
index d2b59d5a92..06a4853116 100644
--- a/config/default/field.storage.node.field_hs_publication_author.yml
+++ b/config/default/field.storage.node.field_hs_publication_author.yml
@@ -3,7 +3,7 @@ langcode: en
status: true
dependencies:
module:
- - eck
+ - hs_entities
- node
_core:
default_config_hash: OdRW7Cr-RRkHgoTbfW3J-mCydNkKd7yEO8crouK9kg4
@@ -12,7 +12,7 @@ field_name: field_hs_publication_author
entity_type: node
type: entity_reference
settings:
- target_type: publications_collections
+ target_type: hs_entity
module: core
locked: false
cardinality: -1
diff --git a/config/default/hs_entities.hs_entity_type.course_collections__instructor.yml b/config/default/hs_entities.hs_entity_type.course_collections__instructor.yml
new file mode 100644
index 0000000000..83d6c92901
--- /dev/null
+++ b/config/default/hs_entities.hs_entity_type.course_collections__instructor.yml
@@ -0,0 +1,6 @@
+uuid: d26703b2-c88e-403c-9fe6-f62e3f76b5aa
+langcode: en
+status: true
+dependencies: { }
+id: course_collections__instructor
+label: 'Course Collections: Instructor'
diff --git a/config/default/hs_entities.hs_entity_type.event_collections__conference_se.yml b/config/default/hs_entities.hs_entity_type.event_collections__conference_se.yml
new file mode 100644
index 0000000000..27794449c8
--- /dev/null
+++ b/config/default/hs_entities.hs_entity_type.event_collections__conference_se.yml
@@ -0,0 +1,6 @@
+uuid: 02e78f59-69ac-4597-bfe0-13397c9c58e5
+langcode: en
+status: true
+dependencies: { }
+id: event_collections__conference_se
+label: 'Event Collections: Conference Session'
diff --git a/config/default/hs_entities.hs_entity_type.event_collections__speaker.yml b/config/default/hs_entities.hs_entity_type.event_collections__speaker.yml
new file mode 100644
index 0000000000..177ffec4bd
--- /dev/null
+++ b/config/default/hs_entities.hs_entity_type.event_collections__speaker.yml
@@ -0,0 +1,6 @@
+uuid: f1d4c451-a23e-42d0-8297-2d949e121777
+langcode: en
+status: true
+dependencies: { }
+id: event_collections__speaker
+label: 'Event Collections: Speaker'
diff --git a/config/default/hs_entities.hs_entity_type.publications_collections__public.yml b/config/default/hs_entities.hs_entity_type.publications_collections__public.yml
new file mode 100644
index 0000000000..cdc1fb24d8
--- /dev/null
+++ b/config/default/hs_entities.hs_entity_type.publications_collections__public.yml
@@ -0,0 +1,6 @@
+uuid: 0b8a68bc-0432-4748-8c40-588b2555a7fa
+langcode: en
+status: true
+dependencies: { }
+id: publications_collections__public
+label: 'Publications Collections: Publication Author'
diff --git a/config/default/migrate_plus.migration.hs_capx_publications.yml b/config/default/migrate_plus.migration.hs_capx_publications.yml
index b471deeea1..509f9f4943 100644
--- a/config/default/migrate_plus.migration.hs_capx_publications.yml
+++ b/config/default/migrate_plus.migration.hs_capx_publications.yml
@@ -135,15 +135,21 @@ process:
source:
- '@pub_author'
- '@pub_author_lookup'
+ author_id:
+ plugin: concat
+ source:
+ - publication_id
+ - display_name
field_hs_publication_author/target_id:
plugin: entity_generate_no_lookup
- source: display_name
- value_key: title
- bundle_key: type
- bundle: publication_author
- entity_type: publications_collections
+ source: '@author_id'
+ value_key: field_migration_id
+ bundle_key: bundle
+ bundle: publications_collections__public
+ entity_type: hs_entity
ignore_case: true
values:
+ label: display_name
field_hs_publication_author/target_id: '@pub_author_id'
vid:
plugin: default_value
diff --git a/config/default/migrate_plus.migration.hs_courses.yml b/config/default/migrate_plus.migration.hs_courses.yml
index 655303a0a5..29a44b705b 100644
--- a/config/default/migrate_plus.migration.hs_courses.yml
+++ b/config/default/migrate_plus.migration.hs_courses.yml
@@ -316,15 +316,25 @@ process:
-
plugin: sub_process
key: sunet
+ include_source: true
process:
+ instructor_id:
+ plugin: concat
+ delimiter: '|'
+ source:
+ - name
+ - source/course_id
+ - source/code
+ - source/guid
target_id:
- plugin: entity_generate_no_lookup
- entity_type: course_collections
- bundle_key: type
- bundle: instructor
- value_key: title
- source: name
+ plugin: entity_generate
+ entity_type: hs_entity
+ bundle_key: bundle
+ bundle: course_collections__instructor
+ value_key: field_migration_id
+ source: '@instructor_id'
values:
+ label: name
field_instructor_role: role
-
plugin: flatten
diff --git a/config/default/migrate_plus.migration.hs_events_importer.yml b/config/default/migrate_plus.migration.hs_events_importer.yml
index e5914049ca..4aa45430b7 100644
--- a/config/default/migrate_plus.migration.hs_events_importer.yml
+++ b/config/default/migrate_plus.migration.hs_events_importer.yml
@@ -267,10 +267,10 @@ process:
-
source: speaker
plugin: hs_entity_generate
- entity_type: event_collections
+ entity_type: hs_entity
bundle_key: type
- bundle: speaker
- value_key: title
+ bundle: event_collections__speaker
+ value_key: label
values:
field_speaker_person: '@speaker_person'
-
diff --git a/config/default/user.role.anonymous.yml b/config/default/user.role.anonymous.yml
index b83804e7ad..373bce90e7 100644
--- a/config/default/user.role.anonymous.yml
+++ b/config/default/user.role.anonymous.yml
@@ -3,8 +3,8 @@ langcode: en
status: true
dependencies:
module:
- - eck
- field_permissions
+ - hs_entities
- media
- media_entity_download
- system
@@ -17,16 +17,13 @@ is_admin: false
permissions:
- 'access content'
- 'download media'
- - 'view any course_collections entities'
- - 'view any event_collections entities'
- - 'view any publications_collections entities'
- 'view field_hs_accordion_views'
- 'view field_hs_hero_overlay_color'
- 'view field_hs_text_area_bg_color'
- 'view field_media_embeddable_code'
- 'view field_paragraph_style'
+ - 'view humsci entity'
- 'view media'
- - 'view own course_collections entities'
- 'view own field_hs_accordion_views'
- 'view own field_hs_hero_overlay_color'
- 'view own field_media_embeddable_code'
diff --git a/config/default/user.role.authenticated.yml b/config/default/user.role.authenticated.yml
index 8bf420f787..05481dc40d 100644
--- a/config/default/user.role.authenticated.yml
+++ b/config/default/user.role.authenticated.yml
@@ -6,11 +6,11 @@ dependencies:
- filter.format.basic_html_without_media
- filter.format.webform_default
module:
- - eck
- field_permissions
- file
- filter
- fontawesome
+ - hs_entities
- media
- media_entity_download
- shortcut
@@ -29,16 +29,13 @@ permissions:
- 'download media'
- 'use text format basic_html_without_media'
- 'use text format webform_default'
- - 'view any course_collections entities'
- - 'view any event_collections entities'
- - 'view any publications_collections entities'
- 'view field_hs_accordion_views'
- 'view field_hs_hero_overlay_color'
- 'view field_hs_text_area_bg_color'
- 'view field_media_embeddable_code'
- 'view field_paragraph_style'
+ - 'view humsci entity'
- 'view media'
- - 'view own course_collections entities'
- 'view own field_hs_accordion_views'
- 'view own field_hs_hero_overlay_color'
- 'view own field_media_embeddable_code'
diff --git a/config/default/user.role.author.yml b/config/default/user.role.author.yml
index 56eb35dae6..1d05303ea6 100644
--- a/config/default/user.role.author.yml
+++ b/config/default/user.role.author.yml
@@ -15,6 +15,7 @@ dependencies:
module:
- dropzonejs
- file
+ - hs_entities
- media
- node
- paragraphs
@@ -25,9 +26,11 @@ is_admin: null
permissions:
- 'create embeddable media'
- 'create google_form media'
+ - 'create humsci entity'
- 'create image media'
- 'create media'
- 'create video media'
+ - 'delete humsci entity'
- 'delete own files'
- 'delete own image media'
- 'delete own video media'
@@ -36,6 +39,7 @@ permissions:
- 'edit any image media'
- 'edit any video media'
- 'edit behavior plugin settings'
+ - 'edit humsci entity'
- 'edit own file media'
- 'edit own hs_event content'
- 'edit own hs_news content'
diff --git a/config/default/user.role.contributor.yml b/config/default/user.role.contributor.yml
index f91f6aa71b..3956c7391d 100644
--- a/config/default/user.role.contributor.yml
+++ b/config/default/user.role.contributor.yml
@@ -22,12 +22,12 @@ dependencies:
- block_content_permissions
- contextual
- dropzonejs
- - eck
- entity_usage
- field_permissions
- file
- filter
- help
+ - hs_entities
- media
- menu_admin_per_menu
- node
@@ -51,7 +51,6 @@ permissions:
- 'access toolbar'
- 'administer main menu items'
- 'create embeddable media'
- - 'create event_collections entities'
- 'create field_paragraph_style'
- 'create file media'
- 'create hs_basic_page content'
@@ -62,20 +61,15 @@ permissions:
- 'create hs_person content'
- 'create hs_publications content'
- 'create hs_research content'
+ - 'create humsci entity'
- 'create image media'
- 'create media'
- - 'create publications_collections entities'
- 'create video media'
- - 'delete any course_collections entities'
- - 'delete any event_collections entities'
- - 'delete any publications_collections entities'
- - 'delete own course_collections entities'
+ - 'delete humsci entity'
- 'delete own files'
- 'delete own image media'
- 'delete own video media'
- 'dropzone upload files'
- - 'edit any course_collections entities'
- - 'edit any event_collections entities'
- 'edit any file media'
- 'edit any hs_basic_page content'
- 'edit any hs_course content'
@@ -86,11 +80,10 @@ permissions:
- 'edit any hs_publications content'
- 'edit any hs_research content'
- 'edit any image media'
- - 'edit any publications_collections entities'
- 'edit any video media'
- 'edit behavior plugin settings'
- 'edit field_paragraph_style'
- - 'edit own course_collections entities'
+ - 'edit humsci entity'
- 'edit own field_paragraph_style'
- 'edit own file media'
- 'edit own hs_basic_page content'
@@ -121,9 +114,6 @@ permissions:
- 'use text format basic_html'
- 'use text format minimal_html'
- 'use text format minimal_html_with_styles'
- - 'view any course_collections entities'
- - 'view any event_collections entities'
- - 'view any publications_collections entities'
- 'view field_paragraph_style'
- 'view hs_basic_page revisions'
- 'view hs_course revisions'
diff --git a/config/default/user.role.site_manager.yml b/config/default/user.role.site_manager.yml
index cb5735a942..ab1b9b5460 100644
--- a/config/default/user.role.site_manager.yml
+++ b/config/default/user.role.site_manager.yml
@@ -36,7 +36,6 @@ dependencies:
- block_content_permissions
- contextual
- dropzonejs
- - eck
- editoria11y
- entity_usage
- entityqueue
@@ -44,6 +43,7 @@ dependencies:
- file
- filter
- help
+ - hs_entities
- hs_page_reports
- media
- menu_admin_per_menu
@@ -80,7 +80,6 @@ permissions:
- 'assign intranet_viewer role'
- 'assign site_manager role'
- 'create embeddable media'
- - 'create event_collections entities'
- 'create field_paragraph_style'
- 'create file media'
- 'create hs_basic_block block content'
@@ -93,9 +92,9 @@ permissions:
- 'create hs_private_page content'
- 'create hs_publications content'
- 'create hs_research content'
+ - 'create humsci entity'
- 'create image media'
- 'create media'
- - 'create publications_collections entities'
- 'create terms in hs_course_component'
- 'create terms in hs_course_tags'
- 'create terms in hs_event_audience'
@@ -111,8 +110,6 @@ permissions:
- 'create terms in hs_publication_type'
- 'create url aliases'
- 'create video media'
- - 'delete any course_collections entities'
- - 'delete any event_collections entities'
- 'delete any file media'
- 'delete any hs_basic_page content'
- 'delete any hs_course content'
@@ -125,10 +122,9 @@ permissions:
- 'delete any hs_research content'
- 'delete any image media'
- 'delete any media'
- - 'delete any publications_collections entities'
- 'delete any video media'
+ - 'delete humsci entity'
- 'delete media'
- - 'delete own course_collections entities'
- 'delete own file media'
- 'delete own files'
- 'delete own hs_basic_page content'
@@ -156,8 +152,6 @@ permissions:
- 'delete terms in hs_person_student_type'
- 'delete terms in hs_publication_type'
- 'dropzone upload files'
- - 'edit any course_collections entities'
- - 'edit any event_collections entities'
- 'edit any file media'
- 'edit any hs_basic_page content'
- 'edit any hs_course content'
@@ -169,11 +163,10 @@ permissions:
- 'edit any hs_publications content'
- 'edit any hs_research content'
- 'edit any image media'
- - 'edit any publications_collections entities'
- 'edit any video media'
- 'edit behavior plugin settings'
- 'edit field_paragraph_style'
- - 'edit own course_collections entities'
+ - 'edit humsci entity'
- 'edit own field_paragraph_style'
- 'edit own file media'
- 'edit own hs_basic_page content'
@@ -228,9 +221,6 @@ permissions:
- 'use text format minimal_html_with_styles'
- 'view 403 reports'
- 'view 404 reports'
- - 'view any course_collections entities'
- - 'view any event_collections entities'
- - 'view any publications_collections entities'
- 'view any unpublished content'
- 'view field_paragraph_style'
- 'view hs_basic_page revisions'
diff --git a/config/default/views.view.hs_courses.yml b/config/default/views.view.hs_courses.yml
index 348fe7b7b3..887be695ab 100644
--- a/config/default/views.view.hs_courses.yml
+++ b/config/default/views.view.hs_courses.yml
@@ -919,13 +919,13 @@ display:
reduce_duplicates: false
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -1483,13 +1483,13 @@ display:
reduce_duplicates: false
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -1980,13 +1980,13 @@ display:
reduce_duplicates: false
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
diff --git a/config/default/views.view.hs_default_conference_agenda.yml b/config/default/views.view.hs_default_conference_agenda.yml
index 103e332139..a4e52f2cb5 100644
--- a/config/default/views.view.hs_default_conference_agenda.yml
+++ b/config/default/views.view.hs_default_conference_agenda.yml
@@ -1,15 +1,15 @@
-uuid: 8bb7d60a-0a7d-47e1-a71f-fa294ac0c23b
+uuid: af2e310a-9480-4dda-b9a5-683f6d6bcee1
langcode: en
status: true
dependencies:
config:
- - eck.eck_type.event_collections.conference_session
- - field.storage.event_collections.field_session_date_and_time
- - field.storage.event_collections.field_session_information
- - field.storage.event_collections.field_session_location
- - field.storage.event_collections.field_session_speakers
+ - field.storage.hs_entity.field_session_date_and_time
+ - field.storage.hs_entity.field_session_information
+ - field.storage.hs_entity.field_session_location
+ - field.storage.hs_entity.field_session_speakers
+ - hs_entities.hs_entity_type.event_collections__conference_se
module:
- - eck
+ - hs_entities
- hs_field_helpers
- node
- smart_date
@@ -20,78 +20,26 @@ label: 'Default Conference Agenda'
module: views
description: ''
tag: ''
-base_table: event_collections_field_data
+base_table: hs_entity
base_field: id
display:
default:
id: default
- display_title: Master
+ display_title: Default
display_plugin: default
position: 0
display_options:
- title: Agenda
+ title: 'Conference Agenda'
fields:
- field_session_date_and_time_value:
- id: field_session_date_and_time_value
- table: event_collections__field_session_date_and_time
- field: field_session_date_and_time_value
- relationship: none
- group_type: group
- admin_label: 'Event Collections: Session Date for grouping'
- plugin_id: date
- label: ''
- exclude: true
- alter:
- alter_text: true
- text: '
{{ field_session_date_and_time_value }}
'
- 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: false
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- date_format: custom
- custom_date_format: 'l, F j, Y'
- timezone: ''
- title:
- id: title
- table: event_collections_field_data
- field: title
+ label:
+ id: label
+ table: hs_entity
+ field: label
relationship: none
group_type: group
admin_label: ''
entity_type: null
- entity_field: title
+ entity_field: label
plugin_id: field
label: ''
exclude: false
@@ -150,11 +98,11 @@ display:
field_api_classes: false
field_session_date_and_time:
id: field_session_date_and_time
- table: event_collections__field_session_date_and_time
+ table: hs_entity__field_session_date_and_time
field: field_session_date_and_time
relationship: none
group_type: group
- admin_label: 'Event Collections: Session Date for block'
+ admin_label: 'Humsci Entity: Session Date'
plugin_id: field
label: ''
exclude: false
@@ -185,7 +133,7 @@ display:
trim: false
preserve_tags: ''
html: false
- element_type: div
+ element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
@@ -201,25 +149,26 @@ display:
type: smartdate_custom
settings:
separator: ''
+ time_diff:
+ enabled: 0
+ future_format: '@interval hence'
+ past_format: '@interval ago'
+ granularity: '2'
+ refresh: '60'
+ description: ''
date_format: 'M j'
custom_date_format: ''
timezone: ''
- join: ' '
+ tooltip:
+ date_format: ''
+ custom_date_format: ''
+ join: ''
time_format: ''
time_hour_format: ''
allday_label: ''
date_first: '1'
ampm_reduce: 0
site_time_toggle: 0
- tooltip:
- date_format: ''
- custom_date_format: ''
- time_diff:
- enabled: false
- future_format: '@interval hence'
- past_format: '@interval ago'
- granularity: 2
- refresh: 60
group_column: value
group_columns: { }
group_rows: true
@@ -232,11 +181,11 @@ display:
field_api_classes: false
field_session_date_and_time_1:
id: field_session_date_and_time_1
- table: event_collections__field_session_date_and_time
+ table: hs_entity__field_session_date_and_time
field: field_session_date_and_time
relationship: none
group_type: group
- admin_label: 'Event Collections: Session Time for block'
+ admin_label: 'Humsci Entity: Session Time'
plugin_id: field
label: ''
exclude: false
@@ -267,7 +216,7 @@ display:
trim: false
preserve_tags: ''
html: false
- element_type: div
+ element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
@@ -283,25 +232,26 @@ display:
type: smartdate_custom
settings:
separator: ' - '
+ time_diff:
+ enabled: 0
+ future_format: '@interval hence'
+ past_format: '@interval ago'
+ granularity: '2'
+ refresh: '60'
+ description: ''
date_format: ''
custom_date_format: ''
timezone: ''
+ tooltip:
+ date_format: ''
+ custom_date_format: ''
join: ''
time_format: 'g:i a'
- time_hour_format: 'g a'
+ time_hour_format: 'g:i a'
allday_label: 'All day'
date_first: '1'
ampm_reduce: 1
site_time_toggle: 0
- tooltip:
- date_format: ''
- custom_date_format: ''
- time_diff:
- enabled: false
- future_format: '@interval hence'
- past_format: '@interval ago'
- granularity: 2
- refresh: 60
group_column: value
group_columns: { }
group_rows: true
@@ -314,7 +264,7 @@ display:
field_api_classes: false
field_session_location:
id: field_session_location
- table: event_collections__field_session_location
+ table: hs_entity__field_session_location
field: field_session_location
relationship: none
group_type: group
@@ -352,7 +302,7 @@ display:
element_type: ''
element_class: ''
element_label_type: ''
- element_label_class: hb-highlighted-label
+ element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
@@ -377,7 +327,7 @@ display:
field_api_classes: false
field_session_information:
id: field_session_information
- table: event_collections__field_session_information
+ table: hs_entity__field_session_information
field: field_session_information
relationship: none
group_type: group
@@ -439,7 +389,7 @@ display:
field_api_classes: false
field_session_speakers:
id: field_session_speakers
- table: event_collections__field_session_speakers
+ table: hs_entity__field_session_speakers
field: field_session_speakers
relationship: none
group_type: group
@@ -499,10 +449,63 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
+ field_session_date_and_time_value:
+ id: field_session_date_and_time_value
+ table: hs_entity__field_session_date_and_time
+ field: field_session_date_and_time_value
+ relationship: none
+ group_type: group
+ admin_label: 'HumSci Entity: Session Date and Time - Start (Grouping)'
+ plugin_id: date
+ label: ''
+ exclude: true
+ 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: false
+ element_wrapper_type: ''
+ element_wrapper_class: ''
+ element_default_classes: true
+ empty: ''
+ hide_empty: false
+ empty_zero: false
+ hide_alter_empty: true
+ date_format: custom
+ custom_date_format: 'l, F j, Y'
+ timezone: ''
pager:
type: none
options:
offset: 0
+ items_per_page: 0
exposed_form:
type: basic
options:
@@ -523,7 +526,7 @@ display:
sorts:
field_session_date_and_time_value:
id: field_session_date_and_time_value
- table: event_collections__field_session_date_and_time
+ table: hs_entity__field_session_date_and_time
field: field_session_date_and_time_value
relationship: none
group_type: group
@@ -532,23 +535,23 @@ display:
order: ASC
expose:
label: ''
- field_identifier: field_session_date_and_time_value
+ field_identifier: ''
exposed: false
- granularity: minute
- title:
- id: title
- table: event_collections_field_data
- field: title
+ granularity: second
+ label:
+ id: label
+ table: hs_entity
+ field: label
relationship: none
group_type: group
admin_label: ''
- entity_type: event_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: standard
order: ASC
expose:
label: ''
- field_identifier: title
+ field_identifier: ''
exposed: false
arguments:
nid:
@@ -587,18 +590,67 @@ display:
break_phrase: false
not: false
filters:
- type:
- id: type
- table: event_collections_field_data
- field: type
- entity_type: event_collections
- entity_field: type
+ bundle:
+ id: bundle
+ table: hs_entity
+ field: bundle
+ entity_type: hs_entity
+ entity_field: bundle
plugin_id: bundle
value:
- conference_session: conference_session
- expose:
- operator_limit_selection: false
- operator_list: { }
+ event_collections__conference_se: event_collections__conference_se
+ style:
+ type: default
+ options:
+ grouping:
+ -
+ field: field_session_date_and_time_value
+ rendered: true
+ rendered_strip: false
+ row_class: ''
+ default_row_class: true
+ row:
+ type: fields
+ query:
+ type: views_query
+ options:
+ query_comment: ''
+ disable_sql_rewrite: false
+ distinct: false
+ replica: false
+ query_tags: { }
+ relationships:
+ reverse__node__field_conference_session:
+ id: reverse__node__field_conference_session
+ table: hs_entity
+ field: reverse__node__field_conference_session
+ relationship: none
+ group_type: group
+ admin_label: field_conference_session
+ entity_type: hs_entity
+ plugin_id: entity_reverse
+ required: false
+ header: { }
+ footer: { }
+ display_extenders: { }
+ cache_metadata:
+ max-age: -1
+ contexts:
+ - 'languages:language_content'
+ - 'languages:language_interface'
+ - url
+ tags:
+ - 'config:field.storage.hs_entity.field_session_date_and_time'
+ - 'config:field.storage.hs_entity.field_session_information'
+ - 'config:field.storage.hs_entity.field_session_location'
+ - 'config:field.storage.hs_entity.field_session_speakers'
+ block_1:
+ id: block_1
+ display_title: 'Confrence Agenda'
+ display_plugin: block
+ position: 1
+ display_options:
+ title: Agenda
style:
type: default
options:
@@ -615,94 +667,62 @@ display:
default_field_elements: 1
inline:
field_session_location: field_session_location
- field_session_location_2: field_session_location_2
- field_session_date_and_time_value: 0
- title: 0
+ label: 0
field_session_date_and_time: 0
field_session_date_and_time_1: 0
field_session_information: 0
field_session_speakers: 0
+ field_session_date_and_time_value: 0
separator: ''
hide_empty: 1
pattern: date_stacked_horizontal_card
variants:
accordion: closed
alert: default
+ callout_box: right
+ color_band: default
generic_three_column: default
+ gradient-hero: default
hero_text_overlay: default
spotlight: default
testimonial: top
+ timeline-item: closed
+ timeline: expanded
pattern_mapping:
- 'views_row:title':
+ 'views_row:label':
destination: title
weight: 0
plugin: views_row
- source: title
- 'views_row:field_session_location':
- destination: description
+ source: label
+ 'views_row:field_session_date_and_time':
+ destination: month
weight: 1
plugin: views_row
- source: field_session_location
- 'views_row:field_session_speakers':
- destination: description
+ source: field_session_date_and_time
+ 'views_row:field_session_date_and_time_1':
+ destination: month
weight: 2
plugin: views_row
- source: field_session_speakers
- 'views_row:field_session_information':
+ source: field_session_date_and_time_1
+ 'views_row:field_session_location':
destination: description
weight: 3
plugin: views_row
- source: field_session_information
- 'views_row:field_session_date_and_time_1':
- destination: month
+ source: field_session_location
+ 'views_row:field_session_information':
+ destination: description
weight: 4
plugin: views_row
- source: field_session_date_and_time_1
- 'views_row:field_session_date_and_time':
- destination: month
+ source: field_session_information
+ 'views_row:field_session_speakers':
+ destination: description
weight: 5
plugin: views_row
- source: field_session_date_and_time
- query:
- type: views_query
- options:
- query_comment: ''
- disable_sql_rewrite: false
- distinct: false
- replica: false
- query_tags: { }
- relationships:
- reverse__node__field_conference_session:
- id: reverse__node__field_conference_session
- table: event_collections_field_data
- field: reverse__node__field_conference_session
- relationship: none
- group_type: group
- admin_label: field_conference_session
- entity_type: event_collections
- plugin_id: entity_reverse
- required: false
- css_class: hb-views-divider
- header: { }
- footer: { }
- display_extenders: { }
- cache_metadata:
- max-age: -1
- contexts:
- - 'languages:language_content'
- - 'languages:language_interface'
- - url
- tags:
- - 'config:field.storage.event_collections.field_session_date_and_time'
- - 'config:field.storage.event_collections.field_session_information'
- - 'config:field.storage.event_collections.field_session_location'
- - 'config:field.storage.event_collections.field_session_speakers'
- block_1:
- id: block_1
- display_title: 'Conference Agenda'
- display_plugin: block
- position: 1
- display_options:
+ source: field_session_speakers
+ defaults:
+ title: false
+ style: false
+ row: false
display_description: ''
display_extenders: { }
cache_metadata:
@@ -712,130 +732,27 @@ display:
- 'languages:language_interface'
- url
tags:
- - 'config:field.storage.event_collections.field_session_date_and_time'
- - 'config:field.storage.event_collections.field_session_information'
- - 'config:field.storage.event_collections.field_session_location'
- - 'config:field.storage.event_collections.field_session_speakers'
+ - 'config:field.storage.hs_entity.field_session_date_and_time'
+ - 'config:field.storage.hs_entity.field_session_information'
+ - 'config:field.storage.hs_entity.field_session_location'
+ - 'config:field.storage.hs_entity.field_session_speakers'
block_2:
id: block_2
- display_title: 'Conference Agenda by Hour'
+ display_title: 'Confrence Agenda by Hour'
display_plugin: block
position: 1
display_options:
+ title: Agenda
fields:
- field_session_date_and_time_value:
- id: field_session_date_and_time_value
- table: event_collections__field_session_date_and_time
- field: field_session_date_and_time_value
- relationship: none
- group_type: group
- admin_label: 'Event Collections: Session Date for grouping'
- plugin_id: date
- label: ''
- exclude: true
- alter:
- alter_text: true
- text: '{{ field_session_date_and_time_value }}
'
- 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: false
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- date_format: custom
- custom_date_format: 'l, F j, Y'
- timezone: ''
- field_session_date_and_time_value_1:
- id: field_session_date_and_time_value_1
- table: event_collections__field_session_date_and_time
- field: field_session_date_and_time_value
- relationship: none
- group_type: group
- admin_label: 'Event Collections: Session Start Time for grouping'
- plugin_id: date
- label: ''
- exclude: true
- alter:
- alter_text: true
- text: '{{ field_session_date_and_time_value_1 }}
'
- 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: h4
- element_class: hb-divider
- element_label_type: ''
- element_label_class: hb-divider
- element_label_colon: false
- element_wrapper_type: ''
- element_wrapper_class: hb-divider
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- date_format: custom
- custom_date_format: 'g:i a'
- timezone: ''
- title:
- id: title
- table: event_collections_field_data
- field: title
+ label:
+ id: label
+ table: hs_entity
+ field: label
relationship: none
group_type: group
admin_label: ''
entity_type: null
- entity_field: title
+ entity_field: label
plugin_id: field
label: ''
exclude: false
@@ -894,11 +811,11 @@ display:
field_api_classes: false
field_session_date_and_time:
id: field_session_date_and_time
- table: event_collections__field_session_date_and_time
+ table: hs_entity__field_session_date_and_time
field: field_session_date_and_time
relationship: none
group_type: group
- admin_label: 'Event Collections: Session Date for block'
+ admin_label: 'Humsci Entity: Session Date'
plugin_id: field
label: ''
exclude: false
@@ -929,7 +846,7 @@ display:
trim: false
preserve_tags: ''
html: false
- element_type: div
+ element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
@@ -945,25 +862,26 @@ display:
type: smartdate_custom
settings:
separator: ''
+ time_diff:
+ enabled: 0
+ future_format: '@interval hence'
+ past_format: '@interval ago'
+ granularity: '2'
+ refresh: '60'
+ description: ''
date_format: 'M j'
custom_date_format: ''
timezone: ''
- join: ' '
+ tooltip:
+ date_format: ''
+ custom_date_format: ''
+ join: ''
time_format: ''
time_hour_format: ''
allday_label: ''
date_first: '1'
ampm_reduce: 0
site_time_toggle: 0
- tooltip:
- date_format: ''
- custom_date_format: ''
- time_diff:
- enabled: false
- future_format: '@interval hence'
- past_format: '@interval ago'
- granularity: 2
- refresh: 60
group_column: value
group_columns: { }
group_rows: true
@@ -976,11 +894,11 @@ display:
field_api_classes: false
field_session_date_and_time_1:
id: field_session_date_and_time_1
- table: event_collections__field_session_date_and_time
+ table: hs_entity__field_session_date_and_time
field: field_session_date_and_time
relationship: none
group_type: group
- admin_label: 'Event Collections: Session Time for block'
+ admin_label: 'Humsci Entity: Session Time'
plugin_id: field
label: ''
exclude: false
@@ -1011,7 +929,7 @@ display:
trim: false
preserve_tags: ''
html: false
- element_type: div
+ element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
@@ -1027,25 +945,26 @@ display:
type: smartdate_custom
settings:
separator: ' - '
+ time_diff:
+ enabled: 0
+ future_format: '@interval hence'
+ past_format: '@interval ago'
+ granularity: '2'
+ refresh: '60'
+ description: ''
date_format: ''
custom_date_format: ''
timezone: ''
+ tooltip:
+ date_format: ''
+ custom_date_format: ''
join: ''
time_format: 'g:i a'
- time_hour_format: 'g a'
+ time_hour_format: 'g:i a'
allday_label: 'All day'
date_first: '1'
ampm_reduce: 1
site_time_toggle: 0
- tooltip:
- date_format: ''
- custom_date_format: ''
- time_diff:
- enabled: false
- future_format: '@interval hence'
- past_format: '@interval ago'
- granularity: 2
- refresh: 60
group_column: value
group_columns: { }
group_rows: true
@@ -1058,7 +977,7 @@ display:
field_api_classes: false
field_session_location:
id: field_session_location
- table: event_collections__field_session_location
+ table: hs_entity__field_session_location
field: field_session_location
relationship: none
group_type: group
@@ -1096,7 +1015,7 @@ display:
element_type: ''
element_class: ''
element_label_type: ''
- element_label_class: hb-highlighted-label
+ element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
@@ -1121,7 +1040,7 @@ display:
field_api_classes: false
field_session_information:
id: field_session_information
- table: event_collections__field_session_information
+ table: hs_entity__field_session_information
field: field_session_information
relationship: none
group_type: group
@@ -1183,7 +1102,7 @@ display:
field_api_classes: false
field_session_speakers:
id: field_session_speakers
- table: event_collections__field_session_speakers
+ table: hs_entity__field_session_speakers
field: field_session_speakers
relationship: none
group_type: group
@@ -1243,6 +1162,110 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
+ field_session_date_and_time_value:
+ id: field_session_date_and_time_value
+ table: hs_entity__field_session_date_and_time
+ field: field_session_date_and_time_value
+ relationship: none
+ group_type: group
+ admin_label: 'HumSci Entity: Session Date and Time - Start (Grouping)'
+ plugin_id: date
+ label: ''
+ exclude: true
+ 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: false
+ element_wrapper_type: ''
+ element_wrapper_class: ''
+ element_default_classes: true
+ empty: ''
+ hide_empty: false
+ empty_zero: false
+ hide_alter_empty: true
+ date_format: custom
+ custom_date_format: 'l, F j, Y'
+ timezone: ''
+ field_session_date_and_time_value_1:
+ id: field_session_date_and_time_value_1
+ table: hs_entity__field_session_date_and_time
+ field: field_session_date_and_time_value
+ relationship: none
+ group_type: group
+ admin_label: 'HumSci Entity: Session Date and Time - Start Time (Grouping)'
+ plugin_id: date
+ label: ''
+ exclude: true
+ 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: false
+ element_wrapper_type: ''
+ element_wrapper_class: ''
+ element_default_classes: true
+ empty: ''
+ hide_empty: false
+ empty_zero: false
+ hide_alter_empty: true
+ date_format: custom
+ custom_date_format: 'g:i a'
+ timezone: ''
style:
type: default
options:
@@ -1263,50 +1286,54 @@ display:
default_field_elements: 1
inline:
field_session_location: field_session_location
- field_session_date_and_time_value: 0
- field_session_date_and_time_value_1: 0
- title: 0
+ label: 0
field_session_date_and_time: 0
field_session_date_and_time_1: 0
field_session_information: 0
field_session_speakers: 0
+ field_session_date_and_time_value: 0
+ field_session_date_and_time_value_1: 0
separator: ''
hide_empty: 1
pattern: date_stacked_horizontal_card
variants:
accordion: closed
alert: default
+ callout_box: right
+ color_band: default
generic_three_column: default
+ gradient-hero: default
hero_text_overlay: default
spotlight: default
testimonial: top
+ timeline-item: closed
+ timeline: expanded
pattern_mapping:
- 'views_row:title':
+ 'views_row:label':
destination: title
weight: 0
plugin: views_row
- source: title
+ source: label
'views_row:field_session_location':
destination: description
weight: 1
plugin: views_row
source: field_session_location
- 'views_row:field_session_speakers':
+ 'views_row:field_session_information':
destination: description
weight: 2
plugin: views_row
- source: field_session_speakers
- 'views_row:field_session_information':
+ source: field_session_information
+ 'views_row:field_session_speakers':
destination: description
weight: 3
plugin: views_row
- source: field_session_information
+ source: field_session_speakers
defaults:
- css_class: false
+ title: false
style: false
row: false
fields: false
- css_class: ''
display_description: ''
display_extenders: { }
cache_metadata:
@@ -1316,7 +1343,7 @@ display:
- 'languages:language_interface'
- url
tags:
- - 'config:field.storage.event_collections.field_session_date_and_time'
- - 'config:field.storage.event_collections.field_session_information'
- - 'config:field.storage.event_collections.field_session_location'
- - 'config:field.storage.event_collections.field_session_speakers'
+ - 'config:field.storage.hs_entity.field_session_date_and_time'
+ - 'config:field.storage.hs_entity.field_session_information'
+ - 'config:field.storage.hs_entity.field_session_location'
+ - 'config:field.storage.hs_entity.field_session_speakers'
diff --git a/config/default/views.view.hs_default_courses.yml b/config/default/views.view.hs_default_courses.yml
index 37016062ab..9147944220 100644
--- a/config/default/views.view.hs_default_courses.yml
+++ b/config/default/views.view.hs_default_courses.yml
@@ -672,13 +672,13 @@ display:
reduce_duplicates: false
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -1694,13 +1694,13 @@ display:
reduce_duplicates: false
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -3256,13 +3256,13 @@ display:
group_items: { }
title_1:
id: title_1
- table: course_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_course_section_instruc
group_type: group
admin_label: ''
- entity_type: course_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
diff --git a/config/default/views.view.hs_default_events.yml b/config/default/views.view.hs_default_events.yml
index d0f75f24d6..ca156117ed 100644
--- a/config/default/views.view.hs_default_events.yml
+++ b/config/default/views.view.hs_default_events.yml
@@ -5442,13 +5442,13 @@ display:
field_api_classes: false
title_1:
id: title_1
- table: event_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_event_speaker
group_type: group
admin_label: ''
- entity_type: event_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: field
label: ''
exclude: true
diff --git a/config/default/views.view.hs_default_manage_content.yml b/config/default/views.view.hs_default_manage_content.yml
index 2207e97f78..b9593cbb60 100644
--- a/config/default/views.view.hs_default_manage_content.yml
+++ b/config/default/views.view.hs_default_manage_content.yml
@@ -25,7 +25,7 @@ dependencies:
- field.storage.node.field_hs_publication_publisher
- field.storage.node.field_hs_publication_type
- field.storage.node.field_hs_publication_year
- - field.storage.publications_collections.field_hs_publication_author
+ - field.storage.hs_entity.field_hs_publication_author
- node.type.hs_basic_page
- node.type.hs_course
- node.type.hs_event
@@ -8425,7 +8425,7 @@ display:
field_api_classes: false
field_hs_publication_author_1:
id: field_hs_publication_author_1
- table: publications_collections__field_hs_publication_author
+ table: hs_entity__field_hs_publication_author
field: field_hs_publication_author
relationship: field_hs_publication_author
group_type: group
@@ -8849,13 +8849,13 @@ display:
error_message: true
title_1:
id: title_1
- table: publications_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_publication_author
group_type: group
admin_label: ''
- entity_type: publications_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: contains
value: ''
diff --git a/config/default/views.view.hs_default_publications.yml b/config/default/views.view.hs_default_publications.yml
index 4ed94fcaee..a4add0cfb4 100644
--- a/config/default/views.view.hs_default_publications.yml
+++ b/config/default/views.view.hs_default_publications.yml
@@ -518,13 +518,13 @@ display:
group_items: { }
title_1:
id: title_1
- table: publications_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_publication_author
group_type: group
admin_label: ''
- entity_type: publications_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -1028,7 +1028,7 @@ display:
arguments:
field_hs_publication_author_target_id:
id: field_hs_publication_author_target_id
- table: publications_collections__field_hs_publication_author
+ table: hs_entity__field_hs_publication_author
field: field_hs_publication_author_target_id
relationship: field_hs_publication_author
group_type: group
@@ -2748,13 +2748,13 @@ display:
field_api_classes: false
title_1:
id: title_1
- table: publications_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_publication_author
group_type: group
admin_label: ''
- entity_type: publications_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: field
label: ''
exclude: true
@@ -4028,13 +4028,13 @@ display:
group_items: { }
title_1:
id: title_1
- table: publications_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_publication_author
group_type: group
admin_label: ''
- entity_type: publications_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
diff --git a/config/default/views.view.hs_publications.yml b/config/default/views.view.hs_publications.yml
index b0ccdfd6d0..c124e9d05e 100644
--- a/config/default/views.view.hs_publications.yml
+++ b/config/default/views.view.hs_publications.yml
@@ -512,13 +512,13 @@ display:
group_items: { }
title_1:
id: title_1
- table: publications_collections_field_data
- field: title
+ table: hs_entity
+ field: label
relationship: field_hs_publication_author
group_type: group
admin_label: ''
- entity_type: publications_collections
- entity_field: title
+ entity_type: hs_entity
+ entity_field: label
plugin_id: string
operator: word
value: ''
@@ -971,7 +971,7 @@ display:
arguments:
field_hs_publication_author_target_id:
id: field_hs_publication_author_target_id
- table: publications_collections__field_hs_publication_author
+ table: hs_entity__field_hs_publication_author
field: field_hs_publication_author_target_id
relationship: field_hs_publication_author
group_type: group
diff --git a/config/default/views.view.humsci_entity_list.yml b/config/default/views.view.humsci_entity_list.yml
new file mode 100644
index 0000000000..f6bef50a6c
--- /dev/null
+++ b/config/default/views.view.humsci_entity_list.yml
@@ -0,0 +1,795 @@
+uuid: c5414f20-20a1-4bc9-ab73-0bd3b50bae65
+langcode: en
+status: true
+dependencies:
+ config:
+ - system.menu.admin
+ module:
+ - better_exposed_filters
+ - hs_entities
+ - user
+ - views_bulk_operations
+id: humsci_entity_list
+label: 'HumSci Entity List'
+module: views
+description: ''
+tag: ''
+base_table: hs_entity
+base_field: id
+display:
+ default:
+ id: default
+ display_title: Default
+ display_plugin: default
+ position: 0
+ display_options:
+ title: 'Manage HumSci Entity List'
+ fields:
+ views_bulk_operations_bulk_form:
+ id: views_bulk_operations_bulk_form
+ table: views
+ field: views_bulk_operations_bulk_form
+ relationship: none
+ group_type: group
+ admin_label: ''
+ plugin_id: views_bulk_operations_bulk_form
+ label: 'Views bulk 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
+ batch: true
+ batch_size: 10
+ form_step: true
+ ajax_loader: false
+ buttons: false
+ action_title: Action
+ clear_on_exposed: true
+ force_selection_info: true
+ selected_actions:
+ -
+ action_id: views_bulk_edit
+ preconfiguration:
+ add_confirmation: true
+ get_bundles_from_results: true
+ -
+ action_id: views_bulk_operations_delete_entity
+ id:
+ id: id
+ table: hs_entity
+ field: id
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: id
+ plugin_id: field
+ label: ID
+ 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: number_integer
+ settings:
+ thousand_separator: ''
+ prefix_suffix: 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
+ label:
+ id: label
+ table: hs_entity
+ field: label
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: null
+ entity_field: label
+ plugin_id: field
+ label: Label
+ 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: 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
+ bundle:
+ id: bundle
+ table: hs_entity
+ field: bundle
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: bundle
+ plugin_id: field
+ label: 'HumSci Entity 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
+ uid:
+ id: uid
+ table: hs_entity
+ field: uid
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: uid
+ 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: 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
+ created:
+ id: created
+ table: hs_entity
+ field: created
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: created
+ plugin_id: field
+ label: 'Authored on'
+ 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: timestamp
+ settings:
+ date_format: medium
+ custom_date_format: ''
+ timezone: ''
+ tooltip:
+ date_format: long
+ custom_date_format: ''
+ time_diff:
+ enabled: false
+ future_format: '@interval hence'
+ past_format: '@interval ago'
+ granularity: 2
+ refresh: 60
+ description: ''
+ 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: hs_entity
+ field: operations
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ 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: false
+ pager:
+ type: full
+ options:
+ offset: 0
+ items_per_page: 100
+ total_pages: null
+ id: 0
+ tags:
+ next: ››
+ 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: bef
+ options:
+ submit_button: Apply
+ reset_button: true
+ reset_button_label: Reset
+ exposed_sorts_label: 'Sort by'
+ expose_sort_order: true
+ sort_asc_label: Asc
+ sort_desc_label: Desc
+ text_input_required: 'Select any filter and click on Apply to see results'
+ text_input_required_format: basic_html
+ bef:
+ general:
+ autosubmit: false
+ autosubmit_exclude_textfield: false
+ autosubmit_textfield_delay: 500
+ autosubmit_hide: false
+ input_required: false
+ allow_secondary: false
+ secondary_label: 'Advanced options'
+ secondary_open: false
+ reset_button_always_show: true
+ filter:
+ label:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ is_secondary: false
+ options_show_only_used: false
+ options_show_only_used_filtered: false
+ options_hide_when_empty: false
+ options_show_items_count: false
+ bundle:
+ plugin_id: default
+ advanced:
+ sort_options: true
+ rewrite:
+ filter_rewrite_values: ''
+ collapsible: false
+ is_secondary: false
+ options_show_only_used: false
+ options_show_only_used_filtered: false
+ options_hide_when_empty: false
+ options_show_items_count: 0
+ access:
+ type: perm
+ options:
+ perm: 'administer humsci entity types'
+ cache:
+ type: tag
+ options: { }
+ empty: { }
+ sorts:
+ created:
+ id: created
+ table: hs_entity
+ field: created
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: created
+ plugin_id: date
+ order: DESC
+ expose:
+ label: ''
+ field_identifier: ''
+ exposed: false
+ granularity: second
+ id:
+ id: id
+ table: hs_entity
+ field: id
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: id
+ plugin_id: standard
+ order: DESC
+ expose:
+ label: ''
+ field_identifier: ''
+ exposed: false
+ arguments: { }
+ filters:
+ label:
+ id: label
+ table: hs_entity
+ field: label
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: label
+ plugin_id: string
+ operator: contains
+ value: ''
+ group: 1
+ exposed: true
+ expose:
+ operator_id: label_op
+ label: 'Filter by Label'
+ description: ''
+ use_operator: false
+ operator: label_op
+ operator_limit_selection: false
+ operator_list: { }
+ identifier: label
+ required: false
+ remember: false
+ multiple: false
+ remember_roles:
+ authenticated: authenticated
+ administrator: '0'
+ site_manager: '0'
+ contributor: '0'
+ author: '0'
+ intranet_viewer: '0'
+ stanford_faculty: '0'
+ stanford_staff: '0'
+ stanford_student: '0'
+ anonymous: '0'
+ placeholder: ''
+ is_grouped: false
+ group_info:
+ label: ''
+ description: ''
+ identifier: ''
+ optional: true
+ widget: select
+ multiple: false
+ remember: false
+ default_group: All
+ default_group_multiple: { }
+ group_items: { }
+ bundle:
+ id: bundle
+ table: hs_entity
+ field: bundle
+ relationship: none
+ group_type: group
+ admin_label: ''
+ entity_type: hs_entity
+ entity_field: bundle
+ plugin_id: bundle
+ operator: in
+ value: { }
+ group: 1
+ exposed: true
+ expose:
+ operator_id: bundle_op
+ label: 'Filter by HumSci Entity type'
+ description: ''
+ use_operator: false
+ operator: bundle_op
+ operator_limit_selection: false
+ operator_list: { }
+ identifier: HumSci_entity_type
+ required: false
+ remember: false
+ multiple: true
+ remember_roles:
+ authenticated: authenticated
+ administrator: '0'
+ site_manager: '0'
+ contributor: '0'
+ author: '0'
+ intranet_viewer: '0'
+ stanford_faculty: '0'
+ stanford_staff: '0'
+ stanford_student: '0'
+ anonymous: '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: { }
+ style:
+ type: table
+ options:
+ grouping: { }
+ row_class: ''
+ default_row_class: true
+ columns:
+ id: id
+ label: label
+ bundle: bundle
+ uid: uid
+ created: created
+ default: '-1'
+ info:
+ id:
+ sortable: true
+ default_sort_order: asc
+ align: ''
+ separator: ''
+ empty_column: false
+ responsive: ''
+ label:
+ sortable: true
+ default_sort_order: asc
+ align: ''
+ separator: ''
+ empty_column: false
+ responsive: ''
+ bundle:
+ sortable: true
+ default_sort_order: asc
+ align: ''
+ separator: ''
+ empty_column: false
+ responsive: ''
+ uid:
+ sortable: true
+ default_sort_order: asc
+ align: ''
+ separator: ''
+ empty_column: false
+ responsive: ''
+ created:
+ sortable: true
+ default_sort_order: asc
+ align: ''
+ separator: ''
+ empty_column: false
+ responsive: ''
+ override: true
+ sticky: false
+ summary: ''
+ empty_table: false
+ caption: ''
+ description: ''
+ row:
+ type: fields
+ query:
+ type: views_query
+ options:
+ query_comment: ''
+ disable_sql_rewrite: false
+ distinct: false
+ replica: false
+ query_tags: { }
+ relationships: { }
+ header: { }
+ footer: { }
+ display_extenders: { }
+ cache_metadata:
+ max-age: 0
+ contexts:
+ - 'languages:language_content'
+ - 'languages:language_interface'
+ - url
+ - url.query_args
+ - user.permissions
+ tags: { }
+ page_1:
+ id: page_1
+ display_title: 'HumSci Entity List'
+ display_plugin: page
+ position: 1
+ display_options:
+ display_description: ''
+ display_extenders: { }
+ path: admin/humsci-entity-list
+ menu:
+ type: normal
+ title: 'Manage HumSci Entities'
+ description: ''
+ weight: 0
+ expanded: false
+ menu_name: admin
+ parent: entity.hs_entity_type.collection
+ context: '0'
+ cache_metadata:
+ max-age: 0
+ contexts:
+ - 'languages:language_content'
+ - 'languages:language_interface'
+ - url
+ - url.query_args
+ - user.permissions
+ tags: { }
diff --git a/docroot/modules/humsci/hs_actions/src/Plugin/Action/CloneNode.php b/docroot/modules/humsci/hs_actions/src/Plugin/Action/CloneNode.php
index a99d2f86d8..63aa0b5cff 100644
--- a/docroot/modules/humsci/hs_actions/src/Plugin/Action/CloneNode.php
+++ b/docroot/modules/humsci/hs_actions/src/Plugin/Action/CloneNode.php
@@ -282,6 +282,7 @@ protected function getReferenceFields($entity_type_id, $bundle) {
}
$clone_target_types[] = 'paragraph';
+ $clone_target_types[] = 'hs_entity';
// Filter out fields that we dont care about. We only need entity reference
// fields that are not base fields. Also we only want entity reference
diff --git a/docroot/modules/humsci/hs_courses/hs_courses.module b/docroot/modules/humsci/hs_courses/hs_courses.module
index b7e2b10a50..a214e5d55d 100644
--- a/docroot/modules/humsci/hs_courses/hs_courses.module
+++ b/docroot/modules/humsci/hs_courses/hs_courses.module
@@ -5,23 +5,25 @@
* hs_courses.module
*/
-use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
+use Drupal\hs_entities\HsEntityInterface;
/**
* Implements hook_ENTITY_TYPE_view_alter().
*/
-function hs_courses_course_collections_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
- // On the ECK entity, if the instructor person is set, use that to display.
+function hs_courses_hs_entity_view_alter(array &$build, HsEntityInterface $entity, EntityViewDisplayInterface $display) {
+ if ($entity->bundle() != 'course_collections__instructor') {
+ return;
+ }
if ($entity->get('field_instructor_person')->count()) {
- unset($build['title']);
+ unset($build['label']);
return;
}
/** @var \Drupal\Core\Field\FieldItemList $instructor_role_list */
$instructor_role_list = $entity->get('field_instructor_role');
if ($instructor_role_list->count()) {
- $build['title'][0]['#context']['value'] .= ' (' . $instructor_role_list->getString() . ')';
+ $build['label'][0]['#context']['value'] .= ' (' . $instructor_role_list->getString() . ')';
}
}
diff --git a/docroot/modules/humsci/hs_events/hs_events.module b/docroot/modules/humsci/hs_events/hs_events.module
index 73d27cc16f..b5283703b2 100755
--- a/docroot/modules/humsci/hs_events/hs_events.module
+++ b/docroot/modules/humsci/hs_events/hs_events.module
@@ -5,15 +5,17 @@
* hs_events.module
*/
-use Drupal\Core\Entity\EntityInterface;
+use Drupal\hs_entities\HsEntityInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
/**
* Implements hook_ENTITY_TYPE_view_alter().
*/
-function hs_events_event_collections_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
- // On the ECK entity, if the speaker person is set, use that to display.
+function hs_events_hs_entity_view_alter(array &$build, HsEntityInterface $entity, EntityViewDisplayInterface $display) {
+ if ($entity->bundle() != 'event_collections__speaker') {
+ return;
+ }
if (!empty($build['field_speaker_person']['#items'])) {
- unset($build['title']);
+ unset($build['label']);
}
}
diff --git a/docroot/modules/humsci/hs_migrate/src/Overrides/MigrationOverrides.php b/docroot/modules/humsci/hs_migrate/src/Overrides/MigrationOverrides.php
index 90324515d7..7a637818e8 100644
--- a/docroot/modules/humsci/hs_migrate/src/Overrides/MigrationOverrides.php
+++ b/docroot/modules/humsci/hs_migrate/src/Overrides/MigrationOverrides.php
@@ -54,7 +54,9 @@ public function loadOverrides($names) {
$news_entities = $this->entityTypeManager->getStorage('hs_entity')
->loadMultiple($entity_ids);
foreach ($news_entities as $entity) {
- $urls[] = $entity->get('field_url')->getString();
+ if ($entity->hasField('field_url')) {
+ $urls[] = $entity->get('field_url')->getString();
+ }
}
}
$overrides['migrate_plus.migration.hs_news_rss']['status'] = !empty($urls);
diff --git a/docroot/modules/humsci/hs_migrate/src/Plugin/migrate/process/SubProcess.php b/docroot/modules/humsci/hs_migrate/src/Plugin/migrate/process/SubProcess.php
index 9933d46931..79c2477ba1 100644
--- a/docroot/modules/humsci/hs_migrate/src/Plugin/migrate/process/SubProcess.php
+++ b/docroot/modules/humsci/hs_migrate/src/Plugin/migrate/process/SubProcess.php
@@ -15,7 +15,7 @@ class SubProcess extends OriginalSubProcess {
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
- $return = [];
+ $return = $source = [];
if ($this->configuration['include_source']) {
$key = $this->configuration['source_key'];
$source[$key] = $row->getSource();
@@ -27,7 +27,7 @@ public function transform($value, MigrateExecutableInterface $migrate_executable
// This is the difference with the original process plugin. When using
// SimpleXML parters, the `$new_value` is a SimpleXmlElement. So we have
// to cast it to an array to construct the new row.
- $new_row = new Row((array) $new_value, []);
+ $new_row = new Row((array) $new_value + $source);
$migrate_executable->processRow($new_row, $this->configuration['process']);
$destination = $new_row->getDestination();
if (array_key_exists('key', $this->configuration)) {
diff --git a/docroot/modules/humsci/hs_publications/hs_publications.module b/docroot/modules/humsci/hs_publications/hs_publications.module
index 0028d63a37..3ea05cde21 100644
--- a/docroot/modules/humsci/hs_publications/hs_publications.module
+++ b/docroot/modules/humsci/hs_publications/hs_publications.module
@@ -5,14 +5,21 @@
* hs_publications.module
*/
-use Drupal\Core\Entity\EntityInterface;
+use Drupal\hs_entities\HsEntityInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
/**
* Implements hook_ENTITY_TYPE_view_alter().
*/
-function hs_publications_publications_collections_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
- if ($entity->hasField('field_hs_publication_author') && $entity->get('field_hs_publication_author')->count()) {
- unset($build['title']);
+function hs_publications_hs_entity_view_alter(array &$build, HsEntityInterface $entity, EntityViewDisplayInterface $display) {
+ if ($entity->bundle() != 'publications_collections__public') {
+ return;
+ }
+
+ if (
+ $entity->hasField('field_hs_publication_author') &&
+ $entity->get('field_hs_publication_author')->count()
+ ) {
+ unset($build['label']);
}
}
diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml
index 80693ebf7e..bbc623d40e 100644
--- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml
+++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml
@@ -1,7 +1,7 @@
name: 'Stanford HumSci'
type: profile
description: 'Installation profile for HumSci Drupal'
-version: 10.3.0
+version: 11.0.0
core_version_requirement: '^9.4 || ^10'
themes:
- material_admin
diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install
index dafcab41ea..fd151271b8 100644
--- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install
+++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install
@@ -6,11 +6,14 @@
*/
use Drupal\Core\DrupalKernel;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\Core\Menu\MenuTreeParameters;
+use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\key\Entity\Key;
+use Drupal\hs_entities\Entity\HsEntityType;
use Drupal\node\NodeInterface;
-use Drupal\user\UserInterface;
+use Drupal\user\RoleInterface;
/**
* Implements hook_requirements().
@@ -47,310 +50,10 @@ function su_humsci_profile_final_task() {
}
/**
- * Indicates version of profile.
+ * Implements hook_update_last_removed().
*/
-function su_humsci_profile_update_8200() {
- // Intentionally left empty.
-}
-
-/**
- * Set the permissions for the hero overlay field.
- */
-function su_humsci_profile_update_8201() {
- $perms = [
- 'view field_hs_hero_overlay_color',
- 'view own field_hs_hero_overlay_color',
- ];
- user_role_grant_permissions(UserInterface::ANONYMOUS_ROLE, $perms);
- $perms = [
- 'create field_hs_hero_overlay_color',
- 'edit field_hs_hero_overlay_color',
- 'edit own field_hs_hero_overlay_color',
- 'view field_hs_hero_overlay_color',
- 'view own field_hs_hero_overlay_color',
- ];
- user_role_grant_permissions(UserInterface::AUTHENTICATED_ROLE, $perms);
-}
-
-/**
- * Enable new themes.
- */
-function su_humsci_profile_update_8202() {
- \Drupal::service('theme_installer')->install([
- 'humsci_basic',
- 'humsci_traditional',
- 'humsci_colorful',
- ]);
- drupal_flush_all_caches();
-}
-
-/**
- * Disable preview mode on all content types.
- */
-function su_humsci_profile_update_8203() {
- $node_types = \Drupal::entityTypeManager()
- ->getStorage('node_type')
- ->loadMultiple();
- $config_factory = \Drupal::configFactory();
- foreach (array_keys($node_types) as $type) {
- $config_factory->getEditable("node.type.$type")
- ->set('preview_mode', 0)
- ->save();
- }
-}
-
-/**
- * Disable hs_revision_cleanup module.
- */
-function su_humsci_profile_update_8204() {
- \Drupal::service('module_installer')->uninstall(['hs_revision_cleanup']);
-}
-
-/**
- * Uninstall deprecated webform_jqueryui_buttons module.
- */
-function su_humsci_profile_update_8205() {
- \Drupal::service('module_installer')->uninstall(['webform_jqueryui_buttons']);
-}
-
-/**
- * Create the default migration group.
- */
-function su_humsci_profile_update_9000() {
- $storage = \Drupal::entityTypeManager()
- ->getStorage('migration_group');
-
- if (!$storage->load('default')) {
- $storage->create([
- 'uuid' => 'd97cf71e-57ce-428b-8247-003ce7d5166d',
- 'id' => 'default',
- 'label' => 'Default',
- ])->save();
- }
-
- $config = \Drupal::configFactory()->getEditable('config_ignore.settings');
- $ignored = $config->get('ignored_config_entities');
- $ignored[] = 'hs_courses_importer.importer_settings';
- $config->set('ignored_config_entities', $ignored)->save();
-}
-
-/**
- * Update profile settings for the condition plugins settings.
- */
-function su_humsci_profile_update_9001() {
- $good_plugins = [
- 'node_type',
- 'request_path',
- 'user_role',
- 'entity_bundle:node',
- 'current_theme',
- 'term',
- ];
- \Drupal::configFactory()
- ->getEditable('su_humsci_profile.settings')
- ->set('allowed.condition_plugins', $good_plugins)
- ->save();
-}
-
-/**
- * Uninstall Layout Paragraphs.
- */
-function su_humsci_profile_update_9002() {
- \Drupal::service('module_installer')->uninstall(['layout_paragraphs']);
-}
-
-/**
- * Enable various modules.
- */
-function su_humsci_profile_update_9003() {
- \Drupal::service('module_installer')->uninstall([
- 'core_event_dispatcher',
- 'field_event_dispatcher',
- 'hook_event_dispatcher',
- 'jsonapi_event_dispatcher',
- 'media_event_dispatcher',
- 'path_event_dispatcher',
- 'preprocess_event_dispatcher',
- 'toolbar_event_dispatcher',
- 'user_event_dispatcher',
- 'views_event_dispatcher',
- 'humsci_events_listeners',
- ]);
-}
-
-/**
- * Configure migration settings to overwrite fields except node status.
- */
-function su_humsci_profile_update_9004() {
- $config_factory = \Drupal::configFactory();
- $migrations = [];
- foreach ($config_factory->listAll('migrate_plus.migration.') as $config_name) {
- preg_match('/migration.(.*)/', $config_name, $matches);
- $migrations[$matches[1]] = $config_factory->getEditable($config_name);
- }
-
- foreach ($migrations as $migration_config) {
- $process = array_keys($migration_config->get('process'));
- $destination = $migration_config->get('destination.overwrite_properties');
- $overwrite_properties = $destination['overwrite_properties'] ?? $process;
- $status_key = array_search('status', $overwrite_properties);
- if ($status_key !== FALSE) {
- unset($overwrite_properties[$status_key]);
- }
- asort($overwrite_properties);
- $migration_config->set('destination.overwrite_properties', array_values($overwrite_properties))
- ->save();
- }
-}
-
-/**
- * Disable webp module.
- */
-function su_humsci_profile_update_9405() {
- \Drupal::service('module_installer')->uninstall(['webp']);
-}
-
-/**
- * Enable new admin theme and helper module.
- */
-function su_humsci_profile_update_9406() {
- \Drupal::service('module_installer')->install(['hs_admin']);
- $theme_handler = \Drupal::service('theme_installer');
- $theme_handler->install([
- 'claro',
- 'gin',
- 'su_humsci_gin_admin',
- ]);
- // Set the su_humsci_gin_admin as the admin theme.
- $config = \Drupal::service('config.factory')->getEditable('system.theme');
- $config->set('admin', 'su_humsci_gin_admin')->save();
- // Install gin toolbar helper module.
- \Drupal::service('module_installer')->install(['gin_toolbar']);
-}
-
-/**
- * Uninstall stable and bricks
- */
-function su_humsci_profile_update_9500() {
- /** @var \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler */
- $theme_handler = \Drupal::service('theme_handler');
- $theme_installer = \Drupal::service('theme_installer');
- if ($theme_handler->themeExists('classy')) {
- $theme_installer->uninstall(['classy']);
- }
- if ($theme_handler->themeExists('stable')) {
- $theme_installer->uninstall(['stable']);
- }
- if (!$theme_handler->themeExists('stable9')) {
- $theme_installer->install(['stable9']);
- }
- if (\Drupal::moduleHandler()->moduleExists('bricks')) {
- \Drupal::service('module_installer')->uninstall(['bricks']);
- }
-}
-
-/**
- * Install SamlAuth
- */
-function su_humsci_profile_update_9501() {
- $config_ignore = \Drupal::configFactory()
- ->getEditable('config_ignore.settings');
- $ignored = $config_ignore->get('ignored_config_entities');
- $ignored[] = 'stanford_samlauth.settings';
- $ignored[] = 'samlauth.authentication:map_users_roles';
- $config_ignore->set('ignored_config_entities', $ignored)->save();
- \Drupal::service('module_installer')->install(['stanford_samlauth']);
- _su_humsci_profile_update_samlauth();
-}
-
-/**
- * Uninstall seven and fix key configs.
- */
-function su_humsci_profile_update_9600() {
- if (\Drupal::service('theme_handler')->themeExists('seven')) {
- \Drupal::service('theme_installer')->uninstall(['seven']);
- }
- // Resave keys to adjust any dependencies.
- foreach (Key::loadMultiple() as $key) {
- $key->save();
- }
-}
-
-/**
- * Install hs_entities module.
- */
-function su_humsci_profile_update_9602() {
- \Drupal::service('module_installer')->install(['hs_entities']);
-}
-
-/**
- * Migrate News RSS ECK importer collection entities to News RSS HumSci
- * entities.
- */
-function su_humsci_profile_update_9603() {
- // Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
- $entity_type_manager = \Drupal::entityTypeManager();
- // Only ever 1 config page.
- $config_page = $entity_type_manager->getStorage('config_pages')
- ->load('news_rss');
- if ($entity_type_manager->hasDefinition('importers') && $config_page) {
- $new_values = [];
-
- /** @var \Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem $field_item */
- foreach ($config_page->get('field_news_rss') as $field_item) {
- $eck_entity = $field_item->get('entity')->getValue();
-
- // Create the new hs entity using the values of the ECK.
- $hs_entity = $entity_type_manager->getStorage('hs_entity')
- ->create([
- 'bundle' => 'news_rss',
- 'field_url' => $eck_entity->get('field_url')->getString(),
- 'field_terms' => $eck_entity->get('field_terms')->getString(),
- ]);
- $hs_entity->save();
-
- // Store the new entity for the field value and delete the ECK.
- $new_values[] = [
- 'target_id' => $hs_entity->id(),
- 'entity' => $hs_entity,
- ];
- $eck_entity->delete();
- }
- $config_page->set('field_news_rss', $new_values)->save();
- }
-
- // Update the field storage settings.
- $field_storage_config = FieldStorageConfig::loadByName('config_pages', 'field_news_rss');
- $field_storage_config->setSetting('target_type', 'hs_entity');
- $field_storage_config->save();
-
- // Update the field config settings.
- $field_config = \Drupal::entityTypeManager()->getStorage('field_config')
- ->load('config_pages.news_rss.field_news_rss');
- $handler_settings = $field_config->getSetting('handler_settings');
- $handler_settings['target_bundles'] = ['news_rss' => 'news_rss'];
- $field_config->setSetting('handler_settings', $handler_settings);
- $field_config->save();
-}
-
-/**
- * Delete news_rss ECK bundle and importer collections ECK entity type.
- */
-function su_humsci_profile_update_9604() {
- $entity_type_manager = \Drupal::entityTypeManager();
-
- // Delete the news_rss ECK.
- if ($entity_type_manager->hasDefinition('importers_type')) {
- $news_rss_bundle = $entity_type_manager->getStorage('importers_type')
- ->load('news_rss');
- $news_rss_bundle->delete();
- }
-
- // Delete the importers entity type from ECK.
- if ($entity_type_manager->hasDefinition('eck_entity_type')) {
- $importers_collection = $entity_type_manager->getStorage('eck_entity_type')->load('importers');
- $importers_collection->delete();
- }
+function su_humsci_profile_update_last_removed() {
+ return 9604;
}
/**
@@ -581,3 +284,564 @@ function su_humsci_profile_update_9610() {
function su_humsci_profile_update_9611() {
\Drupal::service('module_installer')->uninstall(['chosen_lib']);
}
+
+/**
+ * Create new entities to migrate ECKs.
+ */
+function su_humsci_profile_update_9700() {
+ /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager */
+ $entity_field_manager = \Drupal::service('entity_field.manager');
+ $field_map = $entity_field_manager->getFieldMap();
+
+ // Go through each of the ECK types and bundles and create new HS Entity
+ // bundles with the matching fields, form and display settings from the ECK.
+ foreach (_su_humsci_profile_update_eck_info() as $eck_name => $bundles) {
+ $eck_type = \Drupal::config("eck.eck_entity_type.$eck_name");
+ foreach ($bundles as $bundle_id => $new_bundle_id) {
+ $eck_bundle = \Drupal::config("eck.eck_type.$eck_name.$bundle_id");
+
+ $eck_form = EntityFormDisplay::load("$eck_name.$bundle_id.default");
+ $eck_display = EntityViewDisplay::load("$eck_name.$bundle_id.default");
+
+ // Create the new hs entity type to migrate the entities.
+ HsEntityType::create([
+ 'uuid' => _su_humsci_profile_get_uuid("hs_entities.hs_entity_type.$new_bundle_id"),
+ 'id' => $new_bundle_id,
+ 'label' => $eck_type->get('label') . ': ' . $eck_bundle->get('name'),
+ ])->save();
+
+ // Create the new form display.
+ $hs_entity_form = EntityFormDisplay::create([
+ 'uuid' => _su_humsci_profile_get_uuid("core.entity_form_display.hs_entity.$new_bundle_id.default"),
+ 'id' => "hs_entity.$new_bundle_id.default",
+ 'status' => TRUE,
+ 'targetEntityType' => 'hs_entity',
+ 'bundle' => $new_bundle_id,
+ 'mode' => 'default',
+ ]);
+ $hs_entity_form->removeComponent('created');
+ $hs_entity_form->removeComponent('uid');
+
+ // Create the new view display.
+ $hs_entity_display = EntityViewDisplay::create([
+ 'uuid' => _su_humsci_profile_get_uuid("core.entity_view_display.hs_entity.$new_bundle_id.default"),
+ 'id' => "hs_entity.$new_bundle_id.default",
+ 'status' => TRUE,
+ 'targetEntityType' => 'hs_entity',
+ 'bundle' => $new_bundle_id,
+ 'mode' => 'default',
+ ]);
+ $hs_entity_display->removeComponent('created');
+ $hs_entity_display->removeComponent('uid');
+
+ // Create new fields on the new entity types.
+ foreach ($field_map[$eck_name] as $field_name => $field_info) {
+ if (in_array($bundle_id, $field_info['bundles'])) {
+ /** @var \Drupal\field\FieldStorageConfigInterface|null $storage */
+ $storage = FieldStorageConfig::loadByName($eck_name, $field_name);
+ /** @var \Drupal\Core\Field\FieldConfigInterface|null $config */
+ $config = FieldConfig::loadByName($eck_name, $bundle_id, $field_name);
+
+ // Base fields don't have storage of field configs.
+ if (!$storage || !$config) {
+ continue;
+ }
+
+ // Create the new field storage on the hs entity to match the ECK.
+ if (!FieldStorageConfig::loadByName('hs_entity_type', $field_name)) {
+ FieldStorageConfig::create([
+ 'uuid' => _su_humsci_profile_get_uuid("field.storage.hs_entity.$field_name"),
+ 'type' => $storage->getType(),
+ 'field_name' => $field_name,
+ 'entity_type' => 'hs_entity',
+ 'settings' => $storage->getSettings(),
+ 'cardinality' => $storage->getCardinality(),
+ ])->save();
+ }
+
+ // Create the new field config on the hs entity to match the ECK.
+ if (!FieldConfig::loadByName('hs_entity_type', $new_bundle_id, $field_name)) {
+ FieldConfig::create([
+ 'uuid' => _su_humsci_profile_get_uuid("field.field.hs_entity.$new_bundle_id.$field_name"),
+ 'field_type' => $config->getType(),
+ 'entity_type' => 'hs_entity',
+ 'bundle' => $new_bundle_id,
+ 'field_name' => $field_name,
+ 'label' => $config->label(),
+ 'settings' => $config->getSettings(),
+ 'default_value' => $config->get('default_value'),
+ ])->save();
+
+ // Copy the form and display settings for the field.
+ if ($form_settings = $eck_form->getComponent($field_name)) {
+ $hs_entity_form->setComponent($field_name, $form_settings);
+ }
+
+ if ($display_settings = $eck_display->getComponent($field_name)) {
+ $hs_entity_display->setComponent($field_name, $display_settings);
+ }
+ }
+
+ try {
+ if ($field_display_settings = $eck_display->getComponent($field_name)) {
+ $hs_entity_display->setComponent($field_name, $field_display_settings);
+ }
+ }
+ catch (\Throwable $t) {
+ \Drupal::logger('su_humsci_profile')
+ ->error('Unable to set display settings for %field on %bundle entity type.', [
+ '%field' => $field_name,
+ '%bundle' => $new_bundle_id,
+ ]);
+ }
+
+ try {
+ if ($form_display_settings = $eck_form->getComponent($field_name)) {
+ $hs_entity_form->setComponent($field_name, $form_display_settings);
+ }
+ }
+ catch (\Throwable $t) {
+ \Drupal::logger('su_humsci_profile')
+ ->error('Unable to set form settings for %field on %bundle entity type.', [
+ '%field' => $field_name,
+ '%bundle' => $new_bundle_id,
+ ]);
+ }
+ }
+ }
+
+ if ($title_settings = $eck_display->getComponent('title')) {
+ $hs_entity_display->setComponent('label', $title_settings);
+ }
+
+ // Copy the third party settings to capture DS or field group settings.
+ $hs_entity_form->set('third_party_settings', $eck_form->get('third_party_settings'));
+ $hs_entity_display->set('third_party_settings', $eck_display->get('third_party_settings'));
+
+ $hs_entity_form->save();
+ $hs_entity_display->save();
+ }
+ }
+}
+
+/**
+ * Migrate ECKs to the new types.
+ */
+function su_humsci_profile_update_9701(&$sandbox) {
+ $entity_type_manager = \Drupal::entityTypeManager();
+ $eck_info = _su_humsci_profile_update_eck_info();
+ if (!isset($sandbox['count'])) {
+ $sandbox['items'] = [];
+ $sandbox['convert'] = [];
+
+ // Store all the ECK ids into the sandbox for batch processing.
+ foreach (array_keys($eck_info) as $eck_name) {
+ $ids = $entity_type_manager->getStorage($eck_name)
+ ->getQuery()
+ ->accessCheck(FALSE)
+ ->execute();
+ foreach ($ids as $id) {
+ $sandbox['items'][] = "$eck_name:$id";
+ }
+ }
+ $sandbox['items'] = array_filter($sandbox['items']);
+ $sandbox['count'] = count($sandbox['items']);
+ \Drupal::messenger()
+ ->addStatus(t('Updating @count ECK items.', ['@count' => count($sandbox['items'])]));
+ }
+
+ $batched_items = array_splice($sandbox['items'], 0, 100);
+ foreach ($batched_items as $item) {
+ [$eck_type, $id] = explode(':', $item);
+ $entity = $entity_type_manager->getStorage($eck_type)->load($id);
+
+ $new_bundle_id = $eck_info[$eck_type][$entity->bundle()];
+ /** @var \Drupal\hs_entities\HsEntityInterface $new_entity */
+ $new_entity = \Drupal::entityTypeManager()
+ ->getStorage('hs_entity')
+ ->create([
+ 'label' => trim($entity->label()),
+ 'bundle' => $new_bundle_id,
+ ]);
+
+ // Make sure not to copy the id or uuid fields from the ECK.
+ $skip_fields = ['id', 'uuid'];
+ // Copy any fields that exist on both entity types.
+ foreach (array_keys($entity->getFieldDefinitions()) as $field_name) {
+ if ($new_entity->hasField($field_name) && !in_array($field_name, $skip_fields)) {
+ $new_entity->set($field_name, $entity->get($field_name)->getValue());
+ }
+ }
+ $new_entity->save();
+ $sandbox['convert'][$eck_type][$id] = $new_entity->id();
+
+ // Clear entity caches
+ $entity_type_manager->getStorage($eck_type)->resetCache(array($id));
+ $entity_type_manager->getStorage('hs_entity')->resetCache(array($new_entity->id()));
+ }
+ $sandbox['#finished'] = empty($sandbox['items']) ? 1 : ($sandbox['count'] - count($sandbox['items'])) / $sandbox['count'];
+
+ // When the conversion is complete, update all the field data.
+ if (!empty($sandbox['items'])) {
+ return;
+ }
+
+ /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager */
+ $entity_field_manager = \Drupal::service('entity_field.manager');
+ $field_map = $entity_field_manager->getFieldMapByFieldType('entity_reference');
+ $update_fields = [];
+
+ // Find all the fields that reference each of the ECK entity types.
+ foreach ($field_map as $entity_type => $fields) {
+ foreach (array_keys($fields) as $field_name) {
+ $field_storage = FieldStorageConfig::loadByName($entity_type, $field_name);
+ if (!$field_storage) {
+ continue;
+ }
+ $target_type = $field_storage->getSetting('target_type');
+ if (isset($eck_info[$target_type])) {
+ $update_fields[$entity_type][$field_name] = $target_type;
+ }
+ }
+ }
+
+ // Update the database for the new hs entity ids.
+ foreach ($update_fields as $entity_type => $update_entity_fields) {
+ foreach ($update_entity_fields as $field_name => $eck_type) {
+ $convert_ids = $sandbox['convert'][$eck_type] ?? [];
+
+ $query = \Drupal::database()
+ ->select("{$entity_type}__$field_name", 'f')
+ ->fields('f', ['entity_id', 'delta', "{$field_name}_target_id"])
+ ->execute();
+
+ while ($entry = $query->fetchAssoc()) {
+ $new_target_id = $convert_ids[$entry["{$field_name}_target_id"]] ?? FALSE;
+ if (!$new_target_id > 0) {
+ continue;
+ }
+ \Drupal::database()->update("{$entity_type}__$field_name")
+ ->fields(["{$field_name}_target_id" => $new_target_id])
+ ->condition('entity_id', $entry['entity_id'])
+ ->condition('delta', $entry['delta'])
+ ->execute();
+
+ $revision_table = \Drupal::database()
+ ->schema()
+ ->tableExists("{$entity_type}_revision__$field_name");
+
+ if ($revision_table) {
+ \Drupal::database()->update("{$entity_type}_revision__$field_name")
+ ->fields(["{$field_name}_target_id" => $new_target_id])
+ ->condition('entity_id', $entry['entity_id'])
+ ->condition('delta', $entry['delta'])
+ ->execute();
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Update content field configs for the new entity types.
+ */
+function su_humsci_profile_update_9702() {
+ $eck_info = _su_humsci_profile_update_eck_info();
+ /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager */
+ $entity_field_manager = \Drupal::service('entity_field.manager');
+ $field_map = $entity_field_manager->getFieldMapByFieldType('entity_reference');
+
+ // For each entity reference field, update the target entity type and bundle.
+ foreach ($field_map as $entity_type => $fields) {
+ foreach ($fields as $field_name => $field_info) {
+ $field_storage = FieldStorageConfig::loadByName($entity_type, $field_name);
+ $field_storage_config = \Drupal::configFactory()
+ ->getEditable("field.storage.$entity_type.$field_name");
+ foreach ($field_info['bundles'] as $field_bundle) {
+ $field_config = FieldConfig::loadByName($entity_type, $field_bundle, $field_name);
+ if (!$field_config) {
+ continue;
+ }
+ $handler = $field_config->getSetting('handler');
+ $handler_settings = $field_config->getSetting('handler_settings');
+
+ $target = str_replace('default:', '', $handler);
+ if (isset($eck_info[$target])) {
+ $new_target_bundle = $eck_info[$target][reset($handler_settings['target_bundles'])];
+
+ // Update the field config first.
+ $settings = $field_config->getSettings();
+ $settings['handler'] = 'default:hs_entity';
+ $settings['target_type'] = 'hs_entity';
+ $settings['handler_settings']['auto_create'] = TRUE;
+ $settings['handler_settings']['target_bundles'] = [$new_target_bundle => $new_target_bundle];
+ $settings['handler_settings']['sort'] = [
+ 'field' => 'label',
+ 'direction' => 'ASC',
+ ];
+ $field_config->set('settings', $settings);
+ $field_config->save();
+
+ // Update the field storage.
+ $field_storage->setSetting('target_type', 'hs_entity');
+ $field_storage->save();
+
+ // Update the config objects to make sure we capture the new values.
+ $field_storage_config->set('settings.target_type', 'hs_entity');
+ $field_storage_config->save();
+
+ $config = \Drupal::configFactory()
+ ->getEditable("field.field.$entity_type.$field_bundle.$field_name");
+ $config->set('settings', $settings);
+ $config->save();
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Update views to new entity type.
+ */
+function su_humsci_profile_update_9703() {
+ $config_factory = \Drupal::configFactory();
+ $view_config_names = $config_factory->listAll('views.view.');
+ $eck_info = _su_humsci_profile_update_eck_info();
+
+ foreach ($view_config_names as $config_name) {
+ $config = $config_factory->getEditable($config_name);
+ $raw = $config->getRawData();
+ _su_humsci_profile_fix_view_data($raw);
+
+ if (isset($raw['dependencies']['config'])) {
+ foreach ($raw['dependencies']['config'] as &$config_dependency) {
+ foreach (array_keys($eck_info) as $eck_type) {
+ if (
+ str_starts_with($config_dependency, "field.storage.$eck_type.") ||
+ str_starts_with($config_dependency, "$eck_type.")
+ ) {
+ $config_dependency = str_replace($eck_type, 'hs_entity', $config_dependency);
+ }
+ }
+ }
+ }
+ $config->setData($raw)->save(TRUE);
+ }
+}
+
+/**
+ * Recursively traverse a view data structure and change the necessary values.
+ *
+ * @param mixed $data
+ * Config data array or values.
+ */
+function _su_humsci_profile_fix_view_data(&$data) {
+ $eck_info = _su_humsci_profile_update_eck_info();
+
+ if (is_array($data)) {
+ // For the fields and filters, update the ECK types to the hs_entity.
+ if (
+ isset($data['entity_type']) &&
+ is_string($data['entity_type']) &&
+ isset($eck_info[$data['entity_type']])
+ ) {
+ $data['entity_type'] = 'hs_entity';
+
+ if (isset($data['table']) && is_string($data['table'])) {
+ foreach (array_keys($eck_info) as $eck_type) {
+ $data['table'] = str_replace($eck_type, 'hs_entity', $data['table']);
+ if ($data['table'] == 'hs_entity_field_data') {
+ $data['table'] = 'hs_entity';
+ }
+ }
+ }
+
+ if (isset($data['field']) && is_string($data['field']) && $data['field'] == 'title') {
+ $data['field'] = 'label';
+ }
+ if (isset($data['entity_field']) && is_string($data['entity_field']) && $data['entity_field'] == 'title') {
+ $data['entity_field'] = 'label';
+ }
+ }
+
+ // Fix reverse relationships.
+ if (
+ isset($data['relationships']) &&
+ !empty($data['relationships'])
+ ) {
+ foreach ($data['relationships'] as $relationship => $relationship_data) {
+ $relationship_key = $relationship;
+ foreach (array_keys($eck_info) as $eck_type) {
+ if (str_starts_with($relationship, 'reverse__' . $eck_type)) {
+ $relationship_key = str_replace($eck_type, 'hs_entity', $relationship);
+ }
+ }
+ unset($data['relationships'][$relationship]);
+ $data['relationships'][$relationship_key] = $relationship_data;
+ }
+ }
+ if (isset($data['relationship'])) {
+ foreach (array_keys($eck_info) as $eck_type) {
+ if (str_starts_with($data['relationship'], 'reverse__' . $eck_type)) {
+ $data['relationship'] = str_replace($eck_type, 'hs_entity', $data['relationship']);
+ }
+ if (isset($data['id']) && isset($data['field'])) {
+ if (str_starts_with($data['id'], 'reverse__' . $eck_type)) {
+ $data['id'] = str_replace($eck_type, 'hs_entity', $data['id']);
+ $data['field'] = str_replace($eck_type, 'hs_entity', $data['field']);
+ }
+ }
+ }
+ }
+
+ if (
+ isset($data['table']) &&
+ is_string($data['table'])
+ ) {
+ foreach (array_keys($eck_info) as $eck_type) {
+ if (str_starts_with($data['table'], $eck_type)) {
+ $data['table'] = str_replace($eck_type, 'hs_entity', $data['table']);
+ if ($data['table'] == 'hs_entity_field_data') {
+ $data['table'] = 'hs_entity';
+ }
+ }
+ }
+ if ($data['table'] == 'hs_entity') {
+ if (isset($data['field']) && is_string($data['field']) && $data['field'] == 'title') {
+ $data['field'] = 'label';
+ }
+ if (isset($data['entity_field']) && is_string($data['entity_field']) && $data['entity_field'] == 'title') {
+ $data['entity_field'] = 'label';
+ }
+ if (isset($data['field']) && is_string($data['field']) && $data['field'] == 'type') {
+ $data['field'] = 'bundle';
+ }
+ if (isset($data['entity_field']) && is_string($data['entity_field']) && $data['entity_field'] == 'type') {
+ $data['entity_field'] = 'bundle';
+ }
+
+ // Fix filter value.
+ if (isset($data['id']) && is_string($data['id']) && $data['id'] == 'type') {
+ if (isset($data['value']) && is_array($data['value'])) {
+ foreach ($eck_info as $eck_type) {
+ foreach ($eck_type as $eck_bundle => $hs_entity_bundle) {
+ if (isset($data['value'][$eck_bundle]) && $data['value'][$eck_bundle] == $eck_bundle) {
+ $data['value'][$hs_entity_bundle] = $hs_entity_bundle;
+ unset($data['value'][$eck_bundle]);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (
+ isset($data['base_table']) &&
+ is_string($data['base_table'])
+ ) {
+ foreach (array_keys($eck_info) as $eck_type) {
+ if (str_starts_with($data['base_table'], $eck_type)) {
+ $data['base_table'] = str_replace($eck_type, 'hs_entity', $data['base_table']);
+ if ($data['base_table'] == 'hs_entity_field_data') {
+ $data['base_table'] = 'hs_entity';
+ }
+ }
+ }
+ }
+
+ foreach ($data as &$value) {
+ _su_humsci_profile_fix_view_data($value);
+ }
+ }
+}
+
+/**
+ * Update ECK and hs_entity permissions.
+ */
+function su_humsci_profile_update_9704() {
+ $roles = user_role_names();
+ $eck_info = _su_humsci_profile_update_eck_info();
+ foreach (array_keys($eck_info) as $eck_type) {
+ foreach (array_keys($roles) as $role_id) {
+ // Remove all the permissions before deleting the ECK to avoid errors.
+ user_role_revoke_permissions($role_id, [
+ "create $eck_type entities",
+ "delete any $eck_type entities",
+ "delete own $eck_type entities",
+ "edit any $eck_type entities",
+ "edit own $eck_type entities",
+ "view any $eck_type entities",
+ "view own $eck_type entities",
+ ]);
+ }
+ }
+
+ // Adjust all the permissions.
+ user_role_grant_permissions('site_manager', [
+ 'create humsci entity',
+ 'delete humsci entity',
+ 'edit humsci entity',
+ ]);
+ user_role_grant_permissions('contributor', [
+ 'create humsci entity',
+ 'delete humsci entity',
+ 'edit humsci entity',
+ ]);
+ user_role_grant_permissions('author', [
+ 'create humsci entity',
+ 'delete humsci entity',
+ 'edit humsci entity',
+ ]);
+ user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, ['view humsci entity']);
+ user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, ['view humsci entity']);
+}
+
+/**
+ * Get the migration of eck type and bundle to the new hs_entity type.
+ *
+ * @return array
+ * Keyed array of eck types and it's bundles.
+ */
+function _su_humsci_profile_update_eck_info(): array {
+ $info = &drupal_static(__FUNCTION__, []);
+ if ($info) {
+ return $info;
+ }
+ $config_factory = \Drupal::configFactory();
+ $names = $config_factory->listAll('eck.eck_entity_type.');
+
+ // Loop through each of the ECK types.
+ foreach ($names as $name) {
+ $eck_type = $config_factory->get($name);
+ $eck_name = $eck_type->get('id');
+ $bundles = $config_factory->listAll("eck.eck_type.$eck_name.");
+
+ // Loop through each of the bundles on the ECK type.
+ foreach ($bundles as $bundle) {
+ $eck_bundle = $config_factory->get($bundle);
+ $bundle_id = $eck_bundle->get('type');
+ $new_bundle_id = substr("{$eck_name}__$bundle_id", 0, 32);
+
+ $info[$eck_name][$bundle_id] = $new_bundle_id;
+ }
+ }
+
+ return $info;
+}
+
+/**
+ * Get the UUID of the config from the sync directory if it exists.
+ *
+ * @param string $config_name
+ * Config name.
+ *
+ * @return string|null
+ * UUID string.
+ */
+function _su_humsci_profile_get_uuid(string $config_name): string|null {
+ /** @var \Drupal\Core\Config\FileStorage $config_storage */
+ $config_storage = \Drupal::service('config.storage.sync');
+ $config = $config_storage->read($config_name);
+ return $config['uuid'] ?? NULL;
+}
diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.profile b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.profile
index 06675cf090..4f310c3240 100644
--- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.profile
+++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.profile
@@ -564,28 +564,6 @@ function su_humsci_profile_simplify_condition_forms(array &$condition_elements,
}
}
-/**
- * Implements hook_ENTITY_TYPE_insert().
- */
-function su_humsci_profile_eck_entity_type_insert(EntityInterface $entity) {
- $eck_type = $entity->id();
- // When a new ECK entity type is create, set initial permissions so that
- // site builders aren't required to search for the necessary permissions.
- user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, ["view any $eck_type entities"]);
- user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, ["view any $eck_type entities"]);
-
- user_role_grant_permissions('contributor', [
- "create $eck_type entities",
- "delete own $eck_type entities",
- "edit own $eck_type entities",
- ]);
- user_role_grant_permissions('site_manager', [
- "create $eck_type entities",
- "delete any $eck_type entities",
- "edit any $eck_type entities",
- ]);
-}
-
/**
* Implements hook_preprocess_HOOK().
*/
diff --git a/docroot/themes/humsci/humsci_basic/humsci_basic.theme b/docroot/themes/humsci/humsci_basic/humsci_basic.theme
index 45c159c0ed..014b8d55f9 100644
--- a/docroot/themes/humsci/humsci_basic/humsci_basic.theme
+++ b/docroot/themes/humsci/humsci_basic/humsci_basic.theme
@@ -10,6 +10,14 @@ use Drupal\Component\Utility\Html;
use Drupal\node\Entity\Node;
use Drupal\paragraphs\ParagraphInterface;
+/**
+ * Implements hook_preprocess_hook().
+ */
+function humsci_basic_preprocess_field__hs_entity__label(&$variables){
+ // Add the title class to match the eck title classes.
+ $variables['attributes']['class'][] = 'title';
+}
+
/**
* Implements hook_preprocess_block().
* The following code block (lines 16 - 30) is an adaptation of the code found
diff --git a/hooks/common/post-code-deploy/.gitignore b/hooks/common/post-code-deploy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/common/post-code-deploy/post-code-deploy.sh b/hooks/common/post-code-deploy/post-code-deploy.sh
deleted file mode 100644
index 28a359d208..0000000000
--- a/hooks/common/post-code-deploy/post-code-deploy.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-#
-# Cloud Hook: post-code-deploy
-#
-# The post-code-deploy hook is run whenever you use the Workflow page to
-# deploy new code to an environment, either via drag-drop or by selecting
-# an existing branch or tag from the Code drop-down list. See
-# ../README.md for details.
-#
-# Usage: post-code-deploy site target-env source-branch deployed-tag repo-url
-# repo-type
-
-set -ev
-
-site="$1"
-target_env="$2"
-source_branch="$3"
-deployed_tag="$4"
-repo_url="$5"
-repo_type="$6"
-
-# Prep for BLT commands.
-repo_root="/var/www/html/$site.$target_env"
-export PATH=$repo_root/vendor/bin:$PATH
-cd $repo_root
-
-blt humsci:post-code-deploy $target_env $deployed_tag
-
-set +v
diff --git a/hooks/common/post-code-update/.gitignore b/hooks/common/post-code-update/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/common/post-code-update/post-code-update.sh b/hooks/common/post-code-update/post-code-update.sh
deleted file mode 100644
index ae324c744e..0000000000
--- a/hooks/common/post-code-update/post-code-update.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-#
-# Cloud Hook: post-code-update
-#
-# The post-code-update hook runs in response to code commits. When you
-# push commits to a Git branch, the post-code-update hooks runs for
-# each environment that is currently running that branch.
-#
-# The arguments for post-code-update are the same as for post-code-deploy,
-# with the source-branch and deployed-tag arguments both set to the name of
-# the environment receiving the new code.
-#
-# post-code-update only runs if your site is using a Git repository. It does
-# not support SVN.
-
-set -ev
-
-site="$1"
-target_env="$2"
-source_branch="$3"
-deployed_tag="$4"
-repo_url="$5"
-repo_type="$6"
-
-# Prep for BLT commands.
-repo_root="/var/www/html/$site.$target_env"
-export PATH=$repo_root/vendor/bin:$PATH
-cd $repo_root
-
-blt humsci:post-code-deploy $target_env $deployed_tag
-
-set +v
diff --git a/hooks/common/post-db-copy/.gitignore b/hooks/common/post-db-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/common/post-db-copy/db-scrub.sh b/hooks/common/post-db-copy/db-scrub.sh
deleted file mode 100644
index c7c8a03f61..0000000000
--- a/hooks/common/post-db-copy/db-scrub.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# db-copy Cloud hook: db-scrub
-#
-# Scrub important information from a Drupal database.
-#
-# Usage: db-scrub.sh site target-env db-name source-env
-
-set -ev
-
-site="$1"
-target_env="$2"
-db_name="$3"
-source_env="$4"
-
-# Prep for BLT commands.
-repo_root="/var/www/html/$site.$target_env"
-export PATH=$repo_root/vendor/bin:$PATH
-cd $repo_root
-
-blt artifact:ac-hooks:db-scrub $site $target_env $db_name $source_env -D drush.ansi=false
-
-set +v
diff --git a/hooks/common/post-db-copy/post-db-copy.sh b/hooks/common/post-db-copy/post-db-copy.sh
deleted file mode 100644
index 0b123f47f6..0000000000
--- a/hooks/common/post-db-copy/post-db-copy.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# Cloud Hook: post-db-copy
-#
-# The post-db-copy hook is run whenever you use the Workflow page to copy a
-# database from one environment to another.
-#
-# Usage: post-db-copy site target-env db-name source-env
-
-set -ev
-
-site="$1"
-target_env="$2"
-db_name="$3"
-source_env="$4"
-
-# Prep for BLT commands.
-repo_root="/var/www/html/$site.$target_env"
-export PATH=$repo_root/vendor/bin:$PATH
-cd $repo_root
-
-#blt artifact:ac-hooks:post-db-copy $site $target_env $db_name $source_env --environment=$target_env -v --no-interaction -D drush.ansi=false
-blt artifact:update:drupal --site=$db_name --environment=$target_env
-
-set +v
diff --git a/hooks/common/post-files-copy/.gitignore b/hooks/common/post-files-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/common/post-files-copy/post-files-copy.sh b/hooks/common/post-files-copy/post-files-copy.sh
deleted file mode 100644
index 5fce848219..0000000000
--- a/hooks/common/post-files-copy/post-files-copy.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# Cloud Hook: post-files-copy
-#
-# The post-files-copy hook is run whenever you use the Workflow page to
-# copy the files directory from one environment to another.
-#
-# Usage: post-files-copy site target-env source-env
-
-set -ev
-
-site="$1"
-target_env="$2"
-source_env="$3"
-
-# Prep for BLT commands.
-repo_root="/var/www/html/$site.$target_env"
-export PATH=$repo_root/vendor/bin:$PATH
-cd $repo_root
-
-blt artifact:ac-hooks:post-files-copy $site $target_env $source_env --environment=$target_env -v --no-interaction -D drush.ansi=false
-
-set +v
diff --git a/hooks/dev/post-code-deploy/.gitignore b/hooks/dev/post-code-deploy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/dev/post-db-copy/.gitignore b/hooks/dev/post-db-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/dev/post-files-copy/.gitignore b/hooks/dev/post-files-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/prod/post-code-deploy/.gitignore b/hooks/prod/post-code-deploy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/prod/post-db-copy/.gitignore b/hooks/prod/post-db-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/prod/post-files-copy/.gitignore b/hooks/prod/post-files-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/test/post-code-deploy/.gitignore b/hooks/test/post-code-deploy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/test/post-code-update/.gitignore b/hooks/test/post-code-update/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/test/post-db-copy/.gitignore b/hooks/test/post-db-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/hooks/test/post-files-copy/.gitignore b/hooks/test/post-files-copy/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000