Skip to content

feat: Drupal 10.6 — flatten profile, remove lightning base dependency#79

Open
jjroelofs wants to merge 43 commits into
3.xfrom
4.x
Open

feat: Drupal 10.6 — flatten profile, remove lightning base dependency#79
jjroelofs wants to merge 43 commits into
3.xfrom
4.x

Conversation

@jjroelofs

Copy link
Copy Markdown
Collaborator

Summary

  • Flatten profile: Remove base profile: lightning dependency and the subprofile patch requirement (patch 3266057-149 doesn't apply to D10.6)
  • Move all dependencies inline: All modules previously inherited from dxpr/lightning are now direct dependencies in composer.json
  • Port install tasks: Front page setup and shortcut access from lightning.profile ported into lightning_dxpr.profile
  • Copy config: user.role.administrator.yml and user.settings.yml copied from lightning since they're no longer inherited
  • D10 compatibility: Updated core_version_requirement to ^10.6, removed CKEditor 4 references, updated module version constraints

Breaking changes

  • No longer depends on dxpr/lightning profile — this is now a standalone profile
  • Requires Drupal core ^10.6

Test plan

  • Run composer install in lightning_dxpr_project with this branch
  • Verify site installation completes with the DXPR distribution
  • Verify demo content installation works
  • Verify all expected modules are present and enabled

Jurriaan Roelofs added 30 commits February 25, 2026 10:33
… dependency

- Remove `base profile: lightning` — no longer a sub-profile
- Add all needed modules directly to .info.yml install list
- Remove D9-only modules (ckeditor, quickedit, rdf, hal, color)
- Replace `dxpr/lightning: 5.2.x-dev` with direct module dependencies
- Remove ckeditor/fakeobjects (CKE4 plugin, D10 uses CKE5)
- Remove core patch 1650930 (READ COMMITTED, resolved in D10)
- Bump for D10.6: bootstrap5 ^3.0, webform ^6.2, ctools ^3.12
- Port install tasks from lightning.profile (front page, shortcuts)
- Port user.role.administrator.yml and user.settings.yml config
- Fix D10 deprecations (drupal_get_path → extension.list, accessCheck)

This eliminates the need for the subprofile support core patch
and removes the dxpr/lightning and dxpr/lightning_media repo dependencies.
- lightning_core ^6: Required by lightning_media 5.0.0-alpha2+ (the only
  version compatible with D10, as alpha1 needs views_infinite_scroll ^1.6
  which is D9 only)
- lightning_workflow ^4: Required to be compatible with lightning_core ^6
  (workflow 3.x requires lightning_core ^5)
- Both 6.x and 4.x versions drop hard contrib dependencies but still
  ship their submodules (lightning_page, lightning_roles, lightning_scheduler)
…m install

These modules require media_entity_instagram and media_entity_twitter
respectively, which are not included as dependencies. They are also
not used in the D11 DXPR CMS setup.
- slideshow requires slick_entityreference (not in dependencies)
- bulk_upload requires dropzonejs (not in dependencies)
Both can be enabled later if needed with their dependencies.
- Replace editor.editor.full_html.yml with CKEditor 5 version from D10.6 core
- Add ckeditor5 to install modules list
- Remove obsolete ckeditor_media_browser and dropzone permissions from dxpr_builder role
…ng_media ^5.1

The DXPR fork only changed the vendor name. Upstream 5.1.x has D10
compatibility fixes (removed CKEditor 4 dependency, updated for
lightning_core ^6). Less code to maintain.
Bootstrap 3 theme requires jquery_ui, jquery_ui_draggable, and
jquery_ui_resizable which were removed from D10 core but available
as contrib modules.
- Remove bootstrap (BS3) and bootstrap4 themes from install list
- Remove jquery_ui modules (only needed for BS3)
- Remove bootstrap/bootstrap4 composer deps
- Keep bootstrap5, claro, and dxpr_theme
Must be enabled before theme installation since dxpr_theme 6.x
depends on it as a module dependency.
- Set core_version_requirement to ^10.6 for all demo and example modules
- Remove color.theme.dxpr config (color module removed in D10)
- Remove gin theme requirement from dxpr_qa_demo
- Delete bootstrap4-dependent block config files
- Delete bootstrap4.settings config
- Remove bootstrap4 config overrides from install hook
- Fix deprecated drupal_get_path() call
The node_type condition plugin was renamed to entity_bundle:node in D10.
lightning_scheduler's Time service override creates a circular dependency
(cache.backend.database -> TimeInterface -> state -> cache.bootstrap)
that is incompatible with Drupal 10.
Add drupal/bootstrap and its jQuery UI dependencies (jquery_ui,
jquery_ui_draggable, jquery_ui_resizable) alongside bootstrap5 so the
profile works with both dxpr_theme 1.x (BS3) and 6.x (BS5).
The color module was removed from D10 core but is available as contrib.
dxpr_theme 1.x (BS3) needs it, so add the dependency and restore the
color.theme.dxpr config files that were previously deleted.
dxpr_builder now requires the ai module, so the profile must ensure
it is available at install time.
Without cdn_provider explicitly set to '', dxpr_theme defaults to null
which fails the strict equality check and prevents local Bootstrap 3
JS from being loaded.
On Drupal 10.6, Role::calculateDependencies() strips permissions from
modules not yet installed. The 2.x branch had dxpr_builder_parse_test
in the install list which pulled in dxpr_builder transitively. The 4.x
branch dropped that module, so dxpr_builder was not installed when the
user.role.dxpr_builder config was imported, causing 'edit with dxpr
builder' to be silently removed.
…functionality

- Added new routing and controller methods for parse_html_test.
- Created a new template for parse_html_test and updated the theme hook.
- Introduced CSS styles for the new test page.
- Removed deprecated templates for parse_html_editor and parse_html_anon.
- Added HTML examples for demonstration purposes.
- Updated .gitignore to include .specstory files.
…tary portals

- Introduced multiple new HTML files showcasing different themes: e-commerce, education, government, and military.
- Each file includes structured content with sections for products, services, testimonials, and more.
- Updated the parse-html-test template to enhance heading styles for better visibility.
- Introduced a method to replace image URLs in HTML content with a placeholder URL in ParseTestController.
- Updated the loadNodeByUuid method visibility from private to protected.
- Enhanced the parse-html-test template by adding text-light class to headings for better visibility.
Jurriaan Roelofs added 13 commits May 4, 2026 14:37
- Introduced multiple new HTML files showcasing alerts, grid layouts, SaaS solutions, and government portals.
- Each file contains structured content tailored for specific use cases, enhancing the overall demo experience.
- Removed outdated HTML examples related to e-commerce, education, and military themes to streamline the project.
- Deleted the old HTML file for arudhraittechs.org and added a new version to reflect updated content and structure.
- The new file includes enhanced layout and design elements, improving the overall presentation and user experience.
Remove incorrectly nested slide elements from the 2-slide and 3-slide
carousel demos. The second slide in each had a duplicate slide wrapper
causing incorrect HTML structure.
drupal_get_path() was removed in Drupal 10.
…mport

The demo modules use .json (HAL+JSON) content files via default_content
2.x, which requires the serialization module to be enabled.
The demo modules use .json content files in HAL+JSON format via
default_content 2.x, which requires both serialization and hal modules.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant