Problem/Motivation

Right now, since SDDS is based on CivicTheme which requires a number of contributed modules, those modules need to be installed to install SDDS. We want to minimize the dependency requirements to make it easier to install SDDS for the demo and for people testing.

Steps to reproduce

Proposed resolution

Figure out which modules can be removed from the dependencies.

Remaining tasks

  • Go through all modules separately and analyze which can be removed
  • Consider how these could be added optionally
  • Test without those modules
  • Update docs to reflect these changes

Current dependencies that are currently in Starshot

  1. drupal:block_content
  2. drupal:config
  3. drupal:content_moderation
  4. drupal:focal_point
  5. drupal:help
  6. drupal:image
  7. drupal:inline_form_errors
  8. drupal:media
  9. drupal:media_library
  10. drupal:node
  11. drupal:options
  12. drupal:shortcut
  13. drupal:system
  14. drupal:taxonomy
  15. drupal:user
  16. drupal:views
  17. linkit:linkit
  18. pathauto:pathauto
  19. redirect:redirect
  20. webform:webform

Current dependencies that are currently in Starshot but will be replaced by XB

  1. drupal:layout_builder (replaced by XB)
  2. drupal:layout_discovery (replaced by XB)

Current dependencies that need analysis

  1. components:components (replaced by SDC)
  2. drupal:datetime_range
  3. drupal:ckeditor (replaced by ckeditor5, current config is actually for ckeditor5)
  4. drupal:rest
  5. field_group:field_group
  6. layout_builder_restrictions:layout_builder_restrictions (replaced by XB)
  7. menu_block:menu_block
  8. paragraphs:paragraphs (replaced by XB)
  9. search_api:search_api (optional config)
  10. search_api:search_api_db (optional config)

User interface changes

Some of the CivicTheme functionality like search or page building via paragraphs won't be available in the demo. If possible, we can make these an optional feature that could be turned on separately.

API changes

Data model changes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

Kristen Pol created an issue. See original summary.

kristen pol’s picture

Issue summary: View changes

Add the dependencies to the summary.

kristen pol’s picture

Issue summary: View changes

Add more clarification.

kristen pol’s picture

Currently Starshot adds these out-of-the-box:

  1. Core Announcements (announcements_feed) Enabled 10.3.1
  2. Core Automated Cron (automated_cron) Enabled 10.3.1
  3. Core BigPipe (big_pipe) Enabled 10.3.1
  4. Core Block (block) Enabled 10.3.1
  5. Core Block Content (block_content) Enabled 10.3.1
  6. Core Breakpoint (breakpoint) Enabled 10.3.1
  7. Core CKEditor 5 (ckeditor5) Enabled 10.3.1
  8. Core Comment (comment) Enabled 10.3.1
  9. Core Configuration Manager (config) Enabled 10.3.1
  10. Core Content Moderation (content_moderation) Enabled 10.3.1
  11. Core Contextual Links (contextual) Enabled 10.3.1
  12. Field types Datetime (datetime) Enabled 10.3.1
  13. Core Database Logging (dblog) Enabled 10.3.1
  14. Core Internal Dynamic Page Cache (dynamic_page_cache) Enabled 10.3.1
  15. Core Text Editor (editor) Enabled 10.3.1
  16. Core Field (field) Enabled 10.3.1
  17. Core Field UI (field_ui) Enabled 10.3.1
  18. Field types File (file) Enabled 10.3.1
  19. Core Filter (filter) Enabled 10.3.1
  20. Core Help (help) Enabled 10.3.1
  21. Core History (history) Enabled 10.3.1
  22. Field types Image (image) Enabled 10.3.1
  23. Core Inline Form Errors (inline_form_errors) Enabled 10.3.1
  24. Core Layout Builder (layout_builder) Enabled 10.3.1
  25. Core Layout Discovery (layout_discovery) Enabled 10.3.1
  26. Field types Link (link) Enabled 10.3.1
  27. Core Media (media) Enabled 10.3.1
  28. Core Media Library (media_library) Enabled 10.3.1
  29. Core Custom Menu Links (menu_link_content) Enabled 10.3.1
  30. Core Menu UI (menu_ui) Enabled 10.3.1
  31. Core MySQL (mysql) Enabled 10.3.1
  32. Core (Experimental) Navigation (navigation) Enabled 10.3.1
  33. Core Node (node) Enabled 10.3.1
  34. Field types Options (options) Enabled 10.3.1
  35. Core Internal Page Cache (page_cache) Enabled 10.3.1
  36. Core Path (path) Enabled 10.3.1
  37. Core Path alias (path_alias) Enabled 10.3.1
  38. Core Search (search) Enabled 10.3.1
  39. Core Shortcut (shortcut) Enabled 10.3.1
  40. Core System (system) Enabled 10.3.1
  41. Core Taxonomy (taxonomy) Enabled 10.3.1
  42. Field types Text (text) Enabled 10.3.1
  43. Core Toolbar (toolbar) Enabled 10.3.1
  44. Core Update Manager (update) Enabled 10.3.1
  45. Core User (user) Enabled 10.3.1
  46. Core Views (views) Enabled 10.3.1
  47. Core Views UI (views_ui) Enabled 10.3.1
  48. Core Workflows (workflows) Enabled 10.3.1
  49. Field types Address (address) Enabled 2.0.2
  50. Spam control Antibot (antibot) Enabled 2.0.3
  51. Other Automatic Updates (automatic_updates) Enabled
  52. Other Automatic Updates Extensions (automatic_updates_extensions) Enabled
  53. Other Package Manager (package_manager) Enabled
  54. Other Coffee (coffee) Enabled 8.x-1.4
  55. Media Crop API (crop) Enabled 8.x-2.4
  56. Other Diff (diff) Enabled 8.x-1.7
  57. Navigation Easy Breadcrumb (easy_breadcrumb) Enabled 2.0.7
  58. ECA ECA Core (eca) Enabled 2.0.1
  59. ECA ECA Base (eca_base) Enabled 2.0.1
  60. ECA ECA Content (eca_content) Enabled 2.0.1
  61. ECA ECA UI (eca_ui) Enabled 2.0.1
  62. Media Focal Point (focal_point) Enabled 2.1.1
  63. Geocoding Geocoder (geocoder) Enabled 8.x-4.25
  64. Geocoding Geocoder Address (geocoder_address) Enabled 8.x-4.25
  65. Geocoding Geocoder Field (geocoder_field) Enabled 8.x-4.25
  66. Geocoding Geocoder Geofield (geocoder_geofield) Enabled 8.x-4.25
  67. Geofield Geofield (geofield) Enabled 8.x-1.60
  68. Other Gin Toolbar (gin_toolbar) Enabled 8.x-1.0-rc6
  69. Spam control Honeypot (honeypot) Enabled 2.1.3
  70. Geofield Leaflet (leaflet) Enabled 10.2.22
  71. Geofield Leaflet More Maps (leaflet_more_maps) Enabled 2.2.1
  72. User interface Linkit (linkit) Enabled 6.1.4
  73. Media Media entity download (media_entity_download) Enabled 8.x-2.3
  74. Other Media File Delete (media_file_delete) Enabled 1.3.1
  75. SEO Metatag (metatag) Enabled 2.0.0
  76. SEO Metatag: Open Graph (metatag_open_graph) Enabled 2.0.0
  77. Other Pathauto (pathauto) Enabled 8.x-1.12
  78. Other Project Browser (project_browser) Enabled
  79. Other Quick Node Clone (quick_node_clone) Enabled 8.x-1.18
  80. Other Redirect (redirect) Enabled 8.x-1.9
  81. Fields Simple Add More (sam) Enabled 1.3.1
  82. Other Scheduler (scheduler) Enabled 2.0.4
  83. SEO Simple XML Sitemap (simple_sitemap) Enabled 4.1.9
  84. Field types Smart Date (smart_date) Enabled 4.1.3
  85. Other Token (token) Enabled 8.x-1.15
  86. Other Type Tray (type_tray) Enabled 1.3.0
  87. Other ULI Custom Workflow (uli_custom_workflow) Enabled 1.0.0
  88. Administration Upgrade Status (upgrade_status) Enabled 4.3.4
  89. Webform Webform UI (webform_ui) Enabled 6.2.7
  90. Webform Webform (webform) Enabled 6.2.7
  91. Core Claro (claro) Enabled 10.3.1
  92. Core Olivero (olivero) Enabled 10.3.1
  93. Core Stark (stark) Enabled 10.3.1
  94. Gin (gin) Enabled 8.x-3.0-rc13
kristen pol’s picture

Issue summary: View changes

Update summary to pull out ones that are already in the Starshot install.

kristen pol’s picture

Issue summary: View changes

Update to include dependencies that aren't listed in the composer.json file.

ddev drush components block_content ckeditor5 config content_moderation datetime_range focal_point help image inline_form_errors layout_builder layout_discovery media media_library options rest shortcut taxonomy user views field_group layout_builder_restrictions linkit menu_block paragraphs pathauto redirect webform system node search_api search_api_db
kristen pol’s picture

Assigned: kristen pol » richardgaunt

Assigning to Richard to review and we can discuss.

kristen pol’s picture

Assigned: richardgaunt » kristen pol

I need to look at this because XB doesn't work with Drupal CMS (Starshot) right now so I want to see if I can remove some dependencies to help with the installation process.

kristen pol’s picture

I'm going to check which of these have Drupal 11 versions for now since maybe we can worry about the dependency removal in a week or two after things have settled down more.

kristen pol’s picture

D11 analysis:

Core (enabled with standard profile)

  • drupal:block_content
  • drupal:ckeditor5
  • drupal:config
  • drupal:help
  • drupal:image
  • drupal:node
  • drupal:options
  • drupal:shortcut
  • drupal:system
  • drupal:taxonomy
  • drupal:user
  • drupal:views

Core (not enabled with standard profile)

  • drupal:content_moderation
  • drupal:datetime_range
  • drupal:inline_form_errors
  • drupal:layout_builder (replaced by XB)
  • drupal:layout_discovery (replaced by XB)
  • drupal:media
  • drupal:media_library
  • drupal:rest

Contributed projects with D11 release

  • drupal:focal_point
  • field_group:field_group
  • layout_builder_restrictions:layout_builder_restrictions (replaced by XB)
  • linkit:linkit
  • menu_block:menu_block
  • paragraphs:paragraphs (replaced by XB)
  • pathauto:pathauto
  • redirect:redirect
  • search_api:search_api (optional config)
  • search_api:search_api_db (optional config)

Contributed projects without D11 release or branch

  • components:components
  • webform:webform
kristen pol’s picture

config analysis

theme settings

civictheme.settings.yml

other config

Perhaps some/all of this can be moved to "optional":

  • blocks (civictheme_content, civictheme_footer_sitebranding, civictheme_header_sitebranding, civictheme_header_sitebranding2, civictheme_help, civictheme_messages, civictheme_primaryadminactions, civictheme_tabs)
  • block_content and fields (civictheme_banner, civictheme_component_block, civictheme_mobile_navigation, civictheme_search, civictheme_social_links)
  • ckeditor (civictheme_rich_text)
  • content types and fields (civictheme_alert, civictheme_event, civictheme_page)
  • date/time formats (civictheme_short_date, civictheme_short_date_and_time)
  • image styles (civictheme_campaign, civictheme_event_card, civictheme_medium, civictheme_navigation_card, civictheme_promo_card, civictheme_publication_card, civictheme_slider_slide, civictheme_subject_card)
  • media types and fields (civictheme_audio, civictheme_document, civictheme_icon, civictheme_image, civictheme_remote_video, civictheme_video,
  • media view modes (component, embedded)
  • node view modes (civictheme_navigation_card, civictheme_promo_card, civictheme_slider_slide, civictheme_snippet)
  • paragraph types and fields (civictheme_accordion, civictheme_accordion_panel, civictheme_attachment, civictheme_automated_list, civictheme_callout, civictheme_campaign, civictheme_content, civictheme_event_card, civictheme_event_card_ref, civictheme_iframe, civictheme_manual_list, civictheme_map, civictheme_navigation_card, civictheme_navigation_card_ref, civictheme_next_step, civictheme_promo, civictheme_promo_card, civictheme_promo_card_ref, civictheme_publication_card, civictheme_service_card, civictheme_slider, civictheme_slider_slide, civictheme_slider_slide_ref, civictheme_snippet, civictheme_snippet_ref, civictheme_social_icon, civictheme_subject_card, civictheme_subject_card_ref, civictheme_webform
  • pathauto (civictheme_alert, civictheme_event, civictheme_page)
  • menu (civictheme-footer, civictheme-primary-navigation, civictheme-secondary-navigation)
  • taxonomy_term (civictheme_media_tags, civictheme_site_sections)
  • text formats (civictheme_plain_text, civictheme_rich_text)
  • user roles (civictheme_content_approver, civictheme_content_author, civictheme_site_administrator)
  • views (civictheme_alerts, civictheme_automated_list, civictheme_media, civictheme_moderated_content)
  • vocabulary (civictheme_media_tags, civictheme_site_sections, civictheme_topics)
  • webform (civictheme_enquiry, civictheme_feedback)
  • workflows (civictheme_editorial)
kristen pol’s picture

Priority: Normal » Major

Bumping priority now that the XB team wants us to focus on using D11 standard profile rather than Starshot / Drupal CMS.

kristen pol’s picture

Priority: Major » Critical

I am updating this project to be D11 compatible, but that's in name only because components and webform don't have a D11 dev branch to use or a MR/patch that's ready.

This is now a blocker so I'm not looking at moving all the config except for civictheme.settings.yml to optional config and see how it goes.

kristen pol’s picture

Status: Active » Reviewed & tested by the community

I was successful in moving all the config except the theme settings to optional config and removing the dependencies from the info file. This has been committed. Now I need to update the dev guide to reflect this.

kristen pol’s picture

Once #3469511: Update SDDS development guide to use standard Drupal 10 profile and XB been reviewed by others and is okay then this one can be marked fixed.

sea2709 made their first commit to this issue’s fork.

sea2709’s picture

@Kristen: I removed unnecessary dependencies from composer.json of starshot_demo_design theme , I updated the package name as well (hopefully it's appropriate).
I tested this change by using composer to add starshot_demo_theme package, and I didn't see composer errors with missing dependencies!

MR is ready for review https://git.drupalcode.org/project/demo_design_system/-/merge_requests/25

kristen pol’s picture

Assigned: kristen pol » Unassigned
Status: Reviewed & tested by the community » Postponed

Marking postponed until we determine outcome of this one:

#3469985: Reconcile components module vs SDC namespaces for SDDS includes/embeds

kristen pol’s picture

Title: [META] Remove unnecessary dependencies before DrupalCon Barcelona » Remove unnecessary dependencies before DrupalCon Barcelona
Component: Planning » Code
Category: Plan » Task
Status: Postponed » Fixed

Everything was removed from a dependency so far except components module which I'll make a follow-up issue for that.

kristen pol’s picture

Actually, we already have:

#3469985: Reconcile components module vs SDC namespaces for SDDS includes/embeds

so that's fine for the follow-up issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.