Problem/Motivation

  • The share rail rendered through three different paths (block, Drupal Canvas, custom Twig) without a single source of truth,
    so improvements had to be made in multiple places.
  • Enabling or disabling a platform did not invalidate the anonymous page cache — changes appeared stale until a manual cache
    rebuild.
  • The settings form id contained a dot (webshare.config_form), producing a malformed HTML id and breaking
    automation that targets the form by selector.
  • No automated coverage existed for Drupal CMS, where the Mercury theme delegates header and footer rendering to Drupal Canvas
    page_region entities instead of classic block layout.
  • The module had no reference documentation for site builders, administrators, or developers.

Proposed resolution

  • Single render path: The block, the Drupal Canvas component, and a custom Twig embed all render the same
    webshare:share Single-Directory Component.
  • Drupal Canvas integration: The SDC is auto-exposed to Canvas as sdc.webshare.share and
    exercised on Canvas pages, content templates, and page-region entities.
  • Drupal CMS support: A dedicated test site and feature suite for the drupal/cms distribution on
    the Mercury theme, with the share rail placed in mercury.header and mercury.footer Canvas
    page-regions.
  • Cache invalidation fix: The rail now carries the webshare_platforms cache tag; saving the
    settings form or adding, editing, or deleting a platform invalidates it — every cached page that contains the rail is refreshed
    automatically.
  • Settings form fix: The form id is now webshare_config_form and the rendered HTML id is the
    clean webshare-config-form.
  • BDD test suite: 82 webship-js scenarios / 472 steps covering both flavours — smoke, front-end rendering,
    all 13 platforms, accessibility, responsive layouts, admin form, platform add/edit/delete modal, access control, Canvas, and
    Drupal CMS. Pure browser-driven steps backed by a 281-entry named-selector registry.
  • CI: Two GitLab browser-test jobs (Drupal Standard + Drupal CMS) plus validate-stage jobs (cspell, eslint,
    stylelint) reproducible locally through gitlab-ci-local.
  • Documentation site: MkDocs Material site under docs/ with Introduction, User, Administrator,
    Developer, and FAQ sections — builds cleanly under mkdocs build --strict.

Remaining tasks

  • ✅ File an issue
  • ✅ Addition/Change/Update/Fix
  • ✅ Merge request, Patch, or Commit
  • ✅ Testing to ensure no regression
  • ✅ Automated unit testing coverage
  • ✅ Automated functional testing coverage
  • ➖ UX/UI designer responsibilities
  • ➖ Readability
  • ➖ Accessibility
  • ➖ Performance
  • ➖ Security
  • ➖ Documentation
  • ✅ Code review by maintainers
  • ✅ Full testing and approval
  • ✅ Credit contributors
  • ✅ Review with the product owner
  • ✅ Release notes snippet
  • ✅ Release webshare-2.0.0-alpha1

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • ci: #3591899 Add automated functional acceptance testing for Webshare with webship-js (Playwright + Cucumber-js), Drupal Canvas + Drupal CMS support, and MkDocs documentation

Comments

rajab natshah created an issue. See original summary.

  • rajab natshah committed e11d1c2d on 2.0.x
    ci: #3591899 Add automated functional acceptance testing for Webshare...

  • rajab natshah committed 8d18fd21 on 2.0.x
    ci: #3591899 Add automated functional acceptance testing for Webshare...

  • rajab natshah committed e3cd09b6 on 2.0.x
    ci: #3591899 Add automated functional acceptance testing for Webshare...

  • rajab natshah committed 6f56bfb1 on 2.0.x
    ci: #3591899 Add automated functional acceptance testing for Webshare...

  • rajab natshah committed 912ead1b on 2.0.x
    ci: #3591899 Add automated functional acceptance testing for Webshare...
rajab natshah’s picture

Assigned: rajab natshah » webship
Issue summary: View changes
Status: Active » Needs review
Issue tags: +webshare-2.0.0-alpha1
rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Assigned: webship » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.