From 7af2fda1aec8bd58ca0aaf66279a89f927818c3c Mon Sep 17 00:00:00 2001 From: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> Date: Tue, 9 Apr 2024 12:37:12 -0700 Subject: [PATCH 1/2] 17774 remove simplesamlphp salt and admin password from vagov cms and changes values (#1510) * Update tugboat.md with steps to restart proxy (#17317) * Bump va-gov/content-build from 0.0.3444 to 0.0.3445 (#17311) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3444 to 0.0.3445. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3444...v0.0.3445) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-14667: Wrap remaining count variable in span tag (#17303) * Bump va-gov/content-build from 0.0.3445 to 0.0.3446 (#17330) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3445 to 0.0.3446. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3445...v0.0.3446) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [DOCS] Forking onboarding issuetemplate for CMS & Sitewide teams (#17146) * Forking onboarding issuetemplate for CMS & Sitewide teams * Note shared workspace * VACMS-17177: Shows descriptions for vet center services on node view/edit (#17267) * VACMS-17177: Adds functionality for descriptions to be shown on vet center services * VACMS-17177: Remove extraneous apostrophe Co-authored-by: Christian Burk --------- Co-authored-by: Christian Burk * VACMS-14136: Editors should not be able to rename VAMC facility services. (#17348) * VACMS-14136: Disable facility location and regional health service for editors. * VACMS-14136: Check for admin on vet center facility services. * VACMS-14136: Adds cypress tests for name change of vamc facility service * VACMS-14136: Adds cypress test for vet center facility service name change * VACMS-15686: Swaps mental health phone fields (#17161) * VACMS-15686: Removes the temp field from everywhere * VACMS-15868: Move old mental health phone field in form display * VACMS-15686: Updates the migration to not overwrite mental health phone number * VACMS-15686: Revision looooog! -- In the voice of Kirk yelling "Kahn!" --------- Co-authored-by: Jill Adams <85581471+jilladams@users.noreply.github.com> * VACMS-17339: build and deploy breakdown revert monolog update (#17386) * Revert "Bump drupal/monolog from 2.2.0 to 3.0.2 (#17235)" This reverts commit 0b8858ad8375789f6a4a59bf456b72f8305a6af8. * VACMS-17338: updated composer.lock * VACMS-17116: Create Views result condition plugin (#17357) * VACMS-17116: Adds new Views Display plugin for ECA. * VACMS-17116: Updates labe for Views Result display plugin. * VACMS-17116: Adds ViewsResult Condition Pluging for ECA. * VACMS-17116: Rename the display. * VACMS-17116: Removes test eca model. * VACMS-17116: Refactor condition form to use select element and improve how views values are captured and stored. * VACMS-17116: Installs va_gov_eca. * VACMS-17116: Adds initial test for Views Result Condition plugin. * VACMS-17116: Use correct config keys in condition evaluation. * VACMS-17116: Update test to use real condition evaluations. * VACMS-17116: DRY changes. * VACMS-17116: Renames view and test module. * VACMS-17116: Adds initial FWB expiring content View and related ECA. * Bump drupal/upgrade_status from 4.0.0 to 4.1.0 (#17320) Bumps drupal/upgrade_status from 4.0.0 to 4.1.0. --- updated-dependencies: - dependency-name: drupal/upgrade_status dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump drupal/twig_tweak from 3.2.1 to 3.3.0 (#17327) Bumps drupal/twig_tweak from 3.2.1 to 3.3.0. --- updated-dependencies: - dependency-name: drupal/twig_tweak dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump drupal/content_model_documentation from 1.0.24 to 1.0.26 (#17346) Bumps drupal/content_model_documentation from 1.0.24 to 1.0.26. --- updated-dependencies: - dependency-name: drupal/content_model_documentation dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/advancedqueue from 1.0.0-rc7 to 1.0.0 (#17345) Bumps drupal/advancedqueue from 1.0.0-rc7 to 1.0.0. --- updated-dependencies: - dependency-name: drupal/advancedqueue dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/eca from 1.1.4 to 1.1.5 (#17328) Bumps drupal/eca from 1.1.4 to 1.1.5. --- updated-dependencies: - dependency-name: drupal/eca dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump drupal/danse from 2.3.1 to 2.3.2 (#17309) Bumps drupal/danse from 2.3.1 to 2.3.2. --- updated-dependencies: - dependency-name: drupal/danse dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump drupal/raven from 5.0.7 to 5.0.8 (#17406) Bumps drupal/raven from 5.0.7 to 5.0.8. --- updated-dependencies: - dependency-name: drupal/raven dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-13214: Alphabetize all services and identify archived and draft services (#17402) * VACMS-13214: Adds alter to view to alphabetize and remove archived. * VACMS-13214: Updates view to give style to draft * VACMS-13214: Refactors draft and archived display * Bump drupal/eca_cm from 1.0.7 to 1.0.8 (#17427) Bumps drupal/eca_cm from 1.0.7 to 1.0.8. --- updated-dependencies: - dependency-name: drupal/eca_cm dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump datadog/dd-trace from 0.98.0 to 0.98.1 (#17445) Bumps [datadog/dd-trace](https://github.com/DataDog/dd-trace-php) from 0.98.0 to 0.98.1. - [Release notes](https://github.com/DataDog/dd-trace-php/releases) - [Commits](https://github.com/DataDog/dd-trace-php/compare/0.98.0...0.98.1) --- updated-dependencies: - dependency-name: datadog/dd-trace dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3446 to 0.0.3449 (#17447) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3446 to 0.0.3449. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3446...v0.0.3449) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump drupal/geofield_map from 3.0.14 to 3.0.15 (#17405) Bumps drupal/geofield_map from 3.0.14 to 3.0.15. --- updated-dependencies: - dependency-name: drupal/geofield_map dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump va-gov/content-build from 0.0.3449 to 0.0.3450 (#17459) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3449 to 0.0.3450. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3449...v0.0.3450) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump phpspec/prophecy-phpunit from 2.1.0 to 2.2.0 (#17446) Bumps [phpspec/prophecy-phpunit](https://github.com/phpspec/prophecy-phpunit) from 2.1.0 to 2.2.0. - [Release notes](https://github.com/phpspec/prophecy-phpunit/releases) - [Changelog](https://github.com/phpspec/prophecy-phpunit/blob/master/CHANGES.md) - [Commits](https://github.com/phpspec/prophecy-phpunit/compare/v2.1.0...v2.2.0) --- updated-dependencies: - dependency-name: phpspec/prophecy-phpunit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump drupal/dropzonejs from 2.8.0 to 2.10.0 (#17408) Bumps drupal/dropzonejs from 2.8.0 to 2.10.0. --- updated-dependencies: - dependency-name: drupal/dropzonejs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3450 to 0.0.3451 (#17471) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3450 to 0.0.3451. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3450...v0.0.3451) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/hook_event_dispatcher from 4.0.0-rc1 to 4.0.0 (#17428) * Bump drupal/hook_event_dispatcher from 4.0.0-rc1 to 4.0.0 Bumps drupal/hook_event_dispatcher from 4.0.0-rc1 to 4.0.0. --- updated-dependencies: - dependency-name: drupal/hook_event_dispatcher dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * removed unnecessary patch * updated composer.lock * updated composer.lock * updated composer.lock --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump aws-actions/configure-aws-credentials from 4.0.1 to 4.0.2 (#17273) Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/010d0da01d0b5a38af31e9c3470dbfdabdecca3a...e3dd6a429d7300a6a4c196c26e071d42e0343502) --- updated-dependencies: - dependency-name: aws-actions/configure-aws-credentials dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump phpstan/phpstan from 1.10.59 to 1.10.60 (#17472) Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.59 to 1.10.60. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.10.59...1.10.60) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-node from 4.0.1 to 4.0.2 (#17205) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8...60edb5dd545a775178f52524783378180af0d1f8) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-17323: Updates module with fixes for button (#17451) * VACMS-17323: Updates module with fixes for button * VACMS-17325: Updates the default displays of content types and paragraphs * VACMS-17325: Adds other displays settings * Adding in VAMC Top Task pages (#17470) * Billing and Insurance * Update views.view.non_clinical_services.yml * Update core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml * Update core.entity_view_display.node.vamc_system_billing_insurance.default.yml * VACMS-17325: Updates service location hours display --------- Co-authored-by: Dave Pickett <51967950+davidmpickett@users.noreply.github.com> * VACMS-14083: Upgrades address module to version 2.0 (#17393) * VACMS-14083: Upgrade address module with dependencies via composer (#17297) * VACMS-14083: Upgrade address module with dependencies via composer * VACMS-14083: Updates composer.lock * VACMS-17191: Back end changes for address module upgrade (#17392) * VACMS-17191: Hide address line 3 for all address fields. * VACMS-17191: Hide address line 3 for second NCA address field. * VACMS-14083: Update composer.lock * VACMS-14083: Update composer.lock --------- Co-authored-by: Christian Burk * Revert hook event dispatcher update (#17484) * Revert "Bump drupal/hook_event_dispatcher from 4.0.0-rc1 to 4.0.0 (#17428)" This reverts commit 4d1cb3a8965c064bc30d53282728ab6edec5e945. * updated composer.lock * updated composer files * Bump va-gov/content-build from 0.0.3451 to 0.0.3452 (#17492) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3451 to 0.0.3452. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3451...v0.0.3452) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3452 to 0.0.3453 (#17520) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3452 to 0.0.3453. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3452...v0.0.3453) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * VACMS-16417: Aging Content Notifications: Expired Full Width Alert (FWB) (#17464) * VACMS-17116: Adds new Views Display plugin for ECA. * VACMS-17116: Updates labe for Views Result display plugin. * VACMS-17116: Adds ViewsResult Condition Pluging for ECA. * VACMS-17116: Rename the display. * VACMS-17116: Removes test eca model. * VACMS-17116: Refactor condition form to use select element and improve how views values are captured and stored. * VACMS-17116: Installs va_gov_eca. * VACMS-17116: Adds initial test for Views Result Condition plugin. * VACMS-17116: Use correct config keys in condition evaluation. * VACMS-17116: Update test to use real condition evaluations. * VACMS-17116: DRY changes. * VACMS-17116: Renames view and test module. * VACMS-17116: Adds initial FWB expiring content View and related ECA. * VACMS-16417: Adds initial message template for expiring FWB. * VACMS-16417: Adds generic queue worker for message sending. * VACMS-16417: Adds new message queue action. * VACMS-16417: Adds missing configs. * VACMS-16417: Adds new message template for expiring FWB content. * VACMS-16417: Updates QueueMessage to send a test email. * VACMS-16417: Adds new base interface for scheduled content notifications. * VACMS-16417: Adds new aging content view. * VACMS-16417: Adds new 'create advanced queue' ECA action. * VACMS-16417: Adds aging content advancedqueue. * VACMS-16417: Removes unwanted configs from previous iterations. * VACMS-16417: Adds aging content message template (replaces aging content which was poorly named). * VACMS-16417: Adds advacnedqueue queue for aging content. * VACMS-16417: Quick null safe conditional. * VACMS-16417: Removes scheduled notifications view. * VACMS-16417: Updates aging content adding filter for expired FWB. * VACMS-16417: Stubs new canonical fwb expiration eca model. * VACMS-16417: Adds mail delivery system settings for aging content. * VACMS-16417: Removes old eca model. * VACMS-16417: Makes the create action useable. * VACMS-16417: Adds title field to message template. * VACMS-16417: Updates the fwb eca model. * VACMS-16417: Installs missing eca_content module. * VAMS-16417: Changes ID of the fwb expired eca model. * VACMS-16417: Disables by default the fwb expired eca model. * VACMS-16417: Adds theme handling for expired fwb notifications. * VACMS-16417: Adds payload data to queued job. * VACMS-16417: Adds restricted users to the job type processing. * VACMS-16417: Adds node title to payload. * VACMS-16417: Updates message template. * Specify default JSON:API Extras enhancers link fields globally (#17266) * save progress with a working solution * dummy commit * add patch for jsonapi_extras * updating lock file content hash * add settings for link enhancer * remove sample code for creating field type enhancer config * adjust config for field type enhancers * updating patch for jsonapi_extras * add exported config for field type enhancers * delete un-needed code * update composer commit hash * updating patch for jsonapi_extras * update patch to include cache tag information * adding a note to the readme doc for json:api * fixing patch so it can apply * take out caching to debug on Tugboat * add back in caching since it wasn't the issue * limit config form fields to deal with input_max_vars issue * update composer content hash * update readme * add functional test for field type enhancer for link fields * update comment * updating composer content hash * updating composer content hash * updating composer content hash * updating composer content hash * Bump va-gov/content-build from 0.0.3453 to 0.0.3455 (#17534) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3453 to 0.0.3455. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3453...v0.0.3455) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * VACMS-16732: Removes border color related to text-counter (#17449) * VACMS-16732: Removes border color related to text-counter * Revert "VACMS-16732: Removes border color related to text-counter" This reverts commit 938fce35de3eb12dc0dd5146b1316e4187902a3b. * VACMS-16732: Removes changing border behavior (at least in Staff Profile) * VACMS-16732: Adds the red styling to text when you've run out * VACMS-16732: Adds border when the form errors upon submission * VACMS-16732: Uses class that persists during editing * Bump drupal/content_model_documentation from 1.0.26 to 1.0.28 (#17543) Bumps drupal/content_model_documentation from 1.0.26 to 1.0.28. --- updated-dependencies: - dependency-name: drupal/content_model_documentation dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * VACMS-17476-Update core from 10.2.2 to 10.2.4 (#17537) * VACMS-17476-Update core from 10.2.2 to 10.2.4 * VACMS-17476-Updated-hash-for-composerlock-file. --------- Co-authored-by: Amanda Nantais-Austin * VACMS-17501: Shows and hides hours appropriately (#17536) * VACMS-17524: Removes scenario from test (#17525) * Bump va-gov/content-build from 0.0.3455 to 0.0.3456 (#17553) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3455 to 0.0.3456. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3455...v0.0.3456) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump thollander/actions-comment-pull-request from 2.4.3 to 2.5.0 (#17272) Bumps [thollander/actions-comment-pull-request](https://github.com/thollander/actions-comment-pull-request) from 2.4.3 to 2.5.0. - [Release notes](https://github.com/thollander/actions-comment-pull-request/releases) - [Commits](https://github.com/thollander/actions-comment-pull-request/compare/1d3973dc4b8e1399c0620d3f2b1aa5e795465308...fabd468d3a1a0b97feee5f6b9e499eab0dd903f6) --- updated-dependencies: - dependency-name: thollander/actions-comment-pull-request dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump palantirnet/drupal-rector from 0.18.6 to 0.20.1 (#17478) Bumps [palantirnet/drupal-rector](https://github.com/palantirnet/drupal-rector) from 0.18.6 to 0.20.1. - [Release notes](https://github.com/palantirnet/drupal-rector/releases) - [Commits](https://github.com/palantirnet/drupal-rector/compare/0.18.6...0.20.1) --- updated-dependencies: - dependency-name: palantirnet/drupal-rector dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump actions/checkout from 4.1.1 to 4.1.2 (#17544) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-17073-upgrade-allowed-formats-module. (#17548) * VACMS-17073-upgrade-allowed-formats-module. * VACMS-17073: Fix hash conflict. * Bump phpstan/phpstan from 1.10.60 to 1.10.63 (#17552) Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.60 to 1.10.63. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.10.60...1.10.63) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3456 to 0.0.3457 (#17561) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3456 to 0.0.3457. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3456...v0.0.3457) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump simplesamlphp/simplesamlphp from 2.1.1 to 2.1.3 (#17234) Bumps [simplesamlphp/simplesamlphp](https://github.com/simplesamlphp/simplesamlphp) from 2.1.1 to 2.1.3. - [Release notes](https://github.com/simplesamlphp/simplesamlphp/releases) - [Changelog](https://github.com/simplesamlphp/simplesamlphp/blob/v2.1.3/docs/simplesamlphp-changelog.md) - [Commits](https://github.com/simplesamlphp/simplesamlphp/compare/v2.1.1...v2.1.3) --- updated-dependencies: - dependency-name: simplesamlphp/simplesamlphp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump knplabs/github-api from 3.13.0 to 3.14.0 (#17562) Bumps [knplabs/github-api](https://github.com/KnpLabs/php-github-api) from 3.13.0 to 3.14.0. - [Release notes](https://github.com/KnpLabs/php-github-api/releases) - [Changelog](https://github.com/KnpLabs/php-github-api/blob/master/CHANGELOG-3.X.md) - [Commits](https://github.com/KnpLabs/php-github-api/compare/v3.13.0...v3.14.0) --- updated-dependencies: - dependency-name: knplabs/github-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump va-gov/content-build from 0.0.3457 to 0.0.3458 (#17578) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3457 to 0.0.3458. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3457...v0.0.3458) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/danse from 2.3.2 to 2.3.3 (#17576) Bumps drupal/danse from 2.3.2 to 2.3.3. --- updated-dependencies: - dependency-name: drupal/danse dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump webpack-dev-middleware in /docroot/design-system (#17589) Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 6.1.1 to 6.1.2. - [Release notes](https://github.com/webpack/webpack-dev-middleware/releases) - [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v6.1.2/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v6.1.1...v6.1.2) --- updated-dependencies: - dependency-name: webpack-dev-middleware dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump phpunit/phpunit from 9.6.17 to 9.6.18 (#17584) Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.17 to 9.6.18. - [Release notes](https://github.com/sebastianbergmann/phpunit/releases) - [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.18/ChangeLog-9.6.md) - [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.17...9.6.18) --- updated-dependencies: - dependency-name: phpunit/phpunit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump va-gov/content-build from 0.0.3458 to 0.0.3460 (#17596) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3458 to 0.0.3460. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3458...v0.0.3460) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [docs] Update broken-links.md * Bump follow-redirects in /docroot/themes/custom/vagovclaro (#17530) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump mglaman/phpstan-drupal from 1.2.7 to 1.2.8 (#17597) Bumps [mglaman/phpstan-drupal](https://github.com/mglaman/phpstan-drupal) from 1.2.7 to 1.2.8. - [Release notes](https://github.com/mglaman/phpstan-drupal/releases) - [Commits](https://github.com/mglaman/phpstan-drupal/compare/1.2.7...1.2.8) --- updated-dependencies: - dependency-name: mglaman/phpstan-drupal dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * [docs] Update broken-links.md * VACMS-17019: Cleaning up config export. (#17593) Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-12666: Add new display mode for system health services. (#17579) * Bump va-gov/content-build from 0.0.3460 to 0.0.3463 (#17616) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3460 to 0.0.3463. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3460...v0.0.3463) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump mglaman/phpstan-drupal from 1.2.8 to 1.2.9 (#17614) Bumps [mglaman/phpstan-drupal](https://github.com/mglaman/phpstan-drupal) from 1.2.8 to 1.2.9. - [Release notes](https://github.com/mglaman/phpstan-drupal/releases) - [Commits](https://github.com/mglaman/phpstan-drupal/compare/1.2.8...1.2.9) --- updated-dependencies: - dependency-name: mglaman/phpstan-drupal dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update sitewide-crew-member-onboarding.md * Bump va-gov/content-build from 0.0.3463 to 0.0.3464 (#17629) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3463 to 0.0.3464. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3463...v0.0.3464) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * VACMS-17073: Removing allowed formats module from composer. (#17635) * VACMS-17073: Removing allowed formats module from composer. * VACMS-17073: Updating hash in composer lock. * Align issuetemplates to remove legacy in-body Team selection list (#17612) * Align issuetemplates to remove legacy in-body Team selection list * Align issuetemplates to remove legacy in-body Team selection list --------- Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump phpstan/phpstan from 1.10.64 to 1.10.65 (#17627) Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.64 to 1.10.65. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.10.64...1.10.65) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-17587: Fixes revision squashing during migrate (#17637) * VACMS-17587: Add isMigrating flag to flagger service. * VACMS-17587: Add ability to set a new revision during migrate. * VACMS-17587: Update function name * VACMS-17587: Add Migrate Event Subscriber for setting the isMigrating flag. * VACMS-17587: Add check for isMigrating flag. * VACMS-17587: Toggle flag on row events and turn off during revision log updates. * VACMS-17587: Fix function descriptions. * Revert "VACMS-17073: Removing allowed formats module from composer. (#17635)" (#17650) This reverts commit 79a816cbb4e820f1c5966fce3b96145fc9357644. * Bump va-gov/content-build from 0.0.3464 to 0.0.3466 (#17662) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3464 to 0.0.3466. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3464...v0.0.3466) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3466 to 0.0.3467 (#17671) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3466 to 0.0.3467. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3466...v0.0.3467) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3467 to 0.0.3469 (#17677) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3467 to 0.0.3469. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3467...v0.0.3469) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/raven from 5.0.8 to 5.0.9 (#17615) Bumps drupal/raven from 5.0.8 to 5.0.9. --- updated-dependencies: - dependency-name: drupal/raven dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump knplabs/github-api from 3.14.0 to 3.14.1 (#17628) Bumps [knplabs/github-api](https://github.com/KnpLabs/php-github-api) from 3.14.0 to 3.14.1. - [Release notes](https://github.com/KnpLabs/php-github-api/releases) - [Changelog](https://github.com/KnpLabs/php-github-api/blob/master/CHANGELOG-3.X.md) - [Commits](https://github.com/KnpLabs/php-github-api/compare/v3.14.0...v3.14.1) --- updated-dependencies: - dependency-name: knplabs/github-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3469 to 0.0.3470 (#17690) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3469 to 0.0.3470. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3469...v0.0.3470) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/entity_clone from 2.0.0-beta4 to 2.0.0-beta5 (#17670) Bumps drupal/entity_clone from 2.0.0-beta4 to 2.0.0-beta5. --- updated-dependencies: - dependency-name: drupal/entity_clone dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump phpstan/phpstan from 1.10.65 to 1.10.66 (#17678) Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.65 to 1.10.66. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.10.65...1.10.66) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 (#17617) Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.6.0 to 2.0.0. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/c9c4182bf1b97f5224aee3906fd373f6b61b4526...0fb21704c18a42ce5aa8d720ea4b912f5e6babef) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump simplesamlphp/simplesamlphp from 2.1.3 to 2.2.1 (#17577) Bumps [simplesamlphp/simplesamlphp](https://github.com/simplesamlphp/simplesamlphp) from 2.1.3 to 2.2.1. - [Release notes](https://github.com/simplesamlphp/simplesamlphp/releases) - [Changelog](https://github.com/simplesamlphp/simplesamlphp/blob/v2.2.1/docs/simplesamlphp-changelog.md) - [Commits](https://github.com/simplesamlphp/simplesamlphp/compare/v2.1.3...v2.2.1) --- updated-dependencies: - dependency-name: simplesamlphp/simplesamlphp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-17559: Adds final steps to prevent Cypress failures (#17692) * Bump va-gov/content-build from 0.0.3470 to 0.0.3471 (#17698) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3470 to 0.0.3471. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3470...v0.0.3471) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [docs] Update sitewide-crew-member-onboarding.md * Bump va-gov/content-build from 0.0.3471 to 0.0.3472 (#17711) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3471 to 0.0.3472. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3471...v0.0.3472) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/search_api from 1.31.0 to 1.32.0 (#17697) Bumps drupal/search_api from 1.31.0 to 1.32.0. --- updated-dependencies: - dependency-name: drupal/search_api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump consolidation/site-process from 5.2.0 to 5.3.0 (#17699) Bumps [consolidation/site-process](https://github.com/consolidation/site-process) from 5.2.0 to 5.3.0. - [Release notes](https://github.com/consolidation/site-process/releases) - [Changelog](https://github.com/consolidation/site-process/blob/main/CHANGELOG.md) - [Commits](https://github.com/consolidation/site-process/compare/5.2.0...5.3.0) --- updated-dependencies: - dependency-name: consolidation/site-process dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump squizlabs/php_codesniffer from 3.8.1 to 3.9.1 (#17700) Bumps [squizlabs/php_codesniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) from 3.8.1 to 3.9.1. - [Release notes](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases) - [Changelog](https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/CHANGELOG.md) - [Commits](https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.8.1...3.9.1) --- updated-dependencies: - dependency-name: squizlabs/php_codesniffer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amanda Nantais-Austin * Bump mglaman/phpstan-drupal from 1.2.9 to 1.2.10 (#17712) Bumps [mglaman/phpstan-drupal](https://github.com/mglaman/phpstan-drupal) from 1.2.9 to 1.2.10. - [Release notes](https://github.com/mglaman/phpstan-drupal/releases) - [Commits](https://github.com/mglaman/phpstan-drupal/compare/1.2.9...1.2.10) --- updated-dependencies: - dependency-name: mglaman/phpstan-drupal dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump datadog/dd-trace from 0.98.1 to 0.99.0 (#17729) Bumps [datadog/dd-trace](https://github.com/DataDog/dd-trace-php) from 0.98.1 to 0.99.0. - [Release notes](https://github.com/DataDog/dd-trace-php/releases) - [Commits](https://github.com/DataDog/dd-trace-php/compare/0.98.1...0.99.0) --- updated-dependencies: - dependency-name: datadog/dd-trace dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * VACMS-17381: Updates views configuration. (#17721) * VACMS-17381: Updates views configuration. * VACMS-17381: Adds style changes and view changes * VACMS-17381: Removes the strong output for clinic name * VACMS-17381: Make items show on their own line. * Bump drupal/linkit from 6.1.2 to 6.1.3 (#17727) Bumps drupal/linkit from 6.1.2 to 6.1.3. --- updated-dependencies: - dependency-name: drupal/linkit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3472 to 0.0.3474 (#17757) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3472 to 0.0.3474. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3472...v0.0.3474) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump drupal/search_api from 1.32.0 to 1.33.0 (#17758) Bumps drupal/search_api from 1.32.0 to 1.33.0. --- updated-dependencies: - dependency-name: drupal/search_api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump symfony/console from 6.4.4 to 6.4.6 (#17728) Bumps [symfony/console](https://github.com/symfony/console) from 6.4.4 to 6.4.6. - [Release notes](https://github.com/symfony/console/releases) - [Changelog](https://github.com/symfony/console/blob/7.0/CHANGELOG.md) - [Commits](https://github.com/symfony/console/compare/v6.4.4...v6.4.6) --- updated-dependencies: - dependency-name: symfony/console dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump symfony/routing from 6.4.5 to 6.4.6 (#17726) Bumps [symfony/routing](https://github.com/symfony/routing) from 6.4.5 to 6.4.6. - [Release notes](https://github.com/symfony/routing/releases) - [Changelog](https://github.com/symfony/routing/blob/7.0/CHANGELOG.md) - [Commits](https://github.com/symfony/routing/compare/v6.4.5...v6.4.6) --- updated-dependencies: - dependency-name: symfony/routing dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Update Facility runbooks with new devops deploy cadence (#17756) * Bump datadog/dd-trace from 0.99.0 to 0.99.1 (#17768) Bumps [datadog/dd-trace](https://github.com/DataDog/dd-trace-php) from 0.99.0 to 0.99.1. - [Release notes](https://github.com/DataDog/dd-trace-php/releases) - [Commits](https://github.com/DataDog/dd-trace-php/compare/0.99.0...0.99.1) --- updated-dependencies: - dependency-name: datadog/dd-trace dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump va-gov/content-build from 0.0.3474 to 0.0.3476 (#17767) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3474 to 0.0.3476. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3474...v0.0.3476) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump consolidation/site-process from 5.3.0 to 5.4.0 (#17769) Bumps [consolidation/site-process](https://github.com/consolidation/site-process) from 5.3.0 to 5.4.0. - [Release notes](https://github.com/consolidation/site-process/releases) - [Changelog](https://github.com/consolidation/site-process/blob/main/CHANGELOG.md) - [Commits](https://github.com/consolidation/site-process/compare/5.3.0...5.4.0) --- updated-dependencies: - dependency-name: consolidation/site-process dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * Bump phpunit/phpunit from 9.6.18 to 9.6.19 (#17766) Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.18 to 9.6.19. - [Release notes](https://github.com/sebastianbergmann/phpunit/releases) - [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.19/ChangeLog-9.6.md) - [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.18...9.6.19) --- updated-dependencies: - dependency-name: phpunit/phpunit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> * VACMS-17774: refactored simplesamlphp params to us env variables --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michael Kinnunen Co-authored-by: Jill Adams <85581471+jilladams@users.noreply.github.com> Co-authored-by: Christian Burk Co-authored-by: Daniel Sasser Co-authored-by: Amanda Nantais-Austin Co-authored-by: Dave Pickett <51967950+davidmpickett@users.noreply.github.com> Co-authored-by: Alex Finnarn Co-authored-by: Amanda Nantais-Austin Co-authored-by: Jane Xiong --- .github/ISSUE_TEMPLATE/__cms-task.md | 8 - .github/ISSUE_TEMPLATE/_cms-epic.md | 19 +- .../ISSUE_TEMPLATE/change-management-epic.md | 9 - .../cms-collaboration-cycle-request.yml | 2 - .../cms-notification-trigger.md | 8 - .github/ISSUE_TEMPLATE/cms-section-request.md | 13 +- ...rding.md => cms-team-member-onboarding.md} | 75 +- .github/ISSUE_TEMPLATE/content-audit.md | 11 +- .github/ISSUE_TEMPLATE/content_model_spec.md | 11 +- .../cross-team-intake-request.md | 11 +- .github/ISSUE_TEMPLATE/defect-report.md | 17 - .github/ISSUE_TEMPLATE/devops-task.md | 13 +- .github/ISSUE_TEMPLATE/enhancement.md | 10 +- .../pw-forms-bad-pdf-link-pw.md | 8 - .../pw-injected-header-publish.md | 10 +- .github/ISSUE_TEMPLATE/pw-injected-header.md | 8 - .../redirect-request-facility-url.md | 11 +- .../runbook-facility-url-change.md | 2 +- .../runbook-vamc-facility-closed.md | 2 +- ...mc-facility-duplicate-or-section-change.md | 2 +- .../runbook-vamc-facility-name-change.md | 2 +- .../runbook-vamc-facility-new.md | 2 +- .../runbook-vamc-system-name-change.md | 2 +- .../runbook-vet-center-name-change.md | 2 +- ...ook-vet-center-outstation-to-vet-center.md | 2 +- .../sitewide-crew-member-onboarding.md | 416 ++++ .../tier-1-or-2-ongoing-work.md | 10 +- .github/ISSUE_TEMPLATE/ux-writing.md | 10 +- .github/workflows/contextual-advice.yml | 2 +- .github/workflows/continuous_integration.yml | 22 +- .github/workflows/cypress.yml | 4 +- .../default-branch-datadog-metrics.yml | 6 +- .github/workflows/dependabot-auto-merge.yml | 8 +- .github/workflows/pull-request-labels.yml | 2 +- .github/workflows/s3-backup-retention.yml | 4 +- .../workflows/set-tugboat-tests-pending.yml | 2 +- READMES/broken-links.md | 8 +- READMES/devops/tugboat.md | 14 + READMES/jsonapi.md | 31 + composer.json | 19 +- composer.lock | 2072 ++++++++--------- ...ueue.advancedqueue_queue.aging_content.yml | 16 + ...sage.aging_content_expired_fwb.default.yml | 54 + ...ode.health_care_local_facility.default.yml | 20 +- ...care_local_facility.inline_entity_form.yml | 2 - ...rm_display.node.person_profile.default.yml | 2 +- ...form_display.node.vba_facility.default.yml | 1 + ...e.entity_form_mode.media.asset_library.yml | 1 + ...e.entity_form_mode.media.media_browser.yml | 1 + ...e.entity_form_mode.media.media_library.yml | 1 + ...tity_form_mode.node.inline_entity_form.yml | 1 + .../core.entity_form_mode.user.register.yml | 1 + ...sage.aging_content_expired_fwb.default.yml | 52 + ...ge.aging_content_expired_fwb.mail_body.yml | 31 + ...aging_content_expired_fwb.mail_subject.yml | 41 + ...ode.health_care_local_facility.default.yml | 12 +- ...h_care_local_facility.external_content.yml | 34 +- ...e.health_care_local_facility.ief_table.yml | 2 - ...node.health_care_local_facility.teaser.yml | 2 - ...ealth_service.system_services_listings.yml | 159 ++ ...view_display.node.nca_facility.default.yml | 2 + ...lay.node.nca_facility.external_content.yml | 2 + ...gional_health_care_service_des.default.yml | 2 +- ....vamc_system_billing_insurance.default.yml | 2 + ..._system_billing_insurance.search_index.yml | 2 + ...view_display.node.vba_facility.default.yml | 3 + ...lay.node.vba_facility.external_content.yml | 4 + ...ew_display.node.vba_facility.ief_table.yml | 3 + ...y_view_display.node.vet_center.default.yml | 4 +- ...splay.node.vet_center.external_content.yml | 4 +- ...ew_display.node.vet_center_cap.default.yml | 4 +- ...e.vet_center_mobile_vet_center.default.yml | 4 +- ...ter_mobile_vet_center.external_content.yml | 4 +- ...vet_center_outstation.external_content.yml | 4 +- ...lay.paragraph.service_location.default.yml | 2 + ...m.health_care_service_taxonomy.default.yml | 2 +- .../core.entity_view_mode.block.token.yml | 1 + ...re.entity_view_mode.block_content.full.yml | 1 + ...tity_view_mode.block_content.ief_table.yml | 1 + ...e.entity_view_mode.block_content.token.yml | 1 + .../core.entity_view_mode.consumer.token.yml | 1 + ...ew_mode.content_moderation_state.token.yml | 1 + ...mode.corresponding_reference.ief_table.yml | 1 + .../sync/core.entity_view_mode.file.token.yml | 1 + ...e.entity_view_mode.media.download_link.yml | 1 + .../core.entity_view_mode.media.embedded.yml | 1 + .../sync/core.entity_view_mode.media.full.yml | 1 + .../core.entity_view_mode.media.ief_table.yml | 1 + ...e.entity_view_mode.media.media_library.yml | 1 + .../core.entity_view_mode.media.slideshow.yml | 1 + .../core.entity_view_mode.media.thumbnail.yml | 1 + .../core.entity_view_mode.media.token.yml | 1 + ...ore.entity_view_mode.media.user_guides.yml | 1 + ...tity_view_mode.menu_link_content.token.yml | 1 + .../core.entity_view_mode.message.full.yml | 1 + ...ore.entity_view_mode.message.mail_body.yml | 1 + ....entity_view_mode.message.mail_subject.yml | 1 + .../core.entity_view_mode.message.slack.yml | 1 + ....entity_view_mode.node.connect_with_us.yml | 1 + .../sync/core.entity_view_mode.node.diff.yml | 1 + ...entity_view_mode.node.external_content.yml | 1 + .../sync/core.entity_view_mode.node.full.yml | 1 + .../core.entity_view_mode.node.ief_table.yml | 1 + .../sync/core.entity_view_mode.node.rss.yml | 1 + ...ore.entity_view_mode.node.search_index.yml | 1 + ...re.entity_view_mode.node.search_result.yml | 1 + ...iew_mode.node.support_services_listing.yml | 1 + ...iew_mode.node.system_services_listings.yml | 11 + .../core.entity_view_mode.node.teaser.yml | 1 + .../sync/core.entity_view_mode.node.token.yml | 1 + ...e.entity_view_mode.paragraph.ief_table.yml | 1 + ...ore.entity_view_mode.paragraph.preview.yml | 1 + ...entity_view_mode.paragraph.user_guides.yml | 1 + ...re.entity_view_mode.taxonomy_term.full.yml | 1 + ...tity_view_mode.taxonomy_term.ief_table.yml | 1 + ...view_mode.taxonomy_term.name_with_term.yml | 1 + ...e.entity_view_mode.taxonomy_term.token.yml | 1 + ...de.taxonomy_term.vamc_facility_service.yml | 1 + ...ode.taxonomy_term.vba_facility_service.yml | 1 + ...ode.taxonomy_term.vet_center_dashboard.yml | 1 + ..._mode.taxonomy_term.vet_center_service.yml | 1 + .../core.entity_view_mode.user.compact.yml | 1 + .../sync/core.entity_view_mode.user.full.yml | 1 + .../sync/core.entity_view_mode.user.token.yml | 1 + ...core.entity_view_mode.user_history.tab.yml | 1 + config/sync/core.extension.yml | 2 + .../eca.eca.aging_content_expired_fwb.yml | 70 + config/sync/eca.eca.test.yml | 13 - config/sync/editor.editor.rich_text.yml | 6 +- .../sync/editor.editor.rich_text_limited.yml | 6 +- ...ck_content.cms_announcement.field_body.yml | 7 +- ...content_expired_fwb.field_expired_date.yml | 24 + ...ontent_expired_fwb.field_target_entity.yml | 39 + ...nt_expired_fwb.field_target_node_title.yml | 24 + config/sync/field.field.node.banner.body.yml | 6 +- ...ing_page.field_intro_text_limited_html.yml | 8 +- ...ld.field.node.centralized_content.body.yml | 6 +- ...hecklist.field_intro_text_limited_html.yml | 8 +- ...event.field_additional_information_abo.yml | 6 +- .../field.field.node.event.field_address.yml | 3 + .../field.field.node.event.field_body.yml | 3 +- ...iple_q_a.field_intro_text_limited_html.yml | 8 +- ...ode.full_width_banner_alert.field_body.yml | 7 +- ...alth_care_local_facility.field_address.yml | 2 + ...ility.field_mental_health_contact_phon.yml | 25 - ...cal_facility.field_mental_health_phone.yml | 2 +- ...ility.field_supplemental_status_more_i.yml | 7 +- ...t_images.field_intro_text_limited_html.yml | 8 +- ...t_videos.field_intro_text_limited_html.yml | 8 +- ....field.node.nca_facility.field_address.yml | 2 + ...ode.nca_facility.field_mailing_address.yml | 2 + ...field.node.news_story.field_full_story.yml | 6 +- .../field.field.node.office.field_body.yml | 8 +- ...ode.page.field_intro_text_limited_html.yml | 8 +- ...d.field.node.person_profile.field_body.yml | 5 +- ...field.node.press_release.field_address.yml | 3 + ...nal_health_care_service_des.field_body.yml | 3 +- .../field.field.node.service_region.body.yml | 5 +- ..._by_step.field_intro_text_limited_html.yml | 8 +- ...ail_page.field_intro_text_limited_html.yml | 8 +- ...field.node.va_form.field_va_form_usage.yml | 8 +- ...lerts.field_operating_status_emerg_inf.yml | 8 +- ...ds_offi.field_vamc_med_records_mailing.yml | 9 +- ...olicies_page.field_vamc_other_policies.yml | 8 +- ...cies_page.field_vamc_visitation_policy.yml | 8 +- ....field.node.vba_facility.field_address.yml | 2 + ...node.vba_facility.field_banner_content.yml | 7 +- ...ld.field.node.vet_center.field_address.yml | 3 + ...ield.node.vet_center_cap.field_address.yml | 5 +- ...enter_facility_health_servi.field_body.yml | 7 +- ...center_mobile_vet_center.field_address.yml | 3 + ...de.vet_center_outstation.field_address.yml | 3 + ....field.paragraph.address.field_address.yml | 2 + ...aph.basic_accordion.field_rich_wysiwyg.yml | 6 +- ...riptor.field_cc_documentor_description.yml | 8 +- ...h.collapsible_panel_item.field_wysiwyg.yml | 8 +- ...aragraph.expandable_text.field_wysiwyg.yml | 8 +- ...aph.featured_content.field_description.yml | 6 +- ...are_local_facility_servi.field_wysiwyg.yml | 8 +- ...h.magichead_group.field_magichead_body.yml | 7 +- ...paragraph.number_callout.field_wysiwyg.yml | 8 +- ...ld.field.paragraph.process.field_steps.yml | 8 +- ...paragraph.q_a_group.field_rich_wysiwyg.yml | 7 +- ...graph.react_widget.field_error_message.yml | 8 +- ...ich_text_char_limit_1000.field_wysiwyg.yml | 8 +- ...service_location_address.field_address.yml | 5 +- ...eld.field.paragraph.step.field_wysiwyg.yml | 8 +- ....field.paragraph.wysiwyg.field_wysiwyg.yml | 8 +- ...ity_supplemental_status.field_guidance.yml | 7 +- ...xonomy.field_va_benefit_after_applying.yml | 7 +- ...its_taxonomy.field_va_benefit_app_help.yml | 7 +- ...onomy.field_va_benefit_app_preparation.yml | 7 +- ...axonomy.field_va_benefit_brief_summary.yml | 7 +- ...taxonomy.field_va_benefit_long_summary.yml | 7 +- ..._taxonomy.field_va_benefits_elig_intro.yml | 7 +- ...eld.storage.message.field_expired_date.yml | 21 + ....node.field_mental_health_contact_phon.yml | 19 - config/sync/filter.format.plain_text.yml | 26 +- config/sync/filter.format.rich_text.yml | 78 +- .../sync/filter.format.rich_text_limited.yml | 78 +- ...onapi_extras.jsonapi_field_type_config.yml | 12 + ...age.template.aging_content_expired_fwb.yml | 7 + .../sync/language/es/views.view.eca_log.yml | 5 - config/sync/mailsystem.settings.yml | 3 + ...age.template.aging_content_expired_fwb.yml | 22 + ...ion.va_node_health_care_local_facility.yml | 28 - config/sync/node_link_report.settings.yml | 4 +- config/sync/pathologic.settings.yml | 4 +- config/sync/views.settings.yml | 2 +- config/sync/views.view.advancedqueue_jobs.yml | 1 - config/sync/views.view.aging_content.yml | 292 +++ config/sync/views.view.child_terms.yml | 1 - ...s.view.content_entity_reference_source.yml | 2 - config/sync/views.view.feedback.yml | 1 - config/sync/views.view.files.yml | 1 - config/sync/views.view.glossary.yml | 2 - .../views.view.listing_page_dashboard.yml | 1 - ...local_facilities_entity_reference_view.yml | 1 - config/sync/views.view.media.yml | 2 - config/sync/views.view.media_library.yml | 2 - config/sync/views.view.moderation_history.yml | 1 - .../sync/views.view.non_clinical_services.yml | 49 +- ...ews.view.right_sidebar_latest_revision.yml | 1 - config/sync/views.view.services.yml | 2 - config/sync/views.view.subscribe_node.yml | 1 - .../sync/views.view.subscribe_node_email.yml | 1 - .../views.view.subscribe_taxonomy_term.yml | 1 - ...ews.view.subscribe_taxonomy_term_email.yml | 1 - config/sync/views.view.subscribe_user.yml | 1 - .../sync/views.view.subscribe_user_email.yml | 1 - config/sync/views.view.taxonomy_term.yml | 2 - config/sync/views.view.tmgmt_job_items.yml | 1 - config/sync/views.view.tmgmt_job_messages.yml | 1 - config/sync/views.view.user_history.yml | 1 - config/sync/views.view.users_in_section.yml | 1 - ...views.view.vet_center_facility_listing.yml | 4 - docroot/design-system/package-lock.json | 12 +- .../js/service_location_hours.es6.js | 56 +- .../js/service_location_hours.js | 13 +- .../Logger/Processor/DatadogApmProcessor.php | 3 +- .../config/schema/va_gov_eca.views.schema.yml | 3 + .../Plugin/Action/CreateAdvancedQueueJob.php | 260 +++ .../ECA/Condition/ViewsResultCondition.php | 188 ++ .../views/display/EcaViewsResultDisplay.php | 70 + .../views.view.va_gov_eca_default_content.yml | 244 ++ .../va_gov_eca_test_views.info.yml | 5 + .../src/Kernel/ViewsResultConditionTest.php | 98 + .../custom/va_gov_eca/va_gov_eca.info.yml | 7 + .../EventSubscriber/FacilitiesSubscriber.php | 72 +- .../va_gov_facilities.services.yml | 1 + ...ion.va_node_health_care_local_facility.yml | 11 - .../src/JobTypeMessageNotifyBase.php | 174 ++ .../src/JobTypeMessageNotifyBaseInterface.php | 93 + .../JobType/AgingContentNotification.php | 17 + ...g-content-expired-fwb--mail-body.html.twig | 6 + .../va_gov_notifications.module | 4 + .../src/Service/PostFacilityStatus.php | 6 +- .../css/set_vamc_system_health_service.css | 3 + .../VAMCEntityEventSubscriber.php | 78 + .../va_gov_vamc/va_gov_vamc.libraries.yml | 5 +- .../EventSubscriber/EntityEventSubscriber.php | 5 +- .../EventSubscriber/EntityEventSubscriber.php | 32 + .../MigrateEventSubscriber.php | 63 + .../va_gov_workflow/src/Service/Flagger.php | 36 +- .../va_gov_workflow.services.yml | 5 + docroot/sites/default/default.settings.php | 22 +- docroot/sites/example.sites.php | 10 +- .../scss/components/_textfield_counter.scss | 57 +- .../assets/scss/components/_views.scss | 6 +- .../custom/vagovclaro/package-lock.json | 12 +- patches/field-type-enhancer-3025283-3.patch | 464 ++++ .../config/config.php | 364 +-- .../health_care_local_health_service.feature | 13 + .../facilities/vba/vba_facility.feature | 3 + .../vet_center_facility_service.feature | 34 + tests/phpunit/API/JsonApiRequestTest.php | 143 +- 276 files changed, 5147 insertions(+), 2254 deletions(-) rename .github/ISSUE_TEMPLATE/{cms-team-and-sitewide-crew-member-onboarding.md => cms-team-member-onboarding.md} (90%) create mode 100644 .github/ISSUE_TEMPLATE/sitewide-crew-member-onboarding.md create mode 100644 config/sync/advancedqueue.advancedqueue_queue.aging_content.yml create mode 100644 config/sync/core.entity_form_display.message.aging_content_expired_fwb.default.yml create mode 100644 config/sync/core.entity_view_display.message.aging_content_expired_fwb.default.yml create mode 100644 config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_body.yml create mode 100644 config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_subject.yml create mode 100644 config/sync/core.entity_view_display.node.health_care_local_health_service.system_services_listings.yml create mode 100644 config/sync/core.entity_view_mode.node.system_services_listings.yml create mode 100644 config/sync/eca.eca.aging_content_expired_fwb.yml delete mode 100644 config/sync/eca.eca.test.yml create mode 100644 config/sync/field.field.message.aging_content_expired_fwb.field_expired_date.yml create mode 100644 config/sync/field.field.message.aging_content_expired_fwb.field_target_entity.yml create mode 100644 config/sync/field.field.message.aging_content_expired_fwb.field_target_node_title.yml delete mode 100644 config/sync/field.field.node.health_care_local_facility.field_mental_health_contact_phon.yml create mode 100644 config/sync/field.storage.message.field_expired_date.yml delete mode 100644 config/sync/field.storage.node.field_mental_health_contact_phon.yml create mode 100644 config/sync/jsonapi_extras.jsonapi_field_type_config.yml create mode 100644 config/sync/language/en/message.template.aging_content_expired_fwb.yml create mode 100644 config/sync/message.template.aging_content_expired_fwb.yml create mode 100644 config/sync/views.view.aging_content.yml create mode 100644 docroot/modules/custom/va_gov_eca/config/schema/va_gov_eca.views.schema.yml create mode 100644 docroot/modules/custom/va_gov_eca/src/Plugin/Action/CreateAdvancedQueueJob.php create mode 100644 docroot/modules/custom/va_gov_eca/src/Plugin/ECA/Condition/ViewsResultCondition.php create mode 100644 docroot/modules/custom/va_gov_eca/src/Plugin/views/display/EcaViewsResultDisplay.php create mode 100644 docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/test_views/views.view.va_gov_eca_default_content.yml create mode 100644 docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/va_gov_eca_test_views.info.yml create mode 100644 docroot/modules/custom/va_gov_eca/tests/src/Kernel/ViewsResultConditionTest.php create mode 100644 docroot/modules/custom/va_gov_eca/va_gov_eca.info.yml create mode 100644 docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBase.php create mode 100644 docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBaseInterface.php create mode 100644 docroot/modules/custom/va_gov_notifications/src/Plugin/AdvancedQueue/JobType/AgingContentNotification.php create mode 100644 docroot/modules/custom/va_gov_notifications/templates/message--aging-content-expired-fwb--mail-body.html.twig create mode 100644 docroot/modules/custom/va_gov_vamc/css/set_vamc_system_health_service.css create mode 100644 docroot/modules/custom/va_gov_workflow/src/EventSubscriber/MigrateEventSubscriber.php create mode 100644 patches/field-type-enhancer-3025283-3.patch create mode 100644 tests/cypress/integration/features/content_type/facilities/vet_center/vet_center_facility_service.feature diff --git a/.github/ISSUE_TEMPLATE/__cms-task.md b/.github/ISSUE_TEMPLATE/__cms-task.md index 56d69a981..c108dadc1 100644 --- a/.github/ISSUE_TEMPLATE/__cms-task.md +++ b/.github/ISSUE_TEMPLATE/__cms-task.md @@ -22,11 +22,3 @@ assignees: '' - [ ] Testable_Outcome_Z - [ ] Requires design review - [ ] Requires accessibility review - -## Team -Please check the team(s) that will do this work. - -- [ ] CMS Team -- [ ] Public Websites -- [ ] Facilities -- [ ] Accelerated Publishing diff --git a/.github/ISSUE_TEMPLATE/_cms-epic.md b/.github/ISSUE_TEMPLATE/_cms-epic.md index 0ad5a2471..7e4aa568c 100644 --- a/.github/ISSUE_TEMPLATE/_cms-epic.md +++ b/.github/ISSUE_TEMPLATE/_cms-epic.md @@ -1,6 +1,6 @@ --- name: Epic -about: A epic for the CMS team. +about: Epic template title: "" labels: Epic, Needs refining assignees: '' @@ -77,20 +77,3 @@ Editor-centered ## Runbook - -## Labels -(You can delete this section once it's complete) -- [x] Issue type (red) (defaults to "Epic") -- [ ] CMS subsystem (green) -- [ ] CMS practice area (blue) -- [x] CMS workstream (orange) -- [ ] CMS-supported product (black) - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` -- [ ] `Accelerated Publishing` diff --git a/.github/ISSUE_TEMPLATE/change-management-epic.md b/.github/ISSUE_TEMPLATE/change-management-epic.md index a59598203..e80e9e58d 100644 --- a/.github/ISSUE_TEMPLATE/change-management-epic.md +++ b/.github/ISSUE_TEMPLATE/change-management-epic.md @@ -51,12 +51,3 @@ If existing videos, list URLs: ## Acceptance Criteria - [ ] All tickets have been created and assigned per [Change Management Runbook](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products/facilities/change-management) - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` -- [ ] `Accelerated Publishing` diff --git a/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml index 1350df354..ad1c5196c 100644 --- a/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml +++ b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml @@ -3,8 +3,6 @@ name: "CMS Collaboration Cycle Request" description: Use this template to begin engaging with the CMS Collaboration Cycle. title: "CMS Collaboration Cycle for [Team Name, Product Name, Feature Name]" labels: CMS Team, Needs Analysis, CMS-Collab-Cycle, Epic -assignees: - - BerniXiongA6 body: diff --git a/.github/ISSUE_TEMPLATE/cms-notification-trigger.md b/.github/ISSUE_TEMPLATE/cms-notification-trigger.md index 1f94b480d..c47efb30c 100644 --- a/.github/ISSUE_TEMPLATE/cms-notification-trigger.md +++ b/.github/ISSUE_TEMPLATE/cms-notification-trigger.md @@ -27,11 +27,3 @@ A trigger is a flag in the CMS that indicates there is an action for a user to c **6. Are there any change management implications for this trigger?** > All requests should be submitted to the Sitewide CMS team for prioritization. Please make sure to notify the Sitewide CMS team after you submit this issue on the #sitewide-cms team slack channel. - -### Team -Please check the team(s) that will do this work. - -- [X] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` diff --git a/.github/ISSUE_TEMPLATE/cms-section-request.md b/.github/ISSUE_TEMPLATE/cms-section-request.md index 18046ba8f..394b0fd2e 100644 --- a/.github/ISSUE_TEMPLATE/cms-section-request.md +++ b/.github/ISSUE_TEMPLATE/cms-section-request.md @@ -2,7 +2,7 @@ name: CMS section request about: Requests a change to the Sections hierarchy title: '' -labels: Content governance +labels: Content governance, CMS Team assignees: '' --- @@ -74,14 +74,3 @@ Examples: - [ ] New "Resources and support" sections are added under each of the three main Administrations (NCA, VHA, VBA) - [ ] All existing Resources and support content is moved to ... - [ ] Update X, Y, and Z editors about a change in content access - - - - -### Team -Please check the team(s) that will do this work. - -- [X] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` diff --git a/.github/ISSUE_TEMPLATE/cms-team-and-sitewide-crew-member-onboarding.md b/.github/ISSUE_TEMPLATE/cms-team-member-onboarding.md similarity index 90% rename from .github/ISSUE_TEMPLATE/cms-team-and-sitewide-crew-member-onboarding.md rename to .github/ISSUE_TEMPLATE/cms-team-member-onboarding.md index 7f20dc71e..7f0f0d279 100644 --- a/.github/ISSUE_TEMPLATE/cms-team-and-sitewide-crew-member-onboarding.md +++ b/.github/ISSUE_TEMPLATE/cms-team-member-onboarding.md @@ -1,5 +1,5 @@ --- -name: CMS team and Sitewide Crew member onboarding +name: CMS team member onboarding about: Create an issue for each new team member title: 'Onboarding: ' labels: Onboarding @@ -7,10 +7,10 @@ assignees: '' --- -# Welcome to the VFS-CMS / Sitewide Team! 👋 +# Welcome to the VFS-CMS Team! 👋 We're thrilled to have you join us on this journey! 🎆🎉🙌 -This team consists of three product teams: CMS team (VFS-CMS contract), and the Facilities and Public Websites teams (Sitewide contract). Our teams are cross-functional and consist of Product, Delivery/Scrummaster, UX (Research, Design, Content strategy), Backend engineering (full-stack/Drupal), and Front-end engineering. +This team consists of three product teams: CMS team (VFS-CMS contract). Our team is cross-functional and consist of Product, Delivery/Scrummaster, UX (Research, Design, Content strategy), Backend engineering (full-stack/Drupal), and Front-end engineering. The VA's north star is to "continuously deliver high-quality digital experiences for the benefit of all Veterans and their families." From a CMS-perspective, our [vision](https://docs.google.com/presentation/d/14mK-4OMeEnR_-fgj62U4lUHBHg6htj4i4ucTA5DJFzg/edit#slide=id.g11ae1dc437e_0_1) is to craft a seamless editorial experience that empowers editors to create Veteran-centered content. @@ -95,17 +95,17 @@ Github + Zenhub are the tools required for sprint boards, epics, estimates, and **Sprint boards:** You can view team sprint boards using either the Github view with Zenhub browser extension enabled, or the Zenhub webapp view. * CMS team: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/vagov-cms-team-5c0e7b864b5806bc2bfc2087/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/vagov-cms-team-5c0e7b864b5806bc2bfc2087/board) -* Facilities: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/sitewide-facilities-639f5253e4b702a32376339e/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/sitewide-facilities-639f5253e4b702a32376339e/board ) -* Public Websites: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/public-websites-6171bf4bf43742001af18cc5/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/public-websites-6171bf4bf43742001af18cc5/board) +* Sitewide Facilities and Public Websites teams also run their sprints from the same repository, and any repo / workspace changes should be mindful of not impacting their workspaces / boards: + * Facilities: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/sitewide-facilities-639f5253e4b702a32376339e/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/sitewide-facilities-639f5253e4b702a32376339e/board +) + * Public Websites: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/public-websites-6171bf4bf43742001af18cc5/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/public-websites-6171bf4bf43742001af18cc5/board) ### Process & Principles - [ ] Read about our teams' [Agile / sprint best practices](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/onboarding/library/sprint-best-practices.md) - [ ] How do Agile 6 and our partners work together on this project? Discuss with your Delivery Manager. - [ ] Read your team's Charter: * [CMS]() - * [Facilities](https://docs.google.com/document/u/1/d/1eI1w9Bcj2rlmFtxkM6Dkn_c-Srszd88UxAQimSZkVqo/edit) - * [Public Websites](https://docs.google.com/document/d/1jiq90ffon5UxAqybiEncl8feqmXhEOChlijiDBOWUtc/edit) - [ ] Check your calendar for invitations to team ceremonies. - [ ] Scrums - [ ] Planning session @@ -114,7 +114,7 @@ You can view team sprint boards using either the Github view with Zenhub browser - [ ] Retro ### People -- [ ] Familiarize yourself with our team's shared calendars: [Sitewide Team calendar](https://calendar.google.com/calendar/u/1?cid=c2l0ZXdpZGUtdGVhbUBhZ2lsZTYuY29t) and [VFS-CMS team calendar] (https://calendar.google.com/calendar/u/1?cid=vfs-cms-team@agile6.com) +- [ ] Familiarize yourself with our team's shared calendars: [VFS-CMS team calendar] (https://calendar.google.com/calendar/u/1?cid=vfs-cms-team@agile6.com) * Ask your DM to give you write access to your team calendar, if you have not already been invited * If you have time off planned, add to calendar as OOO - [ ] Let's start introducing you to the team and key stakeholders. If you're on a meeting where you don't know someone, feel free to kickstart an introduction. Everyone in the ecosystem is friendly and interested in connecting. @@ -140,7 +140,7 @@ The goal for this week is to get you set up with the tools you need to be succes - [ ] Retro ### Context & History: What products do we support? -- [ ] Review [History of sitewide product portfolio & teams mural](https://app.mural.co/t/vagov6717/m/vagov6717/1646745279937/9a5570c420939d84e875e8334fd73073e3a3971b?fromVisitorModal=true&sender=u0b235d03cbd64f7f93673243). +- [ ] Review [History of CMS / Sitewide product portfolio & teams mural](https://app.mural.co/t/vagov6717/m/vagov6717/1646745279937/9a5570c420939d84e875e8334fd73073e3a3971b?fromVisitorModal=true&sender=u0b235d03cbd64f7f93673243). - [ ] Discuss with your Delivery Manager and Product Manager for more context on your team's products. - [ ] [Review the editor onboarding slides](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/onboarding/library/https___prod.cms.va.gov_sites_default_files_2021-07_Welcome%2520to%2520the%2520new%2520VA.gov%2520CMS.pdf). - [ ] Read the [product sheets](https://github.com/department-of-veterans-affairs/va.gov-team/raw/master/platform/cms/VA-CMS-Product-Sheets.pdf) (PDF download). @@ -157,17 +157,16 @@ The goal for this week is to get you set up with the tools you need to be succes #### Slack for instant messaging - [ ] [Review Slack etiquette](https://slack.com/blog/collaboration/etiquette-tips-in-slack). - [ ] Update your profiles in Slack (in DSVA and your agency workspace): add a calendar link, profile picture, your role and team. - - [ ] Your Delivery Manager should add you to appropriate Slack user groups for the DSVA workspace (e.g. `@cms-team`, `@cms-helpdesk`, `@public-websites-team`, `@facilities-team`. Also `@cms-engineers-group` for eng.) + - [ ] Your Delivery Manager should add you to appropriate Slack user groups for the DSVA workspace (e.g. `@cms-team`, `@cms-helpdesk`. Also `@cms-engineers-group` for eng.) **Channels** -- [ ] A6/agency workspace = `#proj-sitewide-vfs-cms-team` - - [ ] DSVA workspace = `#sitewide-program`, and your team channel e.g. `#cms-team`, `#cms-platform`, `#sitewide-public-websites`, `#sitewide-facilities` + - [ ] DSVA workspace = `#sitewide-program`, and your team channel e.g. `#cms-team`, `#cms-platform` - [ ] [VA Slack Channel Overview](https://docs.google.com/spreadsheets/d/1_lZzectbSzs8zt4dvTFJTiPURxa0Kfp3xinYEuZdqq4/edit#gid=0) describes useful channels to be aware of / join. Note that many are going to be dependent on which workstream you're in (DevOps, Helpdesk, UX, etc.). Feel free to join whichever you think will aid you and your work. #### SOCKS - VA network proxy (after your Platform Orientation) The VA network is required in order to access Drupal CMS and other VA tools. Network access usually requires a VA ID card (also called a "PIV" or Smartcard). Until your paperwork is approved and you receive a PIV card, using the SOCKS proxy can provide earlier access to some of these tools. **You cannot be approved for SOCKS access until your eQip is sent and you receive a "transmittal notice" confirming receipt.** If you have received an eQip transmittal notice, but not a PIV, please complete the steps for SOCKS access. This is the first priority for week two, especially for engineers. (If your role doesn't demand immediate access to the CMS, you may be able to wait until you receive a PIV.) -This can be a complex process. Post in #sitewide-program Slack channel if you need help from a current member - we're happy to help. +This can be a complex process. Post in #sitewide-cms-platform Slack channel if you need help from a current member - we're happy to help. - [ ] Take a screenshot of your eQip transmittal notice. - [ ] [Request a Github personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). You only need to do the "repo" panel in that form and leave the other panels as is. You'll need the output of this for your SOCKS request. - [ ] File a [SOCKS proxy request](https://depo-platform-documentation.scrollhelp.site/getting-started/Internal-tools-access-via-SOCKS-proxy.1821081710.html) and select the label for your team. It may take a day or two for the SOCKS proxy request to be fulfilled before you can complete the rest of the SOCKS process. @@ -208,11 +207,11 @@ By this point you should have enough context and access to be able to start cont ### Access & Delivery **Paperwork** -- [ ] Complete any VA-assigned trainings in the TMS system. If the TMS learning modules malfunction, assign yourself the print version of the module. (Ask in #proj-sitewide-vfs-cms-team if you need help.) +- [ ] Complete any VA-assigned trainings in the TMS system. If the TMS learning modules malfunction, assign yourself the print version of the module. (Ask if you need help.) - [ ] You'll receive an email confirming that you have been approved for remote access. - [ ] **Both**: You can contact Enterprise Service desk via provided instructions to set up your remote desktop access manually, if you need access prior to receiving your PIV card. - [ ] **If on Windows**: Windows users must use the Azure Virtual Desktop (AVD). [Instructions](https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdigital.va.gov%2Femployee-resources%2Fremote-access%2Fazure-virtual-desktop%2F&data=05%7C01%7C%7Cdec2e51d4f3b472b1dec08db921d522a%7Ce95f1b23abaf45ee821db7ab251ab3bf%7C0%7C0%7C638264426849334591%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2yQ9gfPbUzsJSICXG1TvFY8LJhsVKE%2FGB12%2Bs%2FPNrlY%3D&reserved=0). You'll need network access to reach that link, which you should receive instructions in email for how to achieve. - - [ ] **If on Mac / Linux**: Mac users will also use Azure Virtual Desktop (AVD) _eventually._ As of Aug 2023, if you are a new hire on Mac, you are a guinea pig. Do your best with these instructions, ask your DM for help if they don't work, and ask your DM to update this [issuetemplate](https://github.com/department-of-veterans-affairs/va.gov-cms/edit/main/.github/ISSUE_TEMPLATE/cms-team-and-sitewide-crew-member-onboarding.md) with correct notes after it's all sorted out. Mac users have 2 options: + - [ ] **If on Mac / Linux**: Mac users will also use Azure Virtual Desktop (AVD) _eventually._ As of Aug 2023, if you are a new hire on Mac, you are a guinea pig. Do your best with these instructions, ask your DM for help if they don't work, and ask your DM to update this [issuetemplate](https://github.com/department-of-veterans-affairs/va.gov-cms/edit/main/.github/ISSUE_TEMPLATE/cms-team-member-onboarding.md) with correct notes after it's all sorted out. Mac users have 2 options: - [ ] 1. Azure web client: https://client.wvd.microsoft.com/arm/webclient/, IF you have a PIV card. There is an Azure desktop client but it won’t work on a mac because the mac application doesn’t support PIV authentication. . (Try using Firefox and make sure pop-ups are allowed, at least for the MS domain if not globally (they are not allowed by default). Enter your VA email address. Connect your PIV card reader to your computer, and insert the card in the reader. Select ‘Sign in using an X.509 certificate’. - [ ] 2. Citrix Access Gateway (CAG): use your Enterprise Service desk credentials or PIV card to log onto CAG and request an exemption [here](https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.gov.powerapps.us%2Fplay%2Fe%2Fdefault-e95f1b23-abaf-45ee-821d-b7ab251ab3bf%2Fa%2F5823591d-4113-4f49-ba75-ea95a5081b41%3FtenantId%3De95f1b23-abaf-45ee-821d-b7ab251ab3bf%26source%3Dportal&data=05%7C01%7C%7Cdec2e51d4f3b472b1dec08db921d522a%7Ce95f1b23abaf45ee821db7ab251ab3bf%7C0%7C0%7C638264426849490249%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=36fW8GZiUuh1AhaokCn47xqF41PolOoaT40f%2BfGsDBs%3D&reserved=0) - [ ] After your background check is complete, you will get an email to get your Personal Identify Verification (PIV) card. Contact your local VA office (where you got your fingerprints taken) for information about getting your [PIV card](https://www.oit.va.gov/programs/piv/how-to.cfm?). @@ -270,7 +269,7 @@ Each repository includes READMEs to help with setup. - [ ] Test User Dashboard: https://tud.vfs.va.gov/ and [Test User Dashboard docs](https://depo-platform-documentation.scrollhelp.site/developer-docs/test-user-dashboard-guide). In lower environments, we are encouraged not to use our actual login credentials to test authed work. The TUD provides a set of test users you can use to login to various environments for testing. - [ ] [Datadog](https://depo-platform-documentation.scrollhelp.site/developer-docs/get-access-to-datadog) to access monitoring metrics (write licenses are limited, so only read-only might be available) - [ ] [GraphQL Explorer](https://staging.cms.va.gov/graphql/explorer) - GraphQL acts as the Drupal content API, for building queries that can be used in FE templates. The Explorer (on Staging) will allow you to test those queries. -- [ ] Browse the [Topic Dives videos](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/teams/sitewide/topic-dives) - includes CMS content, and non-CMS topics for Facilities & Public Websites teams as well +- [ ] Browse the [Topic Dives videos](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/teams/sitewide/topic-dives) - includes CMS content, and some non-CMS topics for Sitewide teams as well @@ -342,15 +341,13 @@ Your discipline lead will assist with onboarding tasks / calls. - You'll get an invite during Week 3-ish. - [ ] Attend design onboarding call 2: [Partners](https://docs.google.com/presentation/d/1__iyFNPB03u850nXDjG4uRgK0jmCL16e5PradD29jmk/edit) - You'll get an invite during Week 3-ish. -- [ ] Reading (this is more for Public Websites and Facilities teams, but helpful context for everyone) +- [ ] Reading - [Collaboration Cycle](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/collaboration-cycle-kickoff) - [Research Overview](https://depo-platform-documentation.scrollhelp.site/research-design/research-overview) - [VA Design System](https://design.va.gov/) - [ ] Install tools and request access from your DM, if not already provided - - [ ] Sketch (for designers on Public Websites or Facilities) + - [ ] Figma - [ ] [Mural](https://app.mural.co/t/departmentofveteransaffairs9999) - when you have been assigned your VA email address, ask your DM to add you to Team folders in Mural. Without a VA email, other users can share the Visitor link to Murals so you can view them meantime. - - [ ] Figma (for designers on Sitewide CMS) - - [ ] Airtable (for Research / Content strategists) - [ ] Review and start getting acquainted with existing design systems. - [ ] Helpful Slack channels to join - #accessibility-ops @@ -386,48 +383,10 @@ Your discipline lead will assist with onboarding tasks / calls. ## Onboarding for Delivery Managers - [ ] Request your onboarding buddy provide access to [CMS Support distro group](https://mim.va.gov/IdentityManagement/default.aspx) - must access on VA network (requires PIV card + CAG access) - [ ] Review Contract responsibilities doc for your contract: - * [Sitewide](https://docs.google.com/document/d/1IXyXzenfdVoSM7O5KklLsI1aBIdLM6PVQJbuIevdgiw/edit) * [VFS-CMS](https://docs.google.com/document/d/1rFEZapZUxRfTAxogad7jSyOdx1YIL_w5Rqh8KLps0aY/edit) - [ ] Review Sprint reporting runbook for your contract: - * [Sitewide](https://docs.google.com/document/d/1aI1QMXZMYRaqVj7QbqYF9FIQ7ittD4VXyYQWWMLJ5Ow/edit) * [VFS-CMS](https://docs.google.com/document/d/1YUWAVU6741qgVcE-07ZN14LdXyWCqVZX67fYCsgGL9c/edit) - [ ] Review other Delivery documents in [Google Drive](https://drive.google.com/drive/u/1/folders/1mFC5NCUkeQlGX2S8TIpD1om2V-5B0ikc) - - -### Team-specific onboarding (CMS, Facilities, Public Websites) -Remove the sections that don't apply - -
CMS Team Onboarding - - ## Onboarding for CMS - -
- -
Facilities Team Onboarding - - ## Onboarding for Facilities - - [ ] Read the [Facilities team charter](https://docs.google.com/document/d/1eI1w9Bcj2rlmFtxkM6Dkn_c-Srszd88UxAQimSZkVqo/edit#) - - [ ] [Facilities product portfolio notes ](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products/facilities) - -
- -
Public Websites Team Onboarding - - ## Onboarding for Public Websites - - [ ] Read the [Public Websites team charter](https://docs.google.com/document/d/1jiq90ffon5UxAqybiEncl8feqmXhEOChlijiDBOWUtc/edit#heading=h.tu2ayudos7uc) - - [ ] [Public Websites product portfolio documentation ](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products/public-websites) - -
- - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` -- [ ] `Accelerated Publishing` diff --git a/.github/ISSUE_TEMPLATE/content-audit.md b/.github/ISSUE_TEMPLATE/content-audit.md index 2f751375c..f4e106cc8 100644 --- a/.github/ISSUE_TEMPLATE/content-audit.md +++ b/.github/ISSUE_TEMPLATE/content-audit.md @@ -2,7 +2,7 @@ name: Content Audit about: Submit a request to perform a content audit across VA.gov. title: 'Content Audit: ' -labels: Content audit +labels: Content audit, CMS Team assignees: dawnpruitt, EWashb --- @@ -21,12 +21,3 @@ Please provide any context for the audit, any related terms or alternate spellin - [ ] No ## 5. When do you need the audit to be completed - - -### Team -Please check the team(s) that will do this work. - -- [x] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` diff --git a/.github/ISSUE_TEMPLATE/content_model_spec.md b/.github/ISSUE_TEMPLATE/content_model_spec.md index 52b107e45..977ae04a0 100644 --- a/.github/ISSUE_TEMPLATE/content_model_spec.md +++ b/.github/ISSUE_TEMPLATE/content_model_spec.md @@ -22,13 +22,4 @@ SO THAT I can implement it in Drupal ## Acceptance Criteria - [ ] Proposed entities, fields, and field properties are documented using the [content model spec template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/content-model/drupal_content_model_spec_template.xlsx) - [ ] Reviewed with engineering & product -- [ ] Send to CMS Collab Cycle - - -## Team -Please check the team(s) that will do this work. - -- [ ] CMS Team -- [ ] Public Websites -- [ ] Facilities -- [ ] Accelerated Publishing +- [ ] Send to CMS Collab Cycle \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/cross-team-intake-request.md b/.github/ISSUE_TEMPLATE/cross-team-intake-request.md index f681d53b2..e2cc086a7 100644 --- a/.github/ISSUE_TEMPLATE/cross-team-intake-request.md +++ b/.github/ISSUE_TEMPLATE/cross-team-intake-request.md @@ -31,13 +31,4 @@ Please provide: ## Acceptance Criteria - [ ] The Product Manager for the recommended intake team is pinged through Slack about the issue - [ ] The Product Manager has discussed with the respective Product Owner to determine prioritization -- [ ] Any decisions made on prioritization or implementation are communicated back to the originating team - -### Team -Please check the team you project will do this work. If not sure, select "Program". - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` -- [ ] `Accelerated Publishing` +- [ ] Any decisions made on prioritization or implementation are communicated back to the originating team \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/defect-report.md b/.github/ISSUE_TEMPLATE/defect-report.md index edb64123c..6e2f112c9 100644 --- a/.github/ISSUE_TEMPLATE/defect-report.md +++ b/.github/ISSUE_TEMPLATE/defect-report.md @@ -31,20 +31,3 @@ Add any other context about the problem here. Reach out to the Product Managers - OS: [e.g. iOS] - Browser [e.g. chrome, safari] - Version [e.g. 22] - -## Labels -(You can delete this section once it's complete) -- [x] Issue type (red) (defaults to "Defect") -- [ ] CMS subsystem (green) -- [ ] CMS practice area (blue) -- [x] CMS workstream (orange) (not needed for bug tickets) -- [ ] CMS-supported product (black) - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` -- [ ] `Accelerated Publishing` diff --git a/.github/ISSUE_TEMPLATE/devops-task.md b/.github/ISSUE_TEMPLATE/devops-task.md index b6801b377..19be21cac 100644 --- a/.github/ISSUE_TEMPLATE/devops-task.md +++ b/.github/ISSUE_TEMPLATE/devops-task.md @@ -2,19 +2,10 @@ name: DevOps task about: A task for the CMS DevOps team. title: "" -labels: DevOps, Needs refining +labels: DevOps, Needs refining, CMS Team assignees: '' --- ### Tasks: -- [ ] Task 1... - - -### Team -Please check the team(s) that will do this work. - -- [x] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` +- [ ] Task 1... \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md index f4f70ef6d..d745c364a 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.md +++ b/.github/ISSUE_TEMPLATE/enhancement.md @@ -40,12 +40,4 @@ Editor-centered - [ ] `Efficient`: Remove distractions and create clear, straightforward paths to get the job done. - [ ] `Approachable`: Offer friendly guidance over authoritative instruction. - [ ] `Consistent`: Reduce user’s mental load by allowing them to fall back on pattern recognition to complete tasks. -- [ ] `Empowering`: Provide clear information to help editors make decisions about their work. - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` +- [ ] `Empowering`: Provide clear information to help editors make decisions about their work. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/pw-forms-bad-pdf-link-pw.md b/.github/ISSUE_TEMPLATE/pw-forms-bad-pdf-link-pw.md index dd46c4963..354563344 100644 --- a/.github/ISSUE_TEMPLATE/pw-forms-bad-pdf-link-pw.md +++ b/.github/ISSUE_TEMPLATE/pw-forms-bad-pdf-link-pw.md @@ -40,11 +40,3 @@ Steps to reproduce the behavior: ## Acceptance Criteria - [ ] Form page loads & form can be downloaded - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [X] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` diff --git a/.github/ISSUE_TEMPLATE/pw-injected-header-publish.md b/.github/ISSUE_TEMPLATE/pw-injected-header-publish.md index 9b4e93ff3..0ce00081b 100644 --- a/.github/ISSUE_TEMPLATE/pw-injected-header-publish.md +++ b/.github/ISSUE_TEMPLATE/pw-injected-header-publish.md @@ -19,12 +19,4 @@ This ticket adds new domain(s) to allowlists that gate the injected header. When ## Acceptance Criteria - [ ] Devops PRs to add www & non-www domain(s) have merged - [ ] Requesting team has signed off that they're ready to publish -- [ ] On requested domain(s) the global header is injected on page load, with no cookie updates required - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [X] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` +- [ ] On requested domain(s) the global header is injected on page load, with no cookie updates required \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/pw-injected-header.md b/.github/ISSUE_TEMPLATE/pw-injected-header.md index 6cf190a9c..e2932570b 100644 --- a/.github/ISSUE_TEMPLATE/pw-injected-header.md +++ b/.github/ISSUE_TEMPLATE/pw-injected-header.md @@ -42,11 +42,3 @@ After PW updates allowlists, the requesting team will need to test on Staging by ## Acceptance Criteria - [ ] On the requested domains, when setting cookie in the console the global header is injected - [ ] Let DM know when your changes have deployed to production, so they can notify the requesting team - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [X] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` diff --git a/.github/ISSUE_TEMPLATE/redirect-request-facility-url.md b/.github/ISSUE_TEMPLATE/redirect-request-facility-url.md index 0b72b313b..5dbd46dc5 100644 --- a/.github/ISSUE_TEMPLATE/redirect-request-facility-url.md +++ b/.github/ISSUE_TEMPLATE/redirect-request-facility-url.md @@ -13,7 +13,7 @@ assignees: '' - [ ] Link the related facility closure / rename issue. - [ ] Create a URL redirect in the [devops](https://github.com/department-of-veterans-affairs/devops) repo in `ansible/deployment/config/revproxy-vagov/vars/redirects.yml` - [ ] Add the "Awaiting redirect" flag to the facility node with a revision log message that includes a link to this ticket, preserving the node's current moderation state. -- [ ] Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. After deploy, validate that the URL redirect is deployed. (Note: In the event of a facility closure or a name change, validate that this occurs before making the Lighthouse csv changes.) +- [ ] Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. After deploy, validate that the URL redirect is deployed. (Note: In the event of a facility closure or a name change, validate that this occurs before making the Lighthouse csv changes.) - [ ] Update this ticket with a comment that the redirect has been deployed. - [ ] Remove the "Awaiting redirect" flag on the facility node with a revision log message that includes a link to this ticket, preserving the node's current moderation state. @@ -24,12 +24,3 @@ When does this request need to be live: | Current URL | Redirect Destination or New URL | | --- | --- | | current URL | new URL | - - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [x] `Facilities` -- [x] `User support` diff --git a/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md b/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md index 7d15d046c..4a0260c1f 100644 --- a/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md @@ -16,7 +16,7 @@ When does this request need to be live: - [ ] Link the related facility closure / rename issue. - [ ] Create a URL redirect in the [devops](https://github.com/department-of-veterans-affairs/devops) repo in `ansible/deployment/config/revproxy-vagov/vars/redirects.yml` - [ ] Add the "Awaiting redirect" flag to the facility node with a revision log message that includes a link to this ticket, preserving the node's current moderation state. -- [ ] Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. After deploy, validate that the URL redirect is deployed. (Note: In the event of a facility closure or a name change, validate that this occurs before making the Lighthouse csv changes.) +- [ ] Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. After deploy, validate that the URL redirect is deployed. (Note: In the event of a facility closure or a name change, validate that this occurs before making the Lighthouse csv changes.) - [ ] Update this ticket with a comment that the redirect has been deployed. - [ ] Remove the "Awaiting redirect" flag on the facility node with a revision log message that includes a link to this ticket, preserving the node's current moderation state. - [ ] Notify helpdesk via comment on ticket or Slack message in #cms-support that changes are ready for review. diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-closed.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-closed.md index 9248eb6a7..47ad57863 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-closed.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-closed.md @@ -95,7 +95,7 @@ Thank you for your help! #### CMS Engineer steps - [ ] 6. Execute the steps of the URL change request ticket from step 5 above. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) #### Drupal Admin steps (CMS Engineer or Helpdesk) _Help desk will complete these steps or escalate to request help from CMS engineering._ diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-duplicate-or-section-change.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-duplicate-or-section-change.md index d5b07e7e7..19940951d 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-duplicate-or-section-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-duplicate-or-section-change.md @@ -41,7 +41,7 @@ If there has been a section change, which results in a change to the facility UR -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) #### CMS engineer steps (the new facility) diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-name-change.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-name-change.md index a88b272ff..7d3466877 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-name-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-name-change.md @@ -39,7 +39,7 @@ What happens: The name change is made in VAST, that syncs to Lighthouse which sy #### CMS Engineer steps - [ ] 3. Execute the steps of the URL change request ticket from step 2 above. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the following items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the following items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) #### Drupal Admin steps (CMS Engineer or Help desk) _Help desk will complete these steps or escalate to request help from CMS engineering._ diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md index a715301c0..1103d6b61 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md @@ -61,7 +61,7 @@ Please let us know when your draft content is complete, so that we can wrap up t #### CMS engineer steps - [ ] 7. CMS engineer executes the steps of the URL change request ticket from step 5 above. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) #### Drupal Admin steps (CMS Engineer or Help desk) _Help desk will complete these steps or escalate to request help from CMS engineering._ diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-system-name-change.md b/.github/ISSUE_TEMPLATE/runbook-vamc-system-name-change.md index 43ccb1f7e..6a0008ae6 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-system-name-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-system-name-change.md @@ -34,7 +34,7 @@ Timing around these is critical and we may need more detail here. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) #### CMS engineer steps - [ ] 2. Execute the steps of the URL change request ticket from step 1. diff --git a/.github/ISSUE_TEMPLATE/runbook-vet-center-name-change.md b/.github/ISSUE_TEMPLATE/runbook-vet-center-name-change.md index 922428a20..ba22b1556 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vet-center-name-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-vet-center-name-change.md @@ -38,7 +38,7 @@ Facility API ID: ### CMS engineer steps - Vet Center only (not Outstation/MVC) - [ ] 3. Execute the steps of the URL change request ticket from step 2. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) ### Drupal Admin steps (CMS Engineer or Help desk) _Help desk will complete these steps or escalate to request help from CMS engineering._ diff --git a/.github/ISSUE_TEMPLATE/runbook-vet-center-outstation-to-vet-center.md b/.github/ISSUE_TEMPLATE/runbook-vet-center-outstation-to-vet-center.md index 8eca6d6ac..17c15466c 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vet-center-outstation-to-vet-center.md +++ b/.github/ISSUE_TEMPLATE/runbook-vet-center-outstation-to-vet-center.md @@ -50,7 +50,7 @@ Facility API ID: ### CMS engineer steps - [ ] 9. Execute the steps of the URL change request ticket from step 8. -(Redirects deploy weekly on Wed. at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) +(Redirects deploy daily except Friday at 10am ET, or by requesting OOB deploy (of the revproxy job to prod) in #vfs-platform-support. Coordinate the items below and canonical URL change after URL change ticket is merged, deployed, and verified in prod.) ### Drupal Admin steps _Help desk will complete these steps or escalate to request help from CMS engineering._ diff --git a/.github/ISSUE_TEMPLATE/sitewide-crew-member-onboarding.md b/.github/ISSUE_TEMPLATE/sitewide-crew-member-onboarding.md new file mode 100644 index 000000000..d69741ac3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/sitewide-crew-member-onboarding.md @@ -0,0 +1,416 @@ +--- +name: Sitewide Crew member onboarding +about: Create an issue for each new team member +title: 'Onboarding: ' +labels: Onboarding +assignees: '' + +--- +Projected start date: + +**Team info** +- **Onboarding buddy** (short check-in meetings the first week): +- **Team name:** +- **Delivery Manager name:** @jilladams +- **Product Manager name:** +- **Discipline lead name:** + +# Welcome to the Sitewide Team! 👋 +We're thrilled to have you join us on this journey! 🎆🎉🙌 + +The onboarding materials below are organized by: +* chronological time to complete (day one, week one, week two, month one) +* and category + +There's a lot to digest but don't worry, you'll have an onboarding buddy to provide support, your Delivery Manager can answer questions, and you'll have the support of the entire team, who have all gone through this process before and are eager to answer any questions that arise. Come back to this ticket any time to refresh your knowledge on a specific topic covered below. Have fun and we look forward to getting to know you! 😊 + +## Our mission +In contract language: +> The Sitewide team’s mission is to increase VA’s ability to deliver consistent, accessible, quality information across the VA.gov ecosystem. In accordance with the 21st Century Idea Act, the Sitewide team has a strong emphasis on integrating with or creating single-source- of-truth (SSOT) content structures. The Sitewide team subsequently uses these structures to build experiences on VA.gov in a predominantly unauthenticated user-space targeted toward Veterans, family members, and beneficiaries while other teams may, in a future state, access these same content structures via the Content Management System or other application programming interface (API)-based infrastructures in other experiences such as chatbot, mobile app, or other experiences to ensure accurate and consistent messaging. Sitewide builds and maintains these experiences using the VA.gov design system as well as user- centered design, mobile-first and accessibility-first practices. + +The VA's north star is to "continuously deliver high-quality digital experiences for the benefit of all Veterans and their families." From a CMS-perspective, our [vision](https://docs.google.com/presentation/d/14mK-4OMeEnR_-fgj62U4lUHBHg6htj4i4ucTA5DJFzg/edit#slide=id.g11ae1dc437e_0_1) is to craft a seamless editorial experience that empowers editors to create Veteran-centered content. + + +## Our team +The Sitewide contract team consists of 2 product teams: Facilities and Public Websites. Our teams are cross-functional and consist of Product Manager, Delivery Manager, UX (Research, Design, Content strategy, Accessibility), Backend engineering (full-stack/Drupal), and Front-end engineering. We also closely collaborate with the CMS team and Platform teams who own the platforms we build on. + +
Day one + +## Day one +Your top priority is any onboarding paperwork provided by Contract Onboarding folks. Start tasks below after that. + +### Process & Principles +- [ ] Read through our [Sitewide team norms](https://docs.google.com/document/d/1cs5FePhtR0LIJi63b9ZtqT7T6dphgB584UpfEbejSOc/edit#), which will also give an overview of how we apply the [USDS playbook](https://playbook.cio.gov/) and VA.gov platform [code of conduct](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/policies-work-norms/code-of-conduct.md). +- [ ] Watch the 1/31/2024 [State of OCTO recording](https://dvagov.sharepoint.com/:v:/r/sites/oitdigitaltransformation/Tech%20Tuesday%20Files/20240131%20-%202024%20State%20of%20OCTO.mp4?csf=1&web=1&e=4jqObK) and review the [related slides](https://dvagov.sharepoint.com/:b:/s/oitdigitaltransformation/ERxPpNTQ6RxFlLpEjXbkg4ABaiBTOdXohIZ1OkksPwlnvw?e=ayadXo), to understand OCTO's vision and north star goals for this year. +- [ ] Read the [VA's Office of the CTO (OCTO) engineering excellence guiding principles](https://dsva.slack.com/archives/C04KXPXL4/p1674065912579799) [post in DSVA slack] + +### People +- [ ] Meet with A6 Contract Onboarding Specialists (COS) to get an introduction to the paperwork process. They'll schedule. +- [ ] [Sitewide Team org chart (Mural)](https://app.mural.co/t/departmentofveteransaffairs9999/m/vagov6717/1653588059793/7a260edabca9535d25d71fac1035c979261c223c?sender=u0b235d03cbd64f7f93673243) - take a look and bookmark this for future use +- [ ] Get to know your team: Read your [team members' user manuals](https://drive.google.com/drive/u/0/folders/195otsT1IUxi_k8oEU21TUkvEG-6p5YQj?ths) +- [ ] Create your own User Manual: duplicate [the template](https://docs.google.com/document/d/1Rvtoo8CQvE7dptcqmMVqmJ_hbKSNWJ983NXkDj_gVg0/edit?usp=share_link), fill it out, and save your manual in your team's folder. + - [ ] Share your user manual with the team in #proj-sitewide Slack, once you've created it! + +
+ +
Week one + +## Week one +The goals of this week are: +1) get background paperwork completed as quickly as possible +2) start gaining context for what we're doing and why + +### Access & Delivery +**Paperwork** +You'll receive an email from A6 COS directing you to the paperwork you should fill out for secure access to relevant VA systems. Federal contractors are required to complete many of the same forms as federal employees. +- [ ] Complete & submit your initial paperwork according to instructions, including setting up your fingerprinting appointment. +- [ ] When you are notified to complete your e-QIP (the online version of the federal standard investigation form, SF 86), it will require a lot of background & family information. [Review page 7 of the SF 86 guide](https://www.dcsa.mil/Portals/91/Documents/pv/mbi/standard-form-sf-86-guide-for-applicants.pdf) in advance for the list of information you'll need to collect to complete e-QIP. +- [ ] Our team uses [a shared Google Drive](https://drive.google.com/drive/u/0/folders/0ADx85_gnl3Y4Uk9PVA?ths=true) for internal team documents or drafts. VA doesn't have access to view Google products while on the VA network. Use Github or downloadable files when sharing with VA. +- [ ] Trello for retro boards & daily scrum. (Workspaces are limited to 10 members on the free plan.) + * Facilities: https://trello.com/w/sitewidefacilities + * Public Websites: https://trello.com/w/publicwebsites3 + * Sitewide UX: https://trello.com/w/sitewideux + +### Process & Principles +- [ ] Read about our teams' [Agile / sprint best practices](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/teams/sitewide/sitewide-sprint-practices.md) +- [ ] How do Agile 6 and our partners work together on this project? Discuss with your Delivery Manager. +- [ ] Read your team's Charter: + * [Facilities](https://docs.google.com/document/u/1/d/1eI1w9Bcj2rlmFtxkM6Dkn_c-Srszd88UxAQimSZkVqo/edit) + * [Public Websites](https://docs.google.com/document/d/1jiq90ffon5UxAqybiEncl8feqmXhEOChlijiDBOWUtc/edit) +- [ ] Check your calendar for invitations to team ceremonies. + - [ ] Scrums + - [ ] Planning session + - [ ] Refinement session(s) + - [ ] Demo + - [ ] Retro + +### People +- [ ] Familiarize yourself with our team's shared [Sitewide Team calendar](https://calendar.google.com/calendar/u/1?cid=c2l0ZXdpZGUtdGVhbUBhZ2lsZTYuY29t) + * Ask your DM to give you write access to your team calendar, if you have not already been invited + * If you have time off planned, add to calendar as OOO +- [ ] Let's start introducing you to the team and key stakeholders. If you're on a meeting where you don't know someone, feel free to kickstart an introduction. Everyone in the ecosystem is friendly and interested in connecting. + +### Context & History +- [ ] How does the team fit into the larger OCTO ecosystem? [View the CMS-driven product portfolio mapped to product teams and business partners (Mural)](https://app.mural.co/t/departmentofveteransaffairs9999/m/departmentofveteransaffairs9999/1686789362540/fb8f73b8d536f088e56bd3e38f0e37141560f62a?sender=u0b235d03cbd64f7f93673243) +- [ ] How are products owned today? [View the History of sitewide product portfolio](https://app.mural.co/t/departmentofveteransaffairs9999/m/vagov6717/1646745279937/9a5570c420939d84e875e8334fd73073e3a3971b?fromVisitorModal=true&sender=u0b235d03cbd64f7f93673243) + - [ ] Discuss with your Delivery Manager and Product Manager for more context on your team's products. +- [ ] Contract - Feel free to look over the [Sitewide Performance Scope of Work](https://drive.google.com/file/d/1IiV1ySKLXCNhS5sjUHiElgfg0HTKE1sP/view?usp=drive_link) and ask your Delivery Manager anything you would like to know about your contract. +- [ ] For history of the VA's Drupal CMS itself, [watch the Drupal GovCon presentation about the project](https://www.youtube.com/watch?v=WN4bGjEuQdM). +- [ ] For history of the modernized VA.gov initiative and why the VA Medical Centers changed their websites, watch the [2-minute YouTube video](https://youtu.be/Xrv5wCv6cKY). +- [ ] Why are Vet Centers important to Veterans? Watch the [2-minute YouTube video](https://www.youtube.com/watch?v=VMzkZNbKk1I). +
+ +
After Fingerprinting / SAC Adjudication + +## After Fingerprinting / SAC Adjudication + +After you've been fingerprinted and received government confirmation (SAC Adjudication), your Delivery manager will add you to VA Slack and VA Github. + +Note: Prior to eQip transmittal, the VA may grant network access. However: VA contractors should not access the VA network until the eQIP has been transmitted to the DCSA. Please refrain from accessing VA network (via CAG, Azure or otherwise) and do not request a temporary access password until you have submitted your eQip and received a transmittal notice. + +### Slack + +- [ ] OCTO (DSVA) Slack: https://dsva.slack.com/. Update your profile, to include at minimum: + - [ ] Profile photo + - [ ] Title, Team, Agency (in Title) + - [ ] Time zone + - [ ] Contact information: agency email, and phone if you're willing + - [ ] About me: VA email once you have one + - [ ] Calendar URL - Get the sharable link for your Google Calendar from Settings/"Access permissions for events" and add it to your Slack Profile. This will allow team members in other organizations to easily schedule with you. + - [ ] Github alias + - [ ] Working hours +- [ ] Your Delivery Manager should add you to appropriate Slack user groups for the DSVA workspace (e.g. `@public-websites-team`, `@facilities-team`. Also `@sitewide-engineers` for eng.) + +**Channels** +- [ ] A6/agency workspace = `#proj-sitewide` +- [ ] DSVA workspace = `#sitewide-program`, and your team channel e.g. `#sitewide-public-websites`, `#sitewide-facilities` +- [ ] [VA Slack Channel Overview](https://docs.google.com/spreadsheets/d/1_lZzectbSzs8zt4dvTFJTiPURxa0Kfp3xinYEuZdqq4/edit#gid=0) describes useful channels to be aware of / join. Note that many are going to be dependent on your discipline. Feel free to join whichever you think will aid you and your work. + +### Github / Zenhub configuration +Github + Zenhub are the tools required for sprint boards, epics, estimates, and issue tracking for our team, as well as code version control. To work successfully: +- [ ] New Hire: Create a Github user account +- [ ] New Hire: Add your agency email address to your Github account at https://github.com/settings/emails +- [ ] Delivery Manager: Creates a [Github request](https://github.com/department-of-veterans-affairs/github-user-requests/issues/new?labels=add-user-to-org%2C+new-user%2C+user-created&template=add-user-to-the-va-organization.md&title=ADD+USER+TO+ORG+-+%5BUSERNAME%5D) to add your Github user to the Dept of VA Github organization. This will provide you with access to view VA repositories. +- [ ] New Hire: Accept the Github org invitation. It will appear as a yellow banner at the top of https://github.com/department-of-veterans-affairs +- [ ] Delivery Manager: After invite is accepted, add user to the [VFS-CMS team](https://github.com/orgs/department-of-veterans-affairs/teams/vfs-cms-team/members). You must be added to this team to contribute to [va.gov-cms repository](https://github.com/department-of-veterans-affairs/va.gov-cms/) code and issues in Github. +- [ ] New Hire: Install the [Zenhub browser extension](https://www.zenhub.com/extension) in your browser of choice +- [ ] Delivery Manager: Log into app.zenhub.com, click "Invite your team" button in lower left sidebar, invite new hire via their agency email address. This will generate a license request that must be approved by Zenhub admins within the VA. In the meantime, new hires may see a "You do not have a license" message when they log in to app.zenhub.com. +- [ ] VA Zenhub Admins: Must approve the license request. If they're slow about it, in DSVA slack, use @zenhub-admins to mention and request help. Licenses might not be approved until after the new hire has been fingerprinted. +- [ ] New Hire: Verify Zenhub access by logging into app.zenhub.com, using Google auth with your agency email address. **Do not use Github oauth**. It's no longer supported by the VA. + +**Github documentation** +- [ ] New to Github and markdown? [Learn about writing on Github](https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github) or [watch a tutorial video](https://youtu.be/TBbtbKplUoc). Required for ongoing product documentation in https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products. +- [ ] [Intro to CMS Team Github](https://github.com/department-of-veterans-affairs/va.gov-cms#readme) - describes an overview of the CMS product in terms of repositories and architecture. Drupal engineers will require this information but **UX** and **Product Managers** should strive to build a working familiarity with the CMS + +**Sprint boards:** +You can view team sprint boards using either the Github view with Zenhub browser extension enabled, or the Zenhub webapp view. +* **Facilities**: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/sitewide-facilities-639f5253e4b702a32376339e/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/sitewide-facilities-639f5253e4b702a32376339e/board +) +* **Public Websites**: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/public-websites-6171bf4bf43742001af18cc5/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/public-websites-6171bf4bf43742001af18cc5/board) +* **Sitewide UX**: [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms#workspaces/sitewide-ux-660b03e631d26904d60775f5/board), [Zenhub webapp view](https://app.zenhub.com/workspaces/sitewide-ux-660b03e631d26904d60775f5/board) +* **CMS team**: also runs their sprints from the same repository, and any repo / workspace changes should be mindful of not impacting their [Github view](https://github.com/department-of-veterans-affairs/va.gov-cms/#workspaces/vagov-cms-team-5c0e7b864b5806bc2bfc2087/board), or [Zenhub webapp view](https://app.zenhub.com/workspaces/vagov-cms-team-5c0e7b864b5806bc2bfc2087/board) + +### General VA Access +- [ ] Open a VA.gov [Platform orientation ticket](https://depo-platform-documentation.scrollhelp.site/getting-started/guidance-for-new-teams-and-team-members#Guidancefornewteamsandteammembers-NewVFSteammembers). + * The VA.gov Platform team manages VA.gov tooling and network access. In order to receive access to many tools you'll need day to day, you must access the SOCKS network proxy (described later). For SOCKS access, you must + 1. complete the steps described in the link above + 2. complete your eQip paperwork and receive/provide a screenshot of the email with your E-QIP transmittal date, + 3. Complete a virtual Platform orientation. + * When those steps are complete, the VA Platform team will add you to the VFS Team Roster located in [Atlas](https://www.va.gov/atlas/). This will allow you to get SOCKS access. + +
+ + + +
Week two + +## Week two +The goal for this week is to get you set up with the tools you need to be successful. We will pair you up with a buddy on the project that is in your same discipline to help inform which ones are relevant and which aren't. **The most important thing is to complete your eQip** in order to unlock SOCKS access, as it will give you access to our systems so try to prioritize that. + +### Context & History: What products do we support? +- [ ] OUTDATED but useful for high level context: [CMS product sheets](https://github.com/department-of-veterans-affairs/va.gov-team/raw/master/platform/cms/VA-CMS-Product-Sheets.pdf) (PDF download), describe various CMS-driven products. Points of contact and links may be broken. + +### Access & Delivery +- [ ] [Opt out](https://www.va.gov/analytics-opt-out.html) of Google Analytics collection on VA.gov. + - [ ] More information: https://depo-platform-documentation.scrollhelp.site/analytics-monitoring/google-analytics-opt-out +- [ ] Opt out of analytics for Platform's website by clicking https://depo-platform-documentation.scrollhelp.site/?internal-user-opt-out=true. **You will not get a confirmation message** and will have to do this for every browser and every time you clear cookies. +
+ + +
After eQip Transmittal notice received + +## After eQip Transmittal notice received + +### VA Network access +After you receive eQip Transmittal notice, you should receive an email confirming that you have been approved for remote access. + +If you need access prior to receiving your PIV card, You can contact Enterprise Service desk via provided instructions to set up your remote desktop access manually. + +Once you have a temporary password, you can get on the VA network to access the links below. See [VA network remote access options](https://www.oit.va.gov/resources/remote-access/index.cfm?). + +#### **If on Windows**: +Windows users must use the Azure Virtual Desktop (AVD). +* [Azure virtual desktop OIT link](https://www.oit.va.gov/resources/remote-access/azure-virtual-desktop/) +* [Instructions](https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdigital.va.gov%2Femployee-resources%2Fremote-access%2Fazure-virtual-desktop%2F&data=05%7C01%7C%7Cdec2e51d4f3b472b1dec08db921d522a%7Ce95f1b23abaf45ee821db7ab251ab3bf%7C0%7C0%7C638264426849334591%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2yQ9gfPbUzsJSICXG1TvFY8LJhsVKE%2FGB12%2Bs%2FPNrlY%3D&reserved=0). You'll need network access to reach that link, which you should receive instructions in email for how to achieve. + +#### **If on Mac / Linux**: +Mac users will also use Azure Virtual Desktop (AVD) _eventually._ As of Aug 2023, if you are a new hire on Mac, you are a guinea pig. Do your best with these instructions, ask your DM for help if they don't work, and ask your DM to update this [issuetemplate](https://github.com/department-of-veterans-affairs/va.gov-cms/edit/main/.github/ISSUE_TEMPLATE/cms-team-and-sitewide-crew-member-onboarding.md) with correct notes after it's all sorted out. Mac users have 2 options: + +- [ ] 1. Azure web client: https://client.wvd.microsoft.com/arm/webclient/, IF you have a PIV card. There is an Azure desktop client but it won’t work on a mac because the mac application doesn’t support PIV authentication. . (Try using Firefox and make sure pop-ups are allowed, at least for the MS domain if not globally (they are not allowed by default). Enter your VA email address. Connect your PIV card reader to your computer, and insert the card in the reader. Select ‘Sign in using an X.509 certificate’. +- [ ] 2. Citrix Access Gateway (CAG): use your Enterprise Service desk credentials or PIV card to log onto CAG and request an exemption [here](https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.gov.powerapps.us%2Fplay%2Fe%2Fdefault-e95f1b23-abaf-45ee-821d-b7ab251ab3bf%2Fa%2F5823591d-4113-4f49-ba75-ea95a5081b41%3FtenantId%3De95f1b23-abaf-45ee-821d-b7ab251ab3bf%26source%3Dportal&data=05%7C01%7C%7Cdec2e51d4f3b472b1dec08db921d522a%7Ce95f1b23abaf45ee821db7ab251ab3bf%7C0%7C0%7C638264426849490249%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=36fW8GZiUuh1AhaokCn47xqF41PolOoaT40f%2BfGsDBs%3D&reserved=0) + +### SOCKS - VA network proxy (after your Platform Orientation) +The VA network is required in order to access Drupal CMS and other VA tools. VA Network access typically requires a VA Personal Identity Verification (PIV) card with a chip reader. Until your paperwork is approved and you receive a PIV card, using the SOCKS proxy can provide earlier access to some of these tools. + +**You cannot be approved for SOCKS access until your eQip is sent and you receive a "transmittal notice" confirming receipt.** If you have received an eQip transmittal notice, but not a PIV, please complete the steps for SOCKS access. This is the first priority for week two, especially for anyone who will require access to Drupal (UX, engineers, Product Management, etc.). If your role doesn't demand immediate access to the CMS, you may be able to wait until you receive a PIV. + +This can be a complex process. Post in #sitewide-program Slack channel if you need help from a current member - we're happy to help. + - [ ] Take a screenshot of your eQip transmittal notice. + - [ ] [Request a Github personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). You only need to do the "repo" panel in that form and leave the other panels as is. You'll need the output of this for your SOCKS request. + - [ ] File a [SOCKS proxy request](https://depo-platform-documentation.scrollhelp.site/getting-started/Internal-tools-access-via-SOCKS-proxy.1821081710.html) and select the label for your team. It may take a day or two for the SOCKS proxy request to be fulfilled before you can complete the rest of the SOCKS process. + - [ ] Attach your eQip transmittal notice screenshot. This is an acknowledgement that your paperwork is being processed from a security standpoint. You cannot receive SOCKS access prior to this point in your onboarding. + - [ ] Add a comment to note the status of your Platform orientation / link to your Platform orientation ticket. (This should have been requested on day one but is here as a reminder that this is a blocker for SOCKS access.) +- [ ] Optional [Core Tunnel set up for SOCKS proxy on all browsers on Mac](https://www.youtube.com/watch?v=fSuN9LhkB5o) + +You can file the SOCKS request before completing your Platform Orientation, but it may not be approved/fulfilled until after orientation is completed. + +### Drupal +Drupal is the VA's content management system (CMS) of choice. For anyone on our team, it's beneficial to have a CMS user account so you can login, look at settings, and understand how Drupal works at a high level. If you need help completing the technical steps here, schedule 30 mins with your Delivery Manager. + - [ ] **Drupal production access**: (SOCKS or VA network required) - in DSVA #cms-support channel, use the Slack workflow to file a helpdesk support request. Ask the helpdesk to create a Drupal user for you in [prod.cms.va.gov](https://prod.cms.va.gov). + * DevOps team members require an administrator account. (SOCKS or VA access with PIV card required) + * Standard practice for other roles is to have minimal access in prod (content editor or even a blocked account) and full admin access in lower environments. + - [ ] [View Topic Dives](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/teams/sitewide/topic-dives) (short presentations on specific topics). Topics include site alerts, release and deploy, Facility API, etc. + - [ ] [Browse the VA Drupal CMS Knowledge Base articles](https://prod.cms.va.gov/help/). + - [ ] What is Drupal? [Link list for Drupal context and community](https://docs.google.com/spreadsheets/d/11ppWiIggKJh-YAWia28utZXW48tJZGCEg-sFJ6eIl9c) + - [ ] If you have a Drupal.org account, add your Agency & VA. Drupal.org > Login > My Account > Edit profile > Work tab > Add your agency, and "Department of Veterans Affairs" & save. This will help our team track Drupal open source contributions. + +#### Tugboat demo environments +Tugboat is a development server platform where you can preview CMS code changes pre-production, along with staged changes from branches in other code repos (content-build & vets-website). SOCKS is required for Tugboat access. + - [ ] [Tugboat for engineers](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/tugboat.md) + - [ ] [Tugboat for non-engineers](https://prod.cms.va.gov/help/demo-environments-tugboat-guides) SOCKS required + +
+ +
Month one + +## Month one +By this point you should have enough context and access to be able to start contributing. Work with your team to identify specific issues to focus on. + +### People +- [ ] Who are our VA points of contact? Discuss with your Delivery Manager or Product Manager. +- [ ] Who should we know on the platform teams? Discuss with your Delivery Manager or Product Manager. +
+ +
After background check cleared + +## After background check cleared +This is your last access hurdle! Congratulations. + +After your background check is complete, you will get an email to get your Personal Identify Verification (PIV) card. + +- [ ] Contact your local VA office (where you got your fingerprints taken) for information about getting your [PIV card](https://www.oit.va.gov/programs/piv/how-to.cfm?). + - [ ] Review a [video about the benefits of the PIV card and VA network access](https://youtu.be/6rI-i8zmOzE). + + + - [ ] PIV card will help you get remote VA network access. + - [ ] Purchase a card reader, if you don't have one. A6 IT recommends these options: [USB](https://www.amazon.com/gp/product/B002N3MM6W/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&th=1) or [USB-C](https://www.amazon.com/gp/product/B002N3MM6W/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&th=1) + - [ ] Use your PIV card to access the VA Network (whether via CAG or Azure). + - [ ] Set a calendar reminder to access the VA Network every 60 days. If not accessed every 60 days, your access will be removed. You may be removed from VA Github or other toold, or required to re-complete your eQip and background check. Please avoid that. +- [ ] Complete any VA-assigned trainings in the TMS system. If the TMS learning modules malfunction, assign yourself the print version of the module. (Ask in #proj-sitewide-vfs-cms-team if you need help.) + +
+ + +### Discipline specific onboarding (UX, developers, helpdesk, etc.) +Remove the sections that don't apply + +- [ ] What do I need to know about my discipline on this team (Product Management, UX, Engineering)? Discuss with your discipline lead. +- [ ] What applications or discipline-specific tools are needed? Discuss with your discipline lead. + + +
Onboarding for Engineers + +## Onboarding for Engineers + + ### VA Platform documentation + - [ ] [VA Platform documentation](https://depo-platform-documentation.scrollhelp.site/developer-docs/) - the VA Platform team centrally support all product development teams, including infrastructure and much developer tooling. + - [ ] [VA Technical Architecture Overview](https://github.com/department-of-veterans-affairs/va.gov-team-sensitive/blob/master/platform/engineering/TechnicalArchitectureOverview.md) - describes technical architecture of va.gov (+ api.va.gov) + +### Dev environment configuration +Each repository includes READMEs to help with setup. +- [ ] CMS workflow: https://github.com/department-of-veterans-affairs/va.gov-cms#readme. (If you are developing for the front-end, you may not need to set up the CMS repo immediately. It's the home of much engineering documentation for our team, however, so is worth reviewing as a starting point.) +- [ ] Front-end workflow: https://depo-platform-documentation.scrollhelp.site/developer-docs/frontend-workflow +- [ ] [Front-end steps to run & build VA.gov locally](https://depo-platform-documentation.scrollhelp.site/developer-docs/run-and-build-va-gov-locally) + +### Repositories +* CMS: https://github.com/department-of-veterans-affairs/va.gov-cms - Drupal +* content-build: https://github.com/department-of-veterans-affairs/content-build - Node.js, Metalsmith. Templating layer, "the back-end of the front-end" +* vets-website: https://github.com/department-of-veterans-affairs/vets-website - Node.js / React apps. "The front-end of the front-end." +* vets-api: https://github.com/department-of-veterans-affairs/vets-api - Ruby +* devops: https://github.com/department-of-veterans-affairs/devops - Primarily owned by Platform team, we contribute regex for redirects. + +### Build systems / Environments +- [ ] Deployments: https://depo-platform-documentation.scrollhelp.site/developer-docs/deployments + - [ ] [CMS & Front-end Repos & Build jobs - cheatsheet](https://docs.google.com/spreadsheets/d/164H07n4FChg-JxJZu964nfg2wAX0kPD0SjTfZMhzj_I/edit#gid=0) - unofficial documentation to help navigate build system timings / channels for notifications +- [ ] [Front-end deployment dashboard](https://department-of-veterans-affairs.github.io/veteran-facing-services-tools/frontend-support-dashboard/) - **bookmark this** - displays the deployment status of commits in `content-build` and `vets-website`, through Dev > Staging > Prod +- [ ] [Learn about the different Drupal environments](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/environments.md) - explains the CMS > content build process and data source / snapshot timing for all lower environments + - [ ] If you are using a non-VA laptop for development you will need [follow the instructions on Github](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/https.md) to trust the VA Root Certificate Authority (CA) in your browser(s) + +### Design system + - [ ] Review the [VA.gov Design System](https://design.va.gov/) which includes [how to provide feedback]([https://design.va.gov/about/feedback](https://design.va.gov/about/feedback)) + - [ ] CMS Design System: documentation TBD + + +### Tools & Resources +- [ ] [VA.gov tools overview](https://depo-platform-documentation.scrollhelp.site/getting-started/Request-access-to-tools.969605215.html) + - [ ] [Access to dev & staging to be able to replicate the SSO piece of the login experience](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/5838) (SOCKS or VA access with PIV card required) + - [ ] Test User Dashboard: https://tud.vfs.va.gov/ and [Test User Dashboard docs](https://depo-platform-documentation.scrollhelp.site/developer-docs/test-user-dashboard-guide). In lower environments, we are encouraged not to use our actual login credentials to test authed work. The TUD provides a set of test users you can use to login to various environments for testing. + - [ ] [Datadog](https://depo-platform-documentation.scrollhelp.site/developer-docs/get-access-to-datadog) to access monitoring metrics (write licenses are limited, so only read-only might be available) +- [ ] [GraphQL Explorer](https://staging.cms.va.gov/graphql/explorer) - GraphQL acts as the Drupal content API, for building queries that can be used in FE templates. The Explorer (on Staging) will allow you to test those queries. +- [ ] Browse the [Topic Dives videos](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/teams/sitewide/topic-dives) - includes CMS content, and non-CMS topics for Facilities & Public Websites teams as well + +
+ +
Onboarding for Product Managers + +### PM Role expectations & access + - [ ] [VA doc: Expectations for how VA internal Product Lead / Product Owners work with contractor PMs](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/octo/product/Product%20Expectations.md) + - [ ] [Request access to Google Analytics and Domo](https://depo-platform-documentation.scrollhelp.site/analytics-monitoring/New-Users-to-Google-Analytics.1877704964.html) + +### Platform governance +The VA's Platform team provides guidance and oversight on quality for things like Research studies & recruitment, Design system implementation, Accessibility requirements, test coverage expectations, and requirements for launches. Product Managers guide teams through this process, so it's beneficial to get familiar with their guidance documentation: + +- [ ] [Platform Collab Cycle documentation](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/) + - [ ] [Platform Collab Cycle calendar](https://calendar.google.com/calendar/u/0/embed?src=c_7iurst2mk3hdhfuto5u7lemgbk@group.calendar.google.com&ctz=America/New_York) -- bookmark this for use when scheduling Collab Cycle touchpoints +- [ ] [Research Overview](https://depo-platform-documentation.scrollhelp.site/research-design/research-overview) +- [ ] [VA Design System](https://design.va.gov/) + +**CMS Collab Cycle** +As of April 2024, the CMS Collab Cycle will be integrated into the Platform Collab Cycle. New documentation is TBD. + +### Tracking features shipping +Product Managers are often involved in launch day activity and change management. Our environments are complex, and where the code was written will have a lot to do with when it deploys or how simple launch day will be. It's beneficial to build a basic familiarity with our environments, for that reason. +- [ ] [CMS & Front-end Repos & Build jobs - cheatsheet](https://docs.google.com/spreadsheets/d/164H07n4FChg-JxJZu964nfg2wAX0kPD0SjTfZMhzj_I/edit#gid=0) - unofficial documentation to help navigate understanding our build systems & channels for notifications +- [ ] [Front-end deployment dashboard](https://department-of-veterans-affairs.github.io/veteran-facing-services-tools/frontend-support-dashboard/) - **bookmark this** - displays the status of fixes/enhancements as they deploy through Dev > Staging > Prod (for both content-build and vets-website) +- [ ] [Learn about the different Drupal environments](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/environments.md) - explains the CMS > content build process and data source / snapshot timing for all lower environments + +
+ +
Onboarding for UX members + +## Onboarding for UX members +Your discipline lead will assist with onboarding tasks / calls. + +- [ ] Watch this Jan 2023 [UX team presentation](https://us06web.zoom.us/rec/share/4KOJ0HC3aRvggbXXXBNzVS83OEjqLfzdqwZuNhX-mpCg8ncrGwbJeqIIBaBIvWBx.rfe9-oe9zDmb4VcX) +(Passcode: QPg1Pn9#) for context on our UX work. +- [ ] Review the correlated [UX Workflow Presentation for Onsite (Mural)](https://app.mural.co/t/departmentofveteransaffairs9999/m/vagov6717/1672866433309/4685dabc03895968380c82a6138bf1cc3090384b?sender=u9c899abc4fe36c9a698b1647) +- [ ] Join DSVA #design slack channel and request that your agency and VA email addresses be added to the invite for the weekly Monday VA Design/UX Sync meeting (@mention Cailin O'Connor) +- [ ] Other helpful Slack channels to join + - #research-ops - required for anyone who will run research studies + - #accessibility-help + - #accessibility-ops + - #cms-design + - #inclusive-design + + + +### Platform governance +The VA's Platform team provides guidance and oversight on quality for things like Research studies & recruitment, Design system implementation, Accessibility requirements, and requirements for launches. UX folks will actively participate in several steps of this cycle, so it's beneficial to get familiar with guidance documentation: + - [Collaboration Cycle](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/collaboration-cycle-kickoff) + - [Research Overview](https://depo-platform-documentation.scrollhelp.site/research-design/research-overview) + - [VA Design System](https://design.va.gov/) + +### Tools +Install tools and request access from your DM, if not already provided + - [ ] Sketch (for designers on Public Websites or Facilities) + - [ ] [Mural](https://app.mural.co/t/departmentofveteransaffairs9999) - when you have been assigned your VA email address, create a Mural access request, following steps listed here in this [OIT document](https://yourit.va.gov/va?sys_kb_id=8d7faa191be83d14018220a5624bcbd5&id=kb_article_view&sysparm_rank=1&sysparm_tsqueryId=f4c33931478d869cc38978e8c26d4324) (accessible on VA network). Without a VA email, other users can share the Visitor link to Murals so you can view them meantime. + - [ ] ask your DM to add you to Team folders in Mural. + - [ ] Figma (for designers on Sitewide CMS) + - [ ] Review and start getting acquainted with existing design systems. +- [ ] Fonts to download + - Lucida Grande [download from fontsgeek.com](https://fontsgeek.com/fonts/Lucida-Grande-Regular) + - Source Sans Pro [download from Google Fonts](https://fonts.google.com/specimen/Source+Sans+Pro) + - Bitter [download from Google Fonts](https://fonts.google.com/specimen/Bitter) +- [ ] Download a [markdown cheat sheet](https://cheatography.com/lucbpz/cheat-sheets/the-ultimate-markdown/pdf/) [optional] +- [ ] Aren't comfortable with Github? It's cool. We have people who can help. + - [ ] Watch the "Github / pull request basics for non-engineers" [Topic Dive](https://va-gov.atlassian.net/wiki/spaces/VAGOV/pages/1714094110/CMS+Topic+Dives) + - [ ] Ask in #proj-sitewide team who could Github geek out with you to answer your burning questions -- guarantee someone will volunteer. + +### Research specifics +- [ ] Review https://depo-platform-documentation.scrollhelp.site/research-design/ + - [ ] [Sign up for the next research and design orientation session](https://calendly.com/collaboration-cycle/design-orientation-for-va-gov-platform) + - [ ] After orientation, you should be added to the [va.gov-research-repository](https://github.com/department-of-veterans-affairs/va.gov-research-repository). Verify your access. + +
+ +
Onboarding for Delivery Managers + +## Onboarding for Delivery Managers +- [ ] Review Contract responsibilities doc for [Sitewide](https://docs.google.com/document/d/1IXyXzenfdVoSM7O5KklLsI1aBIdLM6PVQJbuIevdgiw/edit) +- [ ] Review Sprint reporting runbook for [Sitewide](https://docs.google.com/document/d/1aI1QMXZMYRaqVj7QbqYF9FIQ7ittD4VXyYQWWMLJ5Ow/edit) +- [ ] Review other Delivery documents in [Google Drive](https://drive.google.com/drive/u/1/folders/1mFC5NCUkeQlGX2S8TIpD1om2V-5B0ikc) +- [ ] Review the Performance scope of work for this contract (request from account strategy) + +
+ + +### Team-specific onboarding (Facilities, Public Websites) +Remove the sections that don't apply + + +
Facilities Team Onboarding + + ## Onboarding for Facilities + - [ ] Read the [Facilities team charter](https://docs.google.com/document/d/1eI1w9Bcj2rlmFtxkM6Dkn_c-Srszd88UxAQimSZkVqo/edit#) + - [ ] [Facilities product portfolio notes ](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products/facilities) + - [ ] Take your time to look over the [Facilities onboarding mural](https://app.mural.co/t/departmentofveteransaffairs9999/m/departmentofveteransaffairs9999/1695856839558/7869f5644c50c0447de07631d3fe85f86ae2c9a7?sender=u0b235d03cbd64f7f93673243), by product. It's overwhelming at first glance, so we recommend bookmarking to step through this as you have work that pertains to any specific product. + +
+ +
Public Websites Team Onboarding + + ## Onboarding for Public Websites + - [ ] Read the [Public Websites team charter](https://docs.google.com/document/d/1jiq90ffon5UxAqybiEncl8feqmXhEOChlijiDBOWUtc/edit#heading=h.tu2ayudos7uc) + - [ ] [Public Websites product portfolio documentation ](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/products/public-websites) + +
diff --git a/.github/ISSUE_TEMPLATE/tier-1-or-2-ongoing-work.md b/.github/ISSUE_TEMPLATE/tier-1-or-2-ongoing-work.md index a9c525dbc..81d4f61dc 100644 --- a/.github/ISSUE_TEMPLATE/tier-1-or-2-ongoing-work.md +++ b/.github/ISSUE_TEMPLATE/tier-1-or-2-ongoing-work.md @@ -19,12 +19,4 @@ Tier 2 expectations here: https://docs.google.com/document/d/15oe0wtGI_MdaScYpjJ ### Table to help track issues and approximate time spent | Date | Issue | Resolution | Time Spent | -| -- | -- | -- | -- | - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [x] `Facilities` -- [x] `User support` +| -- | -- | -- | -- | \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/ux-writing.md b/.github/ISSUE_TEMPLATE/ux-writing.md index fc9c82a33..fb89db5fe 100644 --- a/.github/ISSUE_TEMPLATE/ux-writing.md +++ b/.github/ISSUE_TEMPLATE/ux-writing.md @@ -37,12 +37,4 @@ E.g. *As a user who may be making changes to content, I'd like a message that wa - [ ] Validate draft with those responsible for the work - [ ] Peer review by a member of the design pod - [ ] Finalize edits to text, and mark as ready to implement in the original issue -- [ ] Document strategy behind language choices that are relevant to [the CMS content style guide](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/platform/cms/content-style-guide) - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [ ] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` +- [ ] Document strategy behind language choices that are relevant to [the CMS content style guide](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/platform/cms/content-style-guide) \ No newline at end of file diff --git a/.github/workflows/contextual-advice.yml b/.github/workflows/contextual-advice.yml index 9923cacb4..eac4ec057 100644 --- a/.github/workflows/contextual-advice.yml +++ b/.github/workflows/contextual-advice.yml @@ -17,7 +17,7 @@ jobs: # branch or its commits, regardless of provenance. # # Do not execute any code located within the repository! - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index e21798631..ae88b650c 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Check Corresponding Entity Reference Fields # See also `composer va:test:check-cer` in composer.json run: ./tests/scripts/check-cer.sh @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Composer Validate run: composer validate @@ -38,7 +38,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Post-Checkout Actions uses: ./.github/actions/post-checkout - name: ReviewDog @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Post-Checkout Actions uses: ./.github/actions/post-checkout - name: Run PHP_CodeSniffer and ReviewDog @@ -79,7 +79,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Post-Checkout Actions uses: ./.github/actions/post-checkout - name: Run PHPLint @@ -92,7 +92,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Post-Checkout Actions uses: ./.github/actions/post-checkout - name: Run PHPStan and ReviewDog @@ -119,7 +119,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Post-Checkout Actions uses: ./.github/actions/post-checkout - name: Run PHPUnit (Unit Tests only) @@ -136,7 +136,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Stylelint modules # See also `composer va:test:stylelint-modules` in composer.json uses: reviewdog/action-stylelint@eadef3f639793f2b361a4719ee8720bf5055a0ff # v1.22.1 @@ -164,11 +164,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 with: fetch-depth: 0 - name: Delete any existing comment. - uses: thollander/actions-comment-pull-request@1d3973dc4b8e1399c0620d3f2b1aa5e795465308 # v2.4.3 + uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0 continue-on-error: true with: comment_tag: check-composer-lock-changes @@ -184,7 +184,7 @@ jobs: echo "LINES_CHANGED=$LINES_CHANGED" >> $GITHUB_ENV echo "THRESHOLD=$THRESHOLD" >> $GITHUB_ENV - name: Comment if composer.lock changes exceed threshold. - uses: thollander/actions-comment-pull-request@1d3973dc4b8e1399c0620d3f2b1aa5e795465308 # v2.4.3 + uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0 if: env.LINES_CHANGED > env.THRESHOLD continue-on-error: true with: diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 51e4ec554..003fec0db 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -30,14 +30,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 with: # When Sorry-Cypress support is enabled on `main`, this should be # removed so that the `main` version of the workflow is used ref: ${{ inputs.commit_sha }} - name: Setup the Node environment - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '18.13' diff --git a/.github/workflows/default-branch-datadog-metrics.yml b/.github/workflows/default-branch-datadog-metrics.yml index d5d4f2756..3bbadc571 100644 --- a/.github/workflows/default-branch-datadog-metrics.yml +++ b/.github/workflows/default-branch-datadog-metrics.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - uses: ./.github/actions/post-checkout - name: Find occurrences of "Implements hook" in *.module files. id: hook_implementations @@ -75,7 +75,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - uses: ./.github/actions/post-checkout - name: Run PHPUnit (Unit Tests only) run: bin/phpunit \ @@ -197,7 +197,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - uses: ./.github/actions/post-checkout - name: Run PHPLOC and parse output for metrics. id: phploc_code_quality diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 7c68d4871..12f473dc4 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -15,13 +15,13 @@ jobs: # will not occur. - name: Dependabot metadata id: dependabot-metadata - uses: dependabot/fetch-metadata@c9c4182bf1b97f5224aee3906fd373f6b61b4526 # v1.6.0 + uses: dependabot/fetch-metadata@0fb21704c18a42ce5aa8d720ea4b912f5e6babef # v2.0.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" # Checkout repo to make package allow list available - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 # Use a YAML formatted config file to list which dependencies can be auto-merged - name: Read list of Allowed Auto-merge Dependencies @@ -31,7 +31,7 @@ jobs: # Get the initial AWS IAM User credentials. Only has basic permissions for sts:assumeRole - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -39,7 +39,7 @@ jobs: # Get credentials from our SSM role. Least privilege method for AWS IAM. - name: Configure AWS Credentials (2) - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/pull-request-labels.yml b/.github/workflows/pull-request-labels.yml index a69a1cbbf..3ea3911be 100644 --- a/.github/workflows/pull-request-labels.yml +++ b/.github/workflows/pull-request-labels.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 with: token: "${{ secrets.GITHUB_TOKEN }}" - name: Autolabel diff --git a/.github/workflows/s3-backup-retention.yml b/.github/workflows/s3-backup-retention.yml index 584b75424..d2791c0c6 100644 --- a/.github/workflows/s3-backup-retention.yml +++ b/.github/workflows/s3-backup-retention.yml @@ -21,7 +21,7 @@ jobs: # Get the initial AWS IAM User credentials. Only has basic permissions for sts:assumeRole - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -36,7 +36,7 @@ jobs: # Get credentials from our s3 role. Least privilege method for AWS IAM. - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/set-tugboat-tests-pending.yml b/.github/workflows/set-tugboat-tests-pending.yml index dda9db6f8..fa4e38c8d 100644 --- a/.github/workflows/set-tugboat-tests-pending.yml +++ b/.github/workflows/set-tugboat-tests-pending.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Set status for Tugboat tasks. run: | test_names=( diff --git a/READMES/broken-links.md b/READMES/broken-links.md index 150d2b7a4..f30645038 100644 --- a/READMES/broken-links.md +++ b/READMES/broken-links.md @@ -22,13 +22,13 @@ tests all links from a page rendered to the anonymous user. It looks for broken links, links to pages that are unpublished and links that may have accessibility issues. +Legitimate links can be exempted in [Prod's node link report](https://prod.cms.va.gov/admin/config/content/node_link_report) under "Domains that should be exempt from processing" after they have been confirmed to be legitimate. + **Drawbacks:** - Cached, so it only updates on node save or 24hr, whichever comes first. - Some external domains are blocked by the VA network, so there are links -that get falsely reported as broken. They can be exempted in -`/admin/config/content/node_link_report` once they have been confirmed to -be legitimate. +that get falsely reported as broken. - Some external sites block the useragent that we use to check the link, which results in a falsely reported broken link. These can also be exempted. @@ -42,7 +42,7 @@ are found, the content release is considered a failure and does not occur. CMS team is to respond and remedy if this happens. -The broken links are reported to both the [#vfs-platform-builds](https://dsva.slack.com/archives/C0MQ281DJ) and [#content-broken-links](https://dsva.slack.com/archives/C030F5WV2TF) channels in Slack. +The broken links are reported to [#content-broken-links](https://dsva.slack.com/archives/C030F5WV2TF) channels in Slack. CMS Team support triages reported broken links following a [defined process](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/helpdesk/broken-link-process.md). diff --git a/READMES/devops/tugboat.md b/READMES/devops/tugboat.md index e0551b3ef..a64bc9d30 100644 --- a/READMES/devops/tugboat.md +++ b/READMES/devops/tugboat.md @@ -56,6 +56,20 @@ Shelling into the Tugboat server can be accomplished with `ssm-session tugboat u 2. Suspend older previews. This normally happens automatically (for Pull Request-based previews that haven't been touched in some period of time), but a flurry of previews might have been created inadvertently. 3. Consider upscaling the Tugboat server or migrating to an alternative architecture. +### Previews inaccessible +**Symptoms**: Requests to Tugboat previews, i.e. cms- pr pr- return 502/504 status codes or time out. + +**Verification**: + +1. Log into the Tugboat server (`ssm-session utility tugboat auto`). +2. Check system load and free memory (e.g. `top`). +3. If load is NOT incredibly high, and available memory is NOT very low, then the Tugboat server might be dealing with a proxy issue. + +**Remediation**: + +1. Run `tbctl restart proxy` and `tbctl restart traefik` + + ## 🚨 Warning 🚨 Note that the "training" environment (https://training.cms.va.gov/) is the source of truth for who has and who has not completed the editorial training; it should not be rebuilt or otherwise tampered with without previously discussing with Helpdesk. diff --git a/READMES/jsonapi.md b/READMES/jsonapi.md index 18b72fd19..704c88c18 100644 --- a/READMES/jsonapi.md +++ b/READMES/jsonapi.md @@ -48,3 +48,34 @@ You can find JSON:API tests in the following places: - 'tests/phpunit/API/JsonApiRequestTest' - Tests GET requests and associated configuration. - 'tests/phpunit/API/JsonApiExplorerUITest' - Tests Swagger UI for OpenAPI documentation. + +## Field Type Enhancers + +JSON:API Extras allows "field enhancers" to change the normalized output sent back in a response. These are set in +configuration on "/admin/config/services/jsonapi/resource_types", but there is no way to use current configuration +and code to set a default field enhancer for all field instances of the same field type. We are calling this feature +"field type enhancers" to contrast with the current field instance enhancers tied to resources. + +On "/admin/config/services/jsonapi/field_types", we added a configuration form where you can add a field type +enhancer that will apply to all fields of that type. However, if you set a field instance enhancer, that will +override the field type enhancer. So, users can set an enhancer for most of the field instances of one field type +but then customize each field instance as needed. + +This custom code is in a patch, but we are trying to incorporate it into the main `jsonapi_extras` module in this issue: +https://www.drupal.org/project/jsonapi_extras/issues/3025283 + +To use the field instance enhancers: + +1. Go to "/admin/config/services/jsonapi/resource_types" and click to edit the resource type you are working with. +2. Check the fields you want alter output for to see if they already have an enhancer applied. +3. If there is an enhancer configured for that field instance, then that is what will be used for JSON:API responses. +4. If you want to use a field type enhancer, remove the configured field instance enhancer. + +To use the field type enhancers: + +1. Go to "/admin/config/services/jsonapi/field_types" and check the "Included Field Types" text area. +2. If you see your field added and have an enhancer configuration form visible, then skip to step #4. +3. If the field isn't included, then add it to the textarea and save the form. +4. Adjust the enhancer type and settings to achieve the output you want for that field type and save the form. +5. All field types should now be transformed by the selected enhancer for JSON:API responses, unless a field + instance enhancer is overriding the field type enhancer. diff --git a/composer.json b/composer.json index f2e35387b..6a6330551 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "drupal/devel": "^5.0", "drupal/html_tag_usage": "^1.0@beta", "drupal/media_entity_generic": "^1.0", - "palantirnet/drupal-rector": "^0.18.6" + "palantirnet/drupal-rector": "^0.20.1" }, "require": { "bower-asset/cropper": "^4.1", @@ -20,14 +20,14 @@ "composer/installers": "^2.2", "consolidation/site-process": "^5.2", "cweagans/composer-patches": "^1.7", - "datadog/dd-trace": "^0.98.0", + "datadog/dd-trace": "^0.99.0", "dealerdirect/phpcodesniffer-composer-installer": "0.7.2", - "drupal/address": "^1.4", + "drupal/address": "^2.0", "drupal/admin_feedback": "^2.2", "drupal/admin_toolbar": "^3.3", "drupal/advancedqueue": "^1.0@RC", "drupal/allow_only_one": "1.0.2", - "drupal/allowed_formats": "^2.0", + "drupal/allowed_formats": "^3.0", "drupal/animated_gif": "^2.0", "drupal/auto_entitylabel": "^3.0", "drupal/better_exposed_filters": "^6.0", @@ -98,7 +98,7 @@ "drupal/health_check_url": "^3.0", "drupal/hierarchy_manager": "^3.0", "drupal/hms_field": "^2.0", - "drupal/hook_event_dispatcher": "^4.0@beta", + "drupal/hook_event_dispatcher": "4.0.0-rc1", "drupal/ief_table_view_mode": "^3.0", "drupal/image_style_warmer": "^1.2@RC", "drupal/image_widget_crop": "^2.2", @@ -134,7 +134,7 @@ "drupal/migrate_tools": "^6.0", "drupal/migration_tools": "^2.8", "drupal/mimemail": "^1.0@alpha", - "drupal/monolog": "^3.0", + "drupal/monolog": "^2.0", "drupal/next": "^1.1", "drupal/no_table_drag": "^2.0@alpha", "drupal/node_link_report": "^1.14", @@ -223,7 +223,7 @@ "symfony/phpunit-bridge": "^5.1", "symfony/process": "^6.3", "symfony/routing": "^6.3", - "va-gov/content-build": "^0.0.3444", + "va-gov/content-build": "^0.0.3476", "vlucas/phpdotenv": "^5.3", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", @@ -390,7 +390,7 @@ "2767243 - Create a theme suggestion for taxonomy terms by view mode": "https://www.drupal.org/files/issues/core-theme-suggestion-for-taxonomy-view-modes-2767243-14.patch", "2775665 - MenuLinkContent updateLink function generates a PHP Warning for override-able keys that are not present in the loaded entity": "https://www.drupal.org/files/issues/2021-09-17/updateLink-2775665-14.patch", "Claro claro_preprocess_input()": "patches/drupal-core-claro_preprocess_input.patch", - "1156338 - Fixed maximum number of field values, but use «add more» similar to when cardinality «unlimited» is used": "https://www.drupal.org/files/issues/2023-12-20/1156338-31.patch", + "1156338 - Fixed maximum number of field values, but use «add more» similar to when cardinality «unlimited» is used": "https://www.drupal.org/files/issues/2024-02-09/1156338-33.patch", "2942404 - Contentinfo landmark" : "https://www.drupal.org/files/issues/2023-06-30/2942404-messages-should-have-role-status.patch", "3047110 - Add workflow to taxonomy" : "https://www.drupal.org/files/issues/2023-04-14/3047110-45.patch", "3106205 - Length of menu_tree.url and menu_tree.route_param_key are too short (255 characters)": "https://www.drupal.org/files/issues/2024-01-02/3106205-length-menu-tree-too-short-48.patch", @@ -451,6 +451,9 @@ "3226473 - Opt-in system delete.": "https://www.drupal.org/files/issues/2023-03-28/3226473-opt-in-system-delete-2.patch", "3061620 - Cancel closes all forms": "https://www.drupal.org/files/issues/2022-07-21/inline_entity_form-close-only-forms-where-close-clicked-3061620-13.patch" }, + "drupal/jsonapi_extras": { + "3025283 - Default field enhancer for each field type": "patches/field-type-enhancer-3025283-3.patch" + }, "drupal/jsonapi_menu_items": { "3276561 - Add support for the Menu Item Extras module": "https://www.drupal.org/files/issues/2022-08-01/3276561-05-menu_item_extras_support.patch" }, diff --git a/composer.lock b/composer.lock index ed1f3ff96..535d2c949 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7e1371f2b36ff27b189d5b8c15a92524", + "content-hash": "a68677969fd3fac87da26ea80bec1dc9", "packages": [ { "name": "asm89/stack-cors", @@ -122,7 +122,7 @@ "version": "v4.1.0", "source": { "type": "git", - "url": "https://github.com/fengyuanchen/cropper.git", + "url": "git@github.com:fengyuanchen/cropper.git", "reference": "617d9bdb8688cc4edb3b03bc49a04b83c7facbe7" }, "dist": { @@ -321,28 +321,28 @@ }, { "name": "commerceguys/addressing", - "version": "v1.4.2", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/commerceguys/addressing.git", - "reference": "406c7b5f0fbe4f6a64155c0fe03b1adb34d01308" + "reference": "d7faef18fc7110b233b81c8d18006e74c6c49a52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/commerceguys/addressing/zipball/406c7b5f0fbe4f6a64155c0fe03b1adb34d01308", - "reference": "406c7b5f0fbe4f6a64155c0fe03b1adb34d01308", + "url": "https://api.github.com/repos/commerceguys/addressing/zipball/d7faef18fc7110b233b81c8d18006e74c6c49a52", + "reference": "d7faef18fc7110b233b81c8d18006e74c6c49a52", "shasum": "" }, "require": { - "doctrine/collections": "^1.2 || ^2.0", - "php": ">=7.3" + "doctrine/collections": "^1.6 || ^2.0", + "php": ">=8.0" }, "require-dev": { "ext-json": "*", - "mikey179/vfsstream": "^1.6.10", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.6", - "symfony/validator": "^4.4 || ^5.4 || ^6.0" + "mikey179/vfsstream": "^1.6.11", + "phpunit/phpunit": "^9.6", + "squizlabs/php_codesniffer": "^3.7", + "symfony/validator": "^5.4 || ^6.3 || ^7.0" }, "suggest": { "symfony/validator": "to validate addresses" @@ -350,7 +350,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -379,9 +379,9 @@ ], "support": { "issues": "https://github.com/commerceguys/addressing/issues", - "source": "https://github.com/commerceguys/addressing/tree/v1.4.2" + "source": "https://github.com/commerceguys/addressing/tree/v2.1.1" }, - "time": "2023-02-15T10:11:14+00:00" + "time": "2023-11-28T18:04:35+00:00" }, { "name": "composer/installers", @@ -1011,23 +1011,23 @@ }, { "name": "consolidation/site-alias", - "version": "4.0.1", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/consolidation/site-alias.git", - "reference": "b0eeb8c8f3d54d072824ee31b5e00cb5181f91c5" + "reference": "1056ceb93f6aafe6f7600d7bbe1b62b8488abccf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/site-alias/zipball/b0eeb8c8f3d54d072824ee31b5e00cb5181f91c5", - "reference": "b0eeb8c8f3d54d072824ee31b5e00cb5181f91c5", + "url": "https://api.github.com/repos/consolidation/site-alias/zipball/1056ceb93f6aafe6f7600d7bbe1b62b8488abccf", + "reference": "1056ceb93f6aafe6f7600d7bbe1b62b8488abccf", "shasum": "" }, "require": { - "consolidation/config": "^1.2.1 || ^2", + "consolidation/config": "^1.2.1 || ^2 || ^3", "php": ">=7.4", - "symfony/filesystem": "^5.4 || ^6", - "symfony/finder": "^5 || ^6" + "symfony/filesystem": "^5.4 || ^6 || ^7", + "symfony/finder": "^5 || ^6 || ^7" }, "require-dev": { "php-coveralls/php-coveralls": "^2.4.2", @@ -1064,30 +1064,30 @@ "description": "Manage alias records for local and remote sites.", "support": { "issues": "https://github.com/consolidation/site-alias/issues", - "source": "https://github.com/consolidation/site-alias/tree/4.0.1" + "source": "https://github.com/consolidation/site-alias/tree/4.1.0" }, - "time": "2023-04-29T17:18:10+00:00" + "time": "2024-04-05T15:58:04+00:00" }, { "name": "consolidation/site-process", - "version": "5.2.0", + "version": "5.4.0", "source": { "type": "git", "url": "https://github.com/consolidation/site-process.git", - "reference": "6c44638d7af8a8b4abe12c3180701243f480539d" + "reference": "7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/site-process/zipball/6c44638d7af8a8b4abe12c3180701243f480539d", - "reference": "6c44638d7af8a8b4abe12c3180701243f480539d", + "url": "https://api.github.com/repos/consolidation/site-process/zipball/7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a", + "reference": "7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a", "shasum": "" }, "require": { - "consolidation/config": "^2", + "consolidation/config": "^2 || ^3", "consolidation/site-alias": "^3 || ^4", "php": ">=8.0.14", - "symfony/console": "^5.4 || ^6", - "symfony/process": "^6" + "symfony/console": "^5.4 || ^6 || ^7", + "symfony/process": "^6 || ^7" }, "require-dev": { "phpunit/phpunit": "^9", @@ -1121,9 +1121,9 @@ "description": "A thin wrapper around the Symfony Process Component that allows applications to use the Site Alias library to specify the target for a remote call.", "support": { "issues": "https://github.com/consolidation/site-process/issues", - "source": "https://github.com/consolidation/site-process/tree/5.2.0" + "source": "https://github.com/consolidation/site-process/tree/5.4.0" }, - "time": "2022-12-06T17:57:16+00:00" + "time": "2024-04-06T00:00:28+00:00" }, { "name": "cweagans/composer-patches", @@ -1175,16 +1175,16 @@ }, { "name": "datadog/dd-trace", - "version": "0.98.0", + "version": "0.99.1", "source": { "type": "git", "url": "https://github.com/DataDog/dd-trace-php.git", - "reference": "b25dc1e3fc8e8f3906e183fed5ed62d3aac19381" + "reference": "8de3b1fb481960857fff1d55d5e1862f7cf39fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DataDog/dd-trace-php/zipball/b25dc1e3fc8e8f3906e183fed5ed62d3aac19381", - "reference": "b25dc1e3fc8e8f3906e183fed5ed62d3aac19381", + "url": "https://api.github.com/repos/DataDog/dd-trace-php/zipball/8de3b1fb481960857fff1d55d5e1862f7cf39fca", + "reference": "8de3b1fb481960857fff1d55d5e1862f7cf39fca", "shasum": "" }, "require": { @@ -1273,9 +1273,9 @@ ], "support": { "issues": "https://github.com/DataDog/dd-trace-php/issues", - "source": "https://github.com/DataDog/dd-trace-php/tree/0.98.0" + "source": "https://github.com/DataDog/dd-trace-php/tree/0.99.1" }, - "time": "2024-02-19T18:55:36+00:00" + "time": "2024-04-04T15:06:49+00:00" }, { "name": "davedevelopment/stiphle", @@ -1478,6 +1478,55 @@ }, "time": "2023-06-19T06:10:36+00:00" }, + { + "name": "dekor/php-array-table", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/deniskoronets/php-array-table.git", + "reference": "ca40b21ba84eee6a9658a33fc5f897d76baaf8e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/deniskoronets/php-array-table/zipball/ca40b21ba84eee6a9658a33fc5f897d76baaf8e5", + "reference": "ca40b21ba84eee6a9658a33fc5f897d76baaf8e5", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.6.0" + }, + "require-dev": { + "phpunit/phpunit": "^10" + }, + "type": "library", + "autoload": { + "psr-4": { + "dekor\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Denis Koronets", + "email": "deniskoronets@woo.zp.ua", + "homepage": "https://woo.zp.ua/" + } + ], + "description": "PHP Library for printing associative arrays as text table (similar to mysql terminal console)", + "keywords": [ + "library", + "php" + ], + "support": { + "issues": "https://github.com/deniskoronets/php-array-table/issues", + "source": "https://github.com/deniskoronets/php-array-table/tree/2.0" + }, + "time": "2023-02-10T10:13:42+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.2", @@ -1631,16 +1680,16 @@ }, { "name": "doctrine/collections", - "version": "2.1.4", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "72328a11443a0de79967104ad36ba7b30bded134" + "reference": "420480fc085bc65f3c956af13abe8e7546f94813" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/72328a11443a0de79967104ad36ba7b30bded134", - "reference": "72328a11443a0de79967104ad36ba7b30bded134", + "url": "https://api.github.com/repos/doctrine/collections/zipball/420480fc085bc65f3c956af13abe8e7546f94813", + "reference": "420480fc085bc65f3c956af13abe8e7546f94813", "shasum": "" }, "require": { @@ -1652,7 +1701,7 @@ "ext-json": "*", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5", + "phpunit/phpunit": "^10.5", "vimeo/psalm": "^5.11" }, "type": "library", @@ -1697,7 +1746,7 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/2.1.4" + "source": "https://github.com/doctrine/collections/tree/2.2.1" }, "funding": [ { @@ -1713,7 +1762,7 @@ "type": "tidelift" } ], - "time": "2023-10-03T09:22:33+00:00" + "time": "2024-03-05T22:28:45+00:00" }, { "name": "doctrine/common", @@ -2094,16 +2143,16 @@ }, { "name": "doctrine/persistence", - "version": "3.2.0", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "63fee8c33bef740db6730eb2a750cd3da6495603" + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/63fee8c33bef740db6730eb2a750cd3da6495603", - "reference": "63fee8c33bef740db6730eb2a750cd3da6495603", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/477da35bd0255e032826f440b94b3e37f2d56f42", + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42", "shasum": "" }, "require": { @@ -2172,7 +2221,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.2.0" + "source": "https://github.com/doctrine/persistence/tree/3.3.2" }, "funding": [ { @@ -2188,7 +2237,7 @@ "type": "tidelift" } ], - "time": "2023-05-17T18:32:04+00:00" + "time": "2024-03-12T14:54:36+00:00" }, { "name": "dragonmantank/cron-expression", @@ -2253,22 +2302,22 @@ }, { "name": "drupal/address", - "version": "1.12.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/address.git", - "reference": "8.x-1.12" + "reference": "2.0.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/address-8.x-1.12.zip", - "reference": "8.x-1.12", - "shasum": "67dd4699040aabf0cd6169e437706fa6a39b0b3a" + "url": "https://ftp.drupal.org/files/projects/address-2.0.0.zip", + "reference": "2.0.0", + "shasum": "4f7936b6bf08188ecbfddafb3d105ee956e6a952" }, "require": { - "commerceguys/addressing": "^1.4.2", - "drupal/core": "^9.2 || ^10", - "php": "^7.3 || ^8.0" + "commerceguys/addressing": "^2.1.1", + "drupal/core": "^9.5 || ^10", + "php": "^8.0" }, "require-dev": { "drupal/token": "^1.0" @@ -2276,8 +2325,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.12", - "datestamp": "1684710176", + "version": "2.0.0", + "datestamp": "1703692572", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2451,17 +2500,17 @@ }, { "name": "drupal/advancedqueue", - "version": "1.0.0-rc7", + "version": "1.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/advancedqueue.git", - "reference": "8.x-1.0-rc7" + "reference": "8.x-1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/advancedqueue-8.x-1.0-rc7.zip", - "reference": "8.x-1.0-rc7", - "shasum": "b446eda22f5f9a9d13f78f2ce329ff1feef69173" + "url": "https://ftp.drupal.org/files/projects/advancedqueue-8.x-1.0.zip", + "reference": "8.x-1.0", + "shasum": "22d8a9e85b22f79afce5108bd4c74025aaa5212c" }, "require": { "drupal/core": "^9.1 || ^10" @@ -2469,11 +2518,11 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-rc7", - "datestamp": "1673456946", + "version": "8.x-1.0", + "datestamp": "1708984558", "security-coverage": { - "status": "not-covered", - "message": "RC releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } }, "drush": { @@ -2592,26 +2641,29 @@ }, { "name": "drupal/allowed_formats", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/allowed_formats.git", - "reference": "2.0.0" + "reference": "3.0.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/allowed_formats-2.0.0.zip", - "reference": "2.0.0", - "shasum": "ac6c6d398f303608ced7e9cd9d4556a728dc41f0" + "url": "https://ftp.drupal.org/files/projects/allowed_formats-3.0.0.zip", + "reference": "3.0.0", + "shasum": "1dad855db0e12fa3cdef8ca4e3bfc98f89090490" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^10.1" + }, + "conflict": { + "drupal/core": "<10.1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1669170410", + "version": "3.0.0", + "datestamp": "1693983469", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2644,7 +2696,7 @@ "role": "Maintainer" } ], - "description": "Limit which text formats are available for each field instance.", + "description": "Hides info about the selected text format. The 'allowed formats' functionality has been moved to core since Drupal 10.1.0.", "homepage": "https://www.drupal.org/project/allowed_formats", "support": { "source": "http://cgit.drupalcode.org/allowed_formats", @@ -2989,6 +3041,10 @@ { "name": "boromino", "homepage": "https://www.drupal.org/user/859722" + }, + { + "name": "mparker17", + "homepage": "https://www.drupal.org/user/536298" } ], "description": "Adds CKEditor abbreviation button.", @@ -3770,31 +3826,31 @@ }, { "name": "drupal/content_model_documentation", - "version": "1.0.24", + "version": "1.0.28", "source": { "type": "git", "url": "https://git.drupalcode.org/project/content_model_documentation.git", - "reference": "1.0.24" + "reference": "1.0.28" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/content_model_documentation-1.0.24.zip", - "reference": "1.0.24", - "shasum": "276d50ac1e44e768e1ff827e78223705e50a79f0" + "url": "https://ftp.drupal.org/files/projects/content_model_documentation-1.0.28.zip", + "reference": "1.0.28", + "shasum": "7b70757e9f5337623fc73a75c093a535634c0b1f" }, "require": { "drupal/config_views": "~2.1", "drupal/core": "^9.3 || ^10", "drupal/mermaid_diagram_field": "~1.0" }, - "require-dev": { - "drush/drush": "^9 || ^10" + "conflict": { + "drush/drush": "<9.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.24", - "datestamp": "1703128979", + "version": "1.0.28", + "datestamp": "1710538516", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3802,7 +3858,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10" + "drush.services.yml": "<11.0" } } }, @@ -3840,16 +3896,16 @@ }, { "name": "drupal/core", - "version": "10.2.2", + "version": "10.2.4", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "fc9abad1ab687635a5eddec00aa1a5f2a29a23bd" + "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/fc9abad1ab687635a5eddec00aa1a5f2a29a23bd", - "reference": "fc9abad1ab687635a5eddec00aa1a5f2a29a23bd", + "url": "https://api.github.com/repos/drupal/core/zipball/d1c5b44adfc79bda03252471491b0fba89d87eff", + "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff", "shasum": "" }, "require": { @@ -3997,22 +4053,22 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.2.2" + "source": "https://github.com/drupal/core/tree/10.2.4" }, - "time": "2024-01-16T21:10:58+00:00" + "time": "2024-03-06T08:23:56+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.2.2", + "version": "10.2.4", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "97bd91856535a354e9b1b815f0957893e26b6622" + "reference": "63effa1bc644e80a269e8b4415e627491d26fd3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/97bd91856535a354e9b1b815f0957893e26b6622", - "reference": "97bd91856535a354e9b1b815f0957893e26b6622", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/63effa1bc644e80a269e8b4415e627491d26fd3f", + "reference": "63effa1bc644e80a269e8b4415e627491d26fd3f", "shasum": "" }, "require": { @@ -4047,22 +4103,22 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.2.2" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.2.4" }, - "time": "2023-11-15T23:23:28+00:00" + "time": "2024-01-26T14:59:30+00:00" }, { "name": "drupal/core-recommended", - "version": "10.2.2", + "version": "10.2.4", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "d8cb769d86449af5ad763f3517c7f3c0e226ed60" + "reference": "550c4cb19afda15ef892d88469ab93dc38bf0b46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/d8cb769d86449af5ad763f3517c7f3c0e226ed60", - "reference": "d8cb769d86449af5ad763f3517c7f3c0e226ed60", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/550c4cb19afda15ef892d88469ab93dc38bf0b46", + "reference": "550c4cb19afda15ef892d88469ab93dc38bf0b46", "shasum": "" }, "require": { @@ -4071,7 +4127,7 @@ "doctrine/annotations": "~1.14.3", "doctrine/deprecations": "~1.1.2", "doctrine/lexer": "~2.1.0", - "drupal/core": "10.2.2", + "drupal/core": "10.2.4", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.8.1", "guzzlehttp/promises": "~2.0.2", @@ -4132,9 +4188,9 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.2.2" + "source": "https://github.com/drupal/core-recommended/tree/10.2.4" }, - "time": "2024-01-16T21:10:58+00:00" + "time": "2024-03-06T08:23:56+00:00" }, { "name": "drupal/core_event_dispatcher", @@ -4465,17 +4521,17 @@ }, { "name": "drupal/danse", - "version": "2.3.1", + "version": "2.3.3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/danse.git", - "reference": "2.3.1" + "reference": "2.3.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/danse-2.3.1.zip", - "reference": "2.3.1", - "shasum": "cf98e448b2564fdc61991b971548e67685c48c6f" + "url": "https://ftp.drupal.org/files/projects/danse-2.3.3.zip", + "reference": "2.3.3", + "shasum": "f1e203f7581273b2ac00389931b57adc57a7c63a" }, "require": { "drupal/core": "^10 || ^11", @@ -4488,8 +4544,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.3.1", - "datestamp": "1703759808", + "version": "2.3.3", + "datestamp": "1710919242", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4853,17 +4909,17 @@ }, { "name": "drupal/dropzonejs", - "version": "2.8.0", + "version": "2.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/dropzonejs.git", - "reference": "8.x-2.8" + "reference": "8.x-2.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/dropzonejs-8.x-2.8.zip", - "reference": "8.x-2.8", - "shasum": "d330143503eef258e0b87a384d2d9ad8dcf03380" + "url": "https://ftp.drupal.org/files/projects/dropzonejs-8.x-2.10.zip", + "reference": "8.x-2.10", + "shasum": "72bee3bce2d29eace381edba1a7e0237db6ecd48" }, "require": { "drupal/core": "^9.3 || ^10" @@ -4877,8 +4933,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.8", - "datestamp": "1676965468", + "version": "8.x-2.10", + "datestamp": "1709584348", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5050,6 +5106,14 @@ "homepage": "https://www.drupal.org/u/greg-boggs", "role": "Maintainer" }, + { + "name": "diamondsea", + "homepage": "https://www.drupal.org/user/430714" + }, + { + "name": "Greg Boggs", + "homepage": "https://www.drupal.org/user/153069" + }, { "name": "hmartens", "homepage": "https://www.drupal.org/user/622826" @@ -5088,21 +5152,21 @@ }, { "name": "drupal/eca", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/eca.git", - "reference": "1.1.4" + "reference": "1.1.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/eca-1.1.4.zip", - "reference": "1.1.4", - "shasum": "fce478b8c6224997dc858bff1f8f57523c870de7" + "url": "https://ftp.drupal.org/files/projects/eca-1.1.5.zip", + "reference": "1.1.5", + "shasum": "56633aa7b6e263c5bcc0de1c40a81ef47e9f58a8" }, "require": { "dragonmantank/cron-expression": "^3.1", - "drupal/core": "^9.4 || ^10", + "drupal/core": "^9.5 || ^10", "ext-dom": "*", "ext-json": "*", "mtownsend/xml-to-array": "^2.0", @@ -5123,8 +5187,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "1.1.4", - "datestamp": "1689338278", + "version": "1.1.5", + "datestamp": "1708702357", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5163,17 +5227,17 @@ }, { "name": "drupal/eca_cm", - "version": "1.0.7", + "version": "1.0.8", "source": { "type": "git", "url": "https://git.drupalcode.org/project/eca_cm.git", - "reference": "1.0.7" + "reference": "1.0.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/eca_cm-1.0.7.zip", - "reference": "1.0.7", - "shasum": "86d9866232c41fbd71573b88f42bcb270bfcd3dc" + "url": "https://ftp.drupal.org/files/projects/eca_cm-1.0.8.zip", + "reference": "1.0.8", + "shasum": "a971e8deaf73cbf5f69d9d7cb7740e2add5e8751" }, "require": { "drupal/core": "^9 || ^10", @@ -5183,8 +5247,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.7", - "datestamp": "1692266259", + "version": "1.0.8", + "datestamp": "1709670010", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5214,7 +5278,7 @@ }, { "name": "drupal/eca_ui", - "version": "1.1.4", + "version": "1.1.5", "require": { "drupal/core": "^9 || ^10", "drupal/eca": "*" @@ -5222,8 +5286,8 @@ "type": "metapackage", "extra": { "drupal": { - "version": "1.1.4", - "datestamp": "1689338278", + "version": "1.1.5", + "datestamp": "1708702357", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5526,17 +5590,17 @@ }, { "name": "drupal/entity_clone", - "version": "2.0.0-beta4", + "version": "2.0.0-beta5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "2.0.0-beta4" + "reference": "2.0.0-beta5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-2.0.0-beta4.zip", - "reference": "2.0.0-beta4", - "shasum": "21b6636cea194e1f71753a54b28d4a56b42a4b00" + "url": "https://ftp.drupal.org/files/projects/entity_clone-2.0.0-beta5.zip", + "reference": "2.0.0-beta5", + "shasum": "86a9c1984fcb4d31dab5bf4ff4a1e6feb03274d7" }, "require": { "drupal/core": "^8.8 || ^9 || ^10" @@ -5550,8 +5614,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-beta4", - "datestamp": "1687250852", + "version": "2.0.0-beta5", + "datestamp": "1711543181", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -6907,17 +6971,17 @@ }, { "name": "drupal/geofield_map", - "version": "3.0.14", + "version": "3.0.15", "source": { "type": "git", "url": "https://git.drupalcode.org/project/geofield_map.git", - "reference": "3.0.14" + "reference": "3.0.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/geofield_map-3.0.14.zip", - "reference": "3.0.14", - "shasum": "8f87ab5587f113e415fc09091f62f2425843e123" + "url": "https://ftp.drupal.org/files/projects/geofield_map-3.0.15.zip", + "reference": "3.0.15", + "shasum": "e91cc0026059e9ec1ed36fbd9671a13a94a041bd" }, "require": { "drupal/core": "^9.3 || ^10", @@ -6926,8 +6990,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.14", - "datestamp": "1696883247", + "version": "3.0.15", + "datestamp": "1708985049", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -8548,17 +8612,17 @@ }, { "name": "drupal/linkit", - "version": "6.1.2", + "version": "6.1.3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/linkit.git", - "reference": "6.1.2" + "reference": "6.1.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/linkit-6.1.2.zip", - "reference": "6.1.2", - "shasum": "63fb311d2b78df81a9a588330429b640ec7da0e8" + "url": "https://ftp.drupal.org/files/projects/linkit-6.1.3.zip", + "reference": "6.1.3", + "shasum": "469a5e38269ed5e707998000ee4701ab4922e561" }, "require": { "drupal/core": "^10.1" @@ -8570,8 +8634,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "6.1.2", - "datestamp": "1696865478", + "version": "6.1.3", + "datestamp": "1710519126", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -9418,17 +9482,17 @@ }, { "name": "drupal/mermaid_diagram_field", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/mermaid_diagram_field.git", - "reference": "1.0.1" + "reference": "1.0.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/mermaid_diagram_field-1.0.1.zip", - "reference": "1.0.1", - "shasum": "252258541e1b14af01b54ea00ae0020e10b11f98" + "url": "https://ftp.drupal.org/files/projects/mermaid_diagram_field-1.0.2.zip", + "reference": "1.0.2", + "shasum": "505cb63608e64792abd687e6a0a55267a9b10141" }, "require": { "drupal/core": "^9 || ^10" @@ -9436,11 +9500,11 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.1", - "datestamp": "1696824307", + "version": "1.0.2", + "datestamp": "1709133937", "security-coverage": { - "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -10139,36 +10203,28 @@ }, { "name": "drupal/monolog", - "version": "3.0.2", + "version": "2.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/monolog.git", - "reference": "3.0.2" + "reference": "2.2.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/monolog-3.0.2.zip", - "reference": "3.0.2", - "shasum": "a88e8249028e56a21c4472891381412b9733f768" + "url": "https://ftp.drupal.org/files/projects/monolog-2.2.0.zip", + "reference": "2.2.0", + "shasum": "3f243ccfb19cb30c75637882e24b1d8acfdb2f9a" }, "require": { - "drupal/core": "^10", - "monolog/monolog": "^3.2.0", - "php": "^8.1.0" - }, - "require-dev": { - "mglaman/phpstan-drupal": "^1.1", - "phpstan/extension-installer": "^1.3", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-deprecation-rules": "*", - "phpstan/phpstan-strict-rules": "^1.5", - "previousnext/coding-standard": "^1.0" + "drupal/core": "^8.8 || ^9 || ^10", + "monolog/monolog": "^2.8.0", + "php": "^7.4|^8" }, "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.2", - "datestamp": "1707845433", + "version": "2.2.0", + "datestamp": "1662121628", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -10186,14 +10242,14 @@ ], "authors": [ { - "name": "Luca Lusso", + "name": "Chris Pliakas", "homepage": "https://www.drupal.org/user/266779", - "email": "lussoluca@gmail.com", + "email": "opensource@chrispliakas.com", "role": "Project Lead" }, { "name": "See contributors", - "homepage": "https://drupal.org/node/1937716/committers", + "homepage": "http://drupal.org/node/1937716/committers", "role": "Developer" }, { @@ -10202,10 +10258,10 @@ } ], "description": "A Framework for integrating with the Monolog library.", - "homepage": "https://drupal.org/project/monolog", + "homepage": "http://drupal.org/project/monolog", "support": { "source": "https://git.drupalcode.org/project/monolog", - "issues": "https://drupal.org/project/issues/monolog" + "issues": "http://drupal.org/project/issues/monolog" } }, { @@ -10407,7 +10463,7 @@ "extra": { "drupal": { "version": "8.x-1.0-rc7", - "datestamp": "1698848506", + "datestamp": "1709793226", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -10524,17 +10580,17 @@ }, { "name": "drupal/office_hours", - "version": "1.16.0", + "version": "1.17.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/office_hours.git", - "reference": "8.x-1.16" + "reference": "8.x-1.17" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/office_hours-8.x-1.16.zip", - "reference": "8.x-1.16", - "shasum": "63b2efd112cde04f3b2b2823a7ade0f3a3c73bf4" + "url": "https://ftp.drupal.org/files/projects/office_hours-8.x-1.17.zip", + "reference": "8.x-1.17", + "shasum": "f689fc5c558bc00c01df650025793a678eba1fa2" }, "require": { "drupal/core": "^8 || ^9 || ^10" @@ -10542,8 +10598,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.16", - "datestamp": "1708099237", + "version": "8.x-1.17", + "datestamp": "1709818119", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -10889,7 +10945,7 @@ "extra": { "drupal": { "version": "8.x-1.17", - "datestamp": "1705234146", + "datestamp": "1709804220", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -11598,17 +11654,17 @@ }, { "name": "drupal/raven", - "version": "5.0.7", + "version": "5.0.9", "source": { "type": "git", "url": "https://git.drupalcode.org/project/raven.git", - "reference": "5.0.7" + "reference": "5.0.9" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/raven-5.0.7.zip", - "reference": "5.0.7", - "shasum": "42eb860dd5f0474541e2d5a81a3cb5ecdf514edb" + "url": "https://ftp.drupal.org/files/projects/raven-5.0.9.zip", + "reference": "5.0.9", + "shasum": "c1f33d6342264a7143fd121475b4ea5f39219c51" }, "require": { "drupal/core": "^10.1", @@ -11623,8 +11679,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "5.0.7", - "datestamp": "1706562438", + "version": "5.0.9", + "datestamp": "1711141649", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -12177,20 +12233,20 @@ }, { "name": "drupal/search_api", - "version": "1.31.0", + "version": "1.33.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.31" + "reference": "8.x-1.33" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.31.zip", - "reference": "8.x-1.31", - "shasum": "ec8436744c34de2ede6370d4dd26875489e761bc" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.33.zip", + "reference": "8.x-1.33", + "shasum": "6414709995217599839167bc638e0e49243ff714" }, "require": { - "drupal/core": "^10.0" + "drupal/core": "^10.1 || ^11" }, "conflict": { "drupal/search_api_solr": "2.* || 3.0 || 3.1" @@ -12208,8 +12264,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.31", - "datestamp": "1700926323", + "version": "8.x-1.33", + "datestamp": "1712242225", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -13326,24 +13382,24 @@ }, { "name": "drupal/twig_tweak", - "version": "3.2.1", + "version": "3.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/twig_tweak.git", - "reference": "3.2.1" + "reference": "3.3.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.2.1.zip", - "reference": "3.2.1", - "shasum": "89fc08b60f494a7d786251b6c2c493c536218222" + "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.3.0.zip", + "reference": "3.3.0", + "shasum": "a029ab1775b62f08e573e5ad1ab27bc833e7f5b9" }, "require": { "drupal/core": "^9.3 || ^10.0", "ext-json": "*", "php": ">=7.3", "symfony/polyfill-php80": "^1.17", - "twig/twig": "^2.12 || ^3.3.8" + "twig/twig": "^2.15.3 || ^3.4.3" }, "suggest": { "symfony/var-dumper": "Better dump() function for debugging Twig variables" @@ -13351,8 +13407,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.2.1", - "datestamp": "1677404306", + "version": "3.3.0", + "datestamp": "1708670116", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -13435,21 +13491,21 @@ }, { "name": "drupal/upgrade_status", - "version": "4.0.0", + "version": "4.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/upgrade_status.git", - "reference": "4.0.0" + "reference": "4.1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.0.0.zip", - "reference": "4.0.0", - "shasum": "013afdb46a03c9db0119cb1ce60ca49631d64368" + "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.1.0.zip", + "reference": "4.1.0", + "shasum": "b306740b7e952f3d6bb71a2e0a165d48977e732a" }, "require": { + "dekor/php-array-table": "^2.0", "drupal/core": "^9 || ^10", - "mathieuviossat/arraytotexttable": "~1.0.0", "mglaman/phpstan-drupal": "^1.0.0", "nikic/php-parser": "^4.0.0", "phpstan/phpstan-deprecation-rules": "^1.0.0", @@ -13459,8 +13515,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.0.0", - "datestamp": "1678815090", + "version": "4.1.0", + "datestamp": "1708602507", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -15580,16 +15636,16 @@ }, { "name": "jean85/pretty-package-versions", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af" + "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", + "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", "shasum": "" }, "require": { @@ -15597,9 +15653,9 @@ "php": "^7.1|^8.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.17", + "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^0.12.66", + "phpstan/phpstan": "^1.4", "phpunit/phpunit": "^7.5|^8.5|^9.4", "vimeo/psalm": "^4.3" }, @@ -15633,9 +15689,9 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" }, - "time": "2021-10-08T21:21:46+00:00" + "time": "2024-03-08T09:58:59+00:00" }, { "name": "justinrainbow/json-schema", @@ -15709,22 +15765,22 @@ }, { "name": "knplabs/github-api", - "version": "v3.13.0", + "version": "v3.14.1", "source": { "type": "git", "url": "https://github.com/KnpLabs/php-github-api.git", - "reference": "47024f3483520c0fafdfc5c10d2a20d87b4c7ceb" + "reference": "71fec50e228737ec23c0b69801b85bf596fbdaca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/47024f3483520c0fafdfc5c10d2a20d87b4c7ceb", - "reference": "47024f3483520c0fafdfc5c10d2a20d87b4c7ceb", + "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/71fec50e228737ec23c0b69801b85bf596fbdaca", + "reference": "71fec50e228737ec23c0b69801b85bf596fbdaca", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.2.5 || ^8.0", - "php-http/cache-plugin": "^1.7.1", + "php-http/cache-plugin": "^1.7.1|^2.0", "php-http/client-common": "^2.3", "php-http/discovery": "^1.12", "php-http/httplug": "^2.2", @@ -15752,7 +15808,7 @@ "extra": { "branch-alias": { "dev-2.x": "2.20.x-dev", - "dev-master": "3.12-dev" + "dev-master": "3.14-dev" } }, "autoload": { @@ -15785,7 +15841,7 @@ ], "support": { "issues": "https://github.com/KnpLabs/php-github-api/issues", - "source": "https://github.com/KnpLabs/php-github-api/tree/v3.13.0" + "source": "https://github.com/KnpLabs/php-github-api/tree/v3.14.1" }, "funding": [ { @@ -15793,373 +15849,166 @@ "type": "github" } ], - "time": "2023-11-19T21:08:19+00:00" + "time": "2024-03-24T18:21:15+00:00" }, { - "name": "laminas/laminas-servicemanager", - "version": "3.15.0", + "name": "lcobucci/clock", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "65910ef6a8066b0369fab77fbec9e030be59c866" + "url": "https://github.com/lcobucci/clock.git", + "reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/65910ef6a8066b0369fab77fbec9e030be59c866", - "reference": "65910ef6a8066b0369fab77fbec9e030be59c866", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/039ef98c6b57b101d10bd11d8fdfda12cbd996dc", + "reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc", "shasum": "" }, "require": { - "composer-plugin-api": "^2.0", - "laminas/laminas-stdlib": "^3.2.1", - "php": "~7.4.0 || ~8.0.0 || ~8.1.0", - "psr/container": "^1.1 || ^2.0.2" - }, - "conflict": { - "ext-psr": "*", - "laminas/laminas-code": "<3.3.1", - "zendframework/zend-code": "<3.3.1", - "zendframework/zend-servicemanager": "*" + "php": "~8.1.0 || ~8.2.0", + "psr/clock": "^1.0" }, "provide": { - "psr/container-implementation": "^1.1 || ^2.0" - }, - "replace": { - "container-interop/container-interop": "^1.2.0" + "psr/clock-implementation": "1.0" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.3.0", - "laminas/laminas-container-config-test": "^0.6", - "mikey179/vfsstream": "^1.6.10@alpha", - "ocramius/proxy-manager": "^2.11", - "phpbench/phpbench": "^1.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.17.0", - "vimeo/psalm": "^4.8" - }, - "suggest": { - "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services" + "infection/infection": "^0.26", + "lcobucci/coding-standard": "^9.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.27" }, - "bin": [ - "bin/generate-deps-for-config-factory", - "bin/generate-factory-for-class" - ], "type": "library", "autoload": { - "files": [ - "src/autoload.php" - ], "psr-4": { - "Laminas\\ServiceManager\\": "src/" + "Lcobucci\\Clock\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Factory-Driven Dependency Injection Container", - "homepage": "https://laminas.dev", - "keywords": [ - "PSR-11", - "dependency-injection", - "di", - "dic", - "laminas", - "service-manager", - "servicemanager" + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com" + } ], + "description": "Yet another clock abstraction", "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-servicemanager/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-servicemanager/issues", - "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", - "source": "https://github.com/laminas/laminas-servicemanager" + "issues": "https://github.com/lcobucci/clock/issues", + "source": "https://github.com/lcobucci/clock/tree/3.0.0" }, "funding": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" } ], - "time": "2022-07-18T21:18:56+00:00" + "time": "2022-12-19T15:00:24+00:00" }, { - "name": "laminas/laminas-stdlib", - "version": "3.19.0", + "name": "lcobucci/jwt", + "version": "4.3.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + "url": "https://github.com/lcobucci/jwt.git", + "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4", + "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "conflict": { - "zendframework/zend-stdlib": "*" + "ext-hash": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-sodium": "*", + "lcobucci/clock": "^2.0 || ^3.0", + "php": "^7.4 || ^8.0" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" + "infection/infection": "^0.21", + "lcobucci/coding-standard": "^6.0", + "mikey179/vfsstream": "^1.6.7", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/php-invoker": "^3.1", + "phpunit/phpunit": "^9.5" }, "type": "library", "autoload": { "psr-4": { - "Laminas\\Stdlib\\": "src/" + "Lcobucci\\JWT\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com", + "role": "Developer" + } + ], + "description": "A simple library to work with JSON Web Token and JSON Web Signature", "keywords": [ - "laminas", - "stdlib" + "JWS", + "jwt" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" + "issues": "https://github.com/lcobucci/jwt/issues", + "source": "https://github.com/lcobucci/jwt/tree/4.3.0" }, "funding": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" } ], - "time": "2024-01-19T12:39:49+00:00" + "time": "2023-01-02T13:28:00+00:00" }, { - "name": "laminas/laminas-text", - "version": "2.9.0", + "name": "league/container", + "version": "4.2.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-text.git", - "reference": "8879e75d03e09b0d6787e6680cfa255afd4645a7" + "url": "https://github.com/thephpleague/container.git", + "reference": "375d13cb828649599ef5d48a339c4af7a26cd0ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-text/zipball/8879e75d03e09b0d6787e6680cfa255afd4645a7", - "reference": "8879e75d03e09b0d6787e6680cfa255afd4645a7", + "url": "https://api.github.com/repos/thephpleague/container/zipball/375d13cb828649599ef5d48a339c4af7a26cd0ab", + "reference": "375d13cb828649599ef5d48a339c4af7a26cd0ab", "shasum": "" }, "require": { - "laminas/laminas-servicemanager": "^3.4", - "laminas/laminas-stdlib": "^3.6", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "php": "^7.2 || ^8.0", + "psr/container": "^1.1 || ^2.0" }, - "conflict": { - "zendframework/zend-text": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Text\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Create FIGlets and text-based tables", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "text" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-text/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-text/issues", - "rss": "https://github.com/laminas/laminas-text/releases.atom", - "source": "https://github.com/laminas/laminas-text" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-09-02T16:50:53+00:00" - }, - { - "name": "lcobucci/clock", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/clock.git", - "reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/039ef98c6b57b101d10bd11d8fdfda12cbd996dc", - "reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc", - "shasum": "" - }, - "require": { - "php": "~8.1.0 || ~8.2.0", - "psr/clock": "^1.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "infection/infection": "^0.26", - "lcobucci/coding-standard": "^9.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.2", - "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.27" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com" - } - ], - "description": "Yet another clock abstraction", - "support": { - "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2022-12-19T15:00:24+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4", - "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4", - "shasum": "" - }, - "require": { - "ext-hash": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "ext-sodium": "*", - "lcobucci/clock": "^2.0 || ^3.0", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "infection/infection": "^0.21", - "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.3.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2023-01-02T13:28:00+00:00" - }, - { - "name": "league/container", - "version": "4.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/container.git", - "reference": "375d13cb828649599ef5d48a339c4af7a26cd0ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/375d13cb828649599ef5d48a339c4af7a26cd0ab", - "reference": "375d13cb828649599ef5d48a339c4af7a26cd0ab", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "psr/container": "^1.1 || ^2.0" - }, - "provide": { - "psr/container-implementation": "^1.0" + "provide": { + "psr/container-implementation": "^1.0" }, "replace": { "orno/di": "~2.0" @@ -16689,57 +16538,6 @@ }, "time": "2023-05-10T11:58:31+00:00" }, - { - "name": "mathieuviossat/arraytotexttable", - "version": "v1.0.9", - "source": { - "type": "git", - "url": "https://github.com/viossat/arraytotexttable.git", - "reference": "518ec338fe62e92c064a9d3d3bc8c64fb6e77d1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/viossat/arraytotexttable/zipball/518ec338fe62e92c064a9d3d3bc8c64fb6e77d1c", - "reference": "518ec338fe62e92c064a9d3d3bc8c64fb6e77d1c", - "shasum": "" - }, - "require": { - "laminas/laminas-text": "^2.9", - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "MathieuViossat\\Util\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mathieu Viossat", - "email": "mathieu@viossat.fr", - "homepage": "https://viossat.fr" - } - ], - "description": "Display arrays in terminal", - "homepage": "https://github.com/viossat/arraytotexttable", - "keywords": [ - "array", - "ascii", - "table", - "terminal", - "text", - "unicode" - ], - "support": { - "issues": "https://github.com/viossat/arraytotexttable/issues", - "source": "https://github.com/viossat/arraytotexttable/tree/v1.0.9" - }, - "time": "2022-08-30T15:33:10+00:00" - }, { "name": "mck89/peast", "version": "v1.15.4", @@ -16791,16 +16589,16 @@ }, { "name": "mglaman/phpstan-drupal", - "version": "1.2.7", + "version": "1.2.10", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "32f79fcf48c74532014248687ae3850581a22416" + "reference": "cdafb3285beeb5fadf25a43e18fee6f80bb14575" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/32f79fcf48c74532014248687ae3850581a22416", - "reference": "32f79fcf48c74532014248687ae3850581a22416", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/cdafb3285beeb5fadf25a43e18fee6f80bb14575", + "reference": "cdafb3285beeb5fadf25a43e18fee6f80bb14575", "shasum": "" }, "require": { @@ -16814,7 +16612,7 @@ "require-dev": { "behat/mink": "^1.8", "composer/installers": "^1.9", - "drupal/core-recommended": "^9.0", + "drupal/core-recommended": "^10", "drush/drush": "^10.0 || ^11 || ^12", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", @@ -16875,7 +16673,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.7" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.10" }, "funding": [ { @@ -16891,7 +16689,7 @@ "type": "tidelift" } ], - "time": "2024-02-14T04:38:08+00:00" + "time": "2024-04-02T17:27:29+00:00" }, { "name": "michelf/php-markdown", @@ -17099,41 +16897,42 @@ }, { "name": "monolog/monolog", - "version": "3.5.0", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^2.0 || ^3.0" + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "3.0.0" + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" }, "require-dev": { - "aws/aws-sdk-php": "^3.0", + "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2 || ^2.0", - "guzzlehttp/guzzle": "^7.4.5", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", - "predis/predis": "^1.1 || ^2", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5.14", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -17156,7 +16955,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.x-dev" + "dev-main": "2.x-dev" } }, "autoload": { @@ -17184,7 +16983,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" }, "funding": [ { @@ -17196,7 +16995,7 @@ "type": "tidelift" } ], - "time": "2023-10-27T15:32:31+00:00" + "time": "2023-10-27T15:25:26+00:00" }, { "name": "mtownsend/xml-to-array", @@ -17312,21 +17111,21 @@ }, { "name": "nikic/php-parser", - "version": "v4.18.0", + "version": "v4.19.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" + "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", + "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.1" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", @@ -17362,9 +17161,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" }, - "time": "2023-12-10T21:03:43+00:00" + "time": "2024-03-17T08:10:35+00:00" }, { "name": "npm-asset/dropzone", @@ -17741,16 +17540,16 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.14", + "version": "v1.10.15", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32" + "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/a86fc145edb5caedbf96527214ce3cadc9de4a32", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/ce0adade8b97561656ace07cdaac4751c271ea8c", + "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c", "shasum": "" }, "require": { @@ -17763,9 +17562,9 @@ }, "type": "library", "autoload": { - "psr-0": { - "": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "include-path": [ @@ -17786,7 +17585,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", "source": "https://github.com/pear/pear-core-minimal" }, - "time": "2023-11-26T16:15:38+00:00" + "time": "2024-03-16T18:41:45+00:00" }, { "name": "pear/pear_exception", @@ -17849,20 +17648,21 @@ }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -17903,9 +17703,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -18064,26 +17870,27 @@ }, { "name": "php-http/cache-plugin", - "version": "1.8.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-http/cache-plugin.git", - "reference": "b3e6c25d89ee5e4ac82115ed23b21ba87986d614" + "reference": "539b2d1ea0dc1c2f141c8155f888197d4ac5635b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/b3e6c25d89ee5e4ac82115ed23b21ba87986d614", - "reference": "b3e6c25d89ee5e4ac82115ed23b21ba87986d614", + "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/539b2d1ea0dc1c2f141c8155f888197d4ac5635b", + "reference": "539b2d1ea0dc1c2f141c8155f888197d4ac5635b", "shasum": "" }, "require": { "php": "^7.1 || ^8.0", "php-http/client-common": "^1.9 || ^2.0", - "php-http/message-factory": "^1.0", "psr/cache": "^1.0 || ^2.0 || ^3.0", + "psr/http-factory-implementation": "^1.0", "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "require-dev": { + "nyholm/psr7": "^1.6.1", "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" }, "type": "library", @@ -18112,9 +17919,9 @@ ], "support": { "issues": "https://github.com/php-http/cache-plugin/issues", - "source": "https://github.com/php-http/cache-plugin/tree/1.8.1" + "source": "https://github.com/php-http/cache-plugin/tree/2.0.0" }, - "time": "2023-11-21T08:52:56+00:00" + "time": "2024-02-19T17:02:14+00:00" }, { "name": "php-http/client-common", @@ -18384,16 +18191,16 @@ }, { "name": "php-http/message", - "version": "1.16.0", + "version": "1.16.1", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd" + "reference": "5997f3289332c699fa2545c427826272498a2088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd", + "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", + "reference": "5997f3289332c699fa2545c427826272498a2088", "shasum": "" }, "require": { @@ -18447,64 +18254,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.0" + "source": "https://github.com/php-http/message/tree/1.16.1" }, - "time": "2023-05-17T06:43:38+00:00" - }, - { - "name": "php-http/message-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57", - "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org", - "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" - ], - "support": { - "issues": "https://github.com/php-http/message-factory/issues", - "source": "https://github.com/php-http/message-factory/tree/1.1.0" - }, - "abandoned": "psr/http-factory", - "time": "2023-04-14T14:16:17+00:00" + "time": "2024-03-07T13:22:09+00:00" }, { "name": "php-http/multipart-stream-builder", @@ -18564,16 +18316,16 @@ }, { "name": "php-http/promise", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "2916a606d3b390f4e9e8e2b8dd68581508be0f07" + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/2916a606d3b390f4e9e8e2b8dd68581508be0f07", - "reference": "2916a606d3b390f4e9e8e2b8dd68581508be0f07", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", "shasum": "" }, "require": { @@ -18610,9 +18362,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.3.0" + "source": "https://github.com/php-http/promise/tree/1.3.1" }, - "time": "2024-01-04T18:49:48+00:00" + "time": "2024-03-15T13:55:21+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -18726,21 +18478,21 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353" + "reference": "153ae662783729388a584b4361f2545e4d841e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", - "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", + "reference": "153ae662783729388a584b4361f2545e4d841e3c", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, @@ -18778,9 +18530,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" }, - "time": "2024-01-18T19:15:27+00:00" + "time": "2024-02-23T11:10:43+00:00" }, { "name": "phpmailer/phpmailer", @@ -18992,24 +18744,24 @@ }, { "name": "phpspec/prophecy", - "version": "v1.18.0", + "version": "v1.19.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c" + "reference": "67a759e7d8746d501c41536ba40cd9c0a07d6a87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/67a759e7d8746d501c41536ba40cd9c0a07d6a87", + "reference": "67a759e7d8746d501c41536ba40cd9c0a07d6a87", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2 || ^2.0", "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*", "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0 || ^5.0", - "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0" + "sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { "phpspec/phpspec": "^6.0 || ^7.0", @@ -19055,33 +18807,33 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.18.0" + "source": "https://github.com/phpspec/prophecy/tree/v1.19.0" }, - "time": "2023-12-07T16:22:33+00:00" + "time": "2024-02-29T11:52:51+00:00" }, { "name": "phpspec/prophecy-phpunit", - "version": "v2.1.0", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy-phpunit.git", - "reference": "29f8114c2c319a4308e6b070902211e062efa392" + "reference": "16e1247e139434bce0bac09848bc5c8d882940fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/29f8114c2c319a4308e6b070902211e062efa392", - "reference": "29f8114c2c319a4308e6b070902211e062efa392", + "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/16e1247e139434bce0bac09848bc5c8d882940fc", + "reference": "16e1247e139434bce0bac09848bc5c8d882940fc", "shasum": "" }, "require": { "php": "^7.3 || ^8", "phpspec/prophecy": "^1.18", - "phpunit/phpunit": "^9.1 || ^10.1" + "phpunit/phpunit": "^9.1 || ^10.1 || ^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -19107,22 +18859,22 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy-phpunit/issues", - "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.1.0" + "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.2.0" }, - "time": "2023-12-08T12:48:02+00:00" + "time": "2024-03-01T08:33:58+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.25.0", + "version": "1.28.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" + "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", + "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", "shasum": "" }, "require": { @@ -19154,22 +18906,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" }, - "time": "2024-01-04T17:06:16+00:00" + "time": "2024-04-03T18:51:33+00:00" }, { "name": "phpstan/phpstan", - "version": "1.10.59", + "version": "1.10.66", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e607609388d3a6d418a50a49f7940e8086798281" + "reference": "94779c987e4ebd620025d9e5fdd23323903950bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e607609388d3a6d418a50a49f7940e8086798281", - "reference": "e607609388d3a6d418a50a49f7940e8086798281", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/94779c987e4ebd620025d9e5fdd23323903950bd", + "reference": "94779c987e4ebd620025d9e5fdd23323903950bd", "shasum": "" }, "require": { @@ -19218,7 +18970,7 @@ "type": "tidelift" } ], - "time": "2024-02-20T13:59:13+00:00" + "time": "2024-03-28T16:17:31+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -19270,16 +19022,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.30", + "version": "9.2.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", - "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", "shasum": "" }, "require": { @@ -19336,7 +19088,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" }, "funding": [ { @@ -19344,7 +19096,7 @@ "type": "github" } ], - "time": "2023-12-22T06:47:57+00:00" + "time": "2024-03-02T06:37:42+00:00" }, { "name": "phpunit/php-file-iterator", @@ -19589,16 +19341,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.16", + "version": "9.6.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f" + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f", - "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", "shasum": "" }, "require": { @@ -19672,7 +19424,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" }, "funding": [ { @@ -19688,7 +19440,7 @@ "type": "tidelift" } ], - "time": "2024-01-19T07:03:14+00:00" + "time": "2024-04-05T04:35:58+00:00" }, { "name": "politsin/jquery-ui-touch-punch", @@ -20399,16 +20151,16 @@ }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", "shasum": "" }, "require": { @@ -20443,7 +20195,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" }, "funding": [ { @@ -20451,7 +20203,7 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2024-03-02T06:27:43+00:00" }, { "name": "sebastian/code-unit", @@ -20697,16 +20449,16 @@ }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", "shasum": "" }, "require": { @@ -20751,7 +20503,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" }, "funding": [ { @@ -20759,7 +20511,7 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2024-03-02T06:30:58+00:00" }, { "name": "sebastian/environment", @@ -20826,16 +20578,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", "shasum": "" }, "require": { @@ -20891,7 +20643,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" }, "funding": [ { @@ -20899,20 +20651,20 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2024-03-02T06:33:00+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.6", + "version": "5.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", "shasum": "" }, "require": { @@ -20955,7 +20707,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" }, "funding": [ { @@ -20963,7 +20715,7 @@ "type": "github" } ], - "time": "2023-08-02T09:26:13+00:00" + "time": "2024-03-02T06:35:11+00:00" }, { "name": "sebastian/lines-of-code", @@ -21199,16 +20951,16 @@ }, { "name": "sebastian/resource-operations", - "version": "3.0.3", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", "shasum": "" }, "require": { @@ -21220,7 +20972,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -21241,8 +20993,7 @@ "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" }, "funding": [ { @@ -21250,7 +21001,7 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2024-03-14T16:00:52+00:00" }, { "name": "sebastian/type", @@ -21363,16 +21114,16 @@ }, { "name": "sentry/sentry", - "version": "4.5.0", + "version": "4.6.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "a6e06f0b7a17e7f68e11297427da76bfe01a3ca3" + "reference": "5a94184175e5830b589bf923da8c9c3af2c0f409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/a6e06f0b7a17e7f68e11297427da76bfe01a3ca3", - "reference": "a6e06f0b7a17e7f68e11297427da76bfe01a3ca3", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5a94184175e5830b589bf923da8c9c3af2c0f409", + "reference": "5a94184175e5830b589bf923da8c9c3af2c0f409", "shasum": "" }, "require": { @@ -21436,7 +21187,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.5.0" + "source": "https://github.com/getsentry/sentry-php/tree/4.6.1" }, "funding": [ { @@ -21448,20 +21199,20 @@ "type": "custom" } ], - "time": "2024-01-29T16:16:10+00:00" + "time": "2024-03-08T08:18:09+00:00" }, { "name": "simplesamlphp/assert", - "version": "v1.0.5", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/simplesamlphp/assert.git", - "reference": "014d722cd2fc316e458a982648f10e17ab498c92" + "reference": "8598fb2005f4eed689e30ebffd4e8e85ed7ce9aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/014d722cd2fc316e458a982648f10e17ab498c92", - "reference": "014d722cd2fc316e458a982648f10e17ab498c92", + "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/8598fb2005f4eed689e30ebffd4e8e85ed7ce9aa", + "reference": "8598fb2005f4eed689e30ebffd4e8e85ed7ce9aa", "shasum": "" }, "require": { @@ -21469,11 +21220,11 @@ "ext-filter": "*", "ext-pcre": "*", "ext-spl": "*", - "php": "^8.0", + "php": "^8.1", "webmozart/assert": "^1.11" }, "require-dev": { - "simplesamlphp/simplesamlphp-test-framework": "^1.5.1" + "simplesamlphp/simplesamlphp-test-framework": "^1.5.5" }, "type": "library", "extra": { @@ -21503,9 +21254,9 @@ "description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments", "support": { "issues": "https://github.com/simplesamlphp/assert/issues", - "source": "https://github.com/simplesamlphp/assert/tree/v1.0.5" + "source": "https://github.com/simplesamlphp/assert/tree/v1.1.1" }, - "time": "2023-08-15T15:00:10+00:00" + "time": "2024-03-19T21:09:48+00:00" }, { "name": "simplesamlphp/composer-module-installer", @@ -21552,16 +21303,16 @@ }, { "name": "simplesamlphp/saml2", - "version": "v4.6.10", + "version": "v4.6.11", "source": { "type": "git", "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "a6c46e8134df2686da9ad44bc9b8f85443c03440" + "reference": "1b5d48753c78d02e88667068e633531c233141fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/a6c46e8134df2686da9ad44bc9b8f85443c03440", - "reference": "a6c46e8134df2686da9ad44bc9b8f85443c03440", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/1b5d48753c78d02e88667068e633531c233141fb", + "reference": "1b5d48753c78d02e88667068e633531c233141fb", "shasum": "" }, "require": { @@ -21604,22 +21355,22 @@ "description": "SAML2 PHP library from SimpleSAMLphp", "support": { "issues": "https://github.com/simplesamlphp/saml2/issues", - "source": "https://github.com/simplesamlphp/saml2/tree/v4.6.10" + "source": "https://github.com/simplesamlphp/saml2/tree/v4.6.11" }, - "time": "2023-05-31T16:03:51+00:00" + "time": "2024-01-25T19:39:46+00:00" }, { "name": "simplesamlphp/simplesamlphp", - "version": "v2.1.1", + "version": "v2.2.1", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp.git", - "reference": "1071b139352f6b52e39ca09567639b524018d1a7" + "reference": "0819ecbe66a11380c64bed0afb71c8d6dd4b714e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/1071b139352f6b52e39ca09567639b524018d1a7", - "reference": "1071b139352f6b52e39ca09567639b524018d1a7", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/0819ecbe66a11380c64bed0afb71c8d6dd4b714e", + "reference": "0819ecbe66a11380c64bed0afb71c8d6dd4b714e", "shasum": "" }, "require": { @@ -21636,29 +21387,29 @@ "ext-zlib": "*", "gettext/gettext": "^5.7", "gettext/translator": "^1.1", - "php": "^8.0", + "php": "^8.1", "phpmailer/phpmailer": "^6.8", "psr/log": "^3.0", "simplesamlphp/assert": "^1.0.0", "simplesamlphp/composer-module-installer": "^1.3", "simplesamlphp/saml2": "^4.6", "simplesamlphp/simplesamlphp-assets-base": "~2.1.5", - "symfony/cache": "^6.0", - "symfony/config": "^6.0", - "symfony/console": "^6.0", - "symfony/dependency-injection": "^6.0", - "symfony/filesystem": "^6.0", - "symfony/finder": "^6.0", - "symfony/framework-bundle": "^6.0", - "symfony/http-foundation": "^6.0", - "symfony/http-kernel": "^6.0", - "symfony/intl": "^6.0", + "symfony/cache": "^6.4", + "symfony/config": "^6.4", + "symfony/console": "^6.4", + "symfony/dependency-injection": "^6.4", + "symfony/filesystem": "^6.4", + "symfony/finder": "^6.4", + "symfony/framework-bundle": "^6.4", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.4", + "symfony/intl": "^6.4", "symfony/polyfill-intl-icu": "^1.28", - "symfony/routing": "^6.0", + "symfony/routing": "^6.4", "symfony/translation-contracts": "^3.0", - "symfony/var-exporter": "^6.0", - "symfony/yaml": "^6.0", - "tvdijen/twig-bridge": "^6.0.20", + "symfony/twig-bridge": "^6.4", + "symfony/var-exporter": "^6.4", + "symfony/yaml": "^6.4", "twig/intl-extra": "^3.7", "twig/twig": "^3.5" }, @@ -21667,10 +21418,11 @@ "ext-pdo_sqlite": "*", "gettext/php-scanner": "1.3.1", "mikey179/vfsstream": "~1.6", + "predis/predis": "^2.2", "simplesamlphp/simplesamlphp-module-adfs": "^2.1", "simplesamlphp/simplesamlphp-test-framework": "^1.5.4", "simplesamlphp/xml-security": "^1.6.0", - "symfony/translation": "^6.0" + "symfony/translation": "^6.4" }, "suggest": { "ext-curl": "Needed in order to check for updates automatically", @@ -21685,7 +21437,7 @@ "type": "project", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -21734,20 +21486,20 @@ "issues": "https://github.com/simplesamlphp/simplesamlphp/issues", "source": "https://github.com/simplesamlphp/simplesamlphp" }, - "time": "2023-11-29T16:50:10+00:00" + "time": "2024-03-16T23:03:28+00:00" }, { "name": "simplesamlphp/simplesamlphp-assets-base", - "version": "v2.1.8", + "version": "v2.1.12", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-assets-base.git", - "reference": "16ce8123311b93af783858eccf7ce01eceded84e" + "reference": "bde7ad38a534776a9fb2943d7d1a9880c738c925" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/16ce8123311b93af783858eccf7ce01eceded84e", - "reference": "16ce8123311b93af783858eccf7ce01eceded84e", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/bde7ad38a534776a9fb2943d7d1a9880c738c925", + "reference": "bde7ad38a534776a9fb2943d7d1a9880c738c925", "shasum": "" }, "require": { @@ -21768,9 +21520,9 @@ "description": "Assets for the SimpleSAMLphp main repository", "support": { "issues": "https://github.com/simplesamlphp/simplesamlphp-assets-base/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.1.8" + "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.1.12" }, - "time": "2023-12-24T00:59:54+00:00" + "time": "2024-02-19T15:32:24+00:00" }, { "name": "simshaun/recurr", @@ -21956,16 +21708,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.1", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" + "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/267a4405fff1d9c847134db3a3c92f1ab7f77909", + "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909", "shasum": "" }, "require": { @@ -22032,7 +21784,7 @@ "type": "open_collective" } ], - "time": "2024-01-11T20:47:48+00:00" + "time": "2024-03-31T21:03:09+00:00" }, { "name": "steverhoades/oauth2-openid-connect-server", @@ -22210,16 +21962,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.2", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978" + "reference": "0ef36534694c572ff526d91c7181f3edede176e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978", - "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978", + "url": "https://api.github.com/repos/symfony/cache/zipball/0ef36534694c572ff526d91c7181f3edede176e7", + "reference": "0ef36534694c572ff526d91c7181f3edede176e7", "shasum": "" }, "require": { @@ -22286,7 +22038,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.2" + "source": "https://github.com/symfony/cache/tree/v6.4.4" }, "funding": [ { @@ -22302,20 +22054,20 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:34:34+00:00" + "time": "2024-02-22T20:27:10+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.4.0", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "1d74b127da04ffa87aa940abe15446fa89653778" + "reference": "2c9db6509a1b21dad229606897639d3284f54b2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778", - "reference": "1d74b127da04ffa87aa940abe15446fa89653778", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/2c9db6509a1b21dad229606897639d3284f54b2a", + "reference": "2c9db6509a1b21dad229606897639d3284f54b2a", "shasum": "" }, "require": { @@ -22362,7 +22114,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/cache-contracts/tree/v3.4.2" }, "funding": [ { @@ -22378,20 +22130,20 @@ "type": "tidelift" } ], - "time": "2023-09-25T12:52:38+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/config", - "version": "v6.4.0", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e" + "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/5d33e0fb707d603330e0edfd4691803a1253572e", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e", + "url": "https://api.github.com/repos/symfony/config/zipball/6ea4affc27f2086c9d16b92ab5429ce1e3c38047", + "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047", "shasum": "" }, "require": { @@ -22437,7 +22189,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.0" + "source": "https://github.com/symfony/config/tree/v6.4.4" }, "funding": [ { @@ -22453,20 +22205,20 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:28:32+00:00" + "time": "2024-02-26T07:52:26+00:00" }, { "name": "symfony/console", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" + "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", - "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "url": "https://api.github.com/repos/symfony/console/zipball/a2708a5da5c87d1d0d52937bdeac625df659e11f", + "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f", "shasum": "" }, "require": { @@ -22531,7 +22283,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.3" + "source": "https://github.com/symfony/console/tree/v6.4.6" }, "funding": [ { @@ -22547,20 +22299,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-29T19:07:53+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "6871811c5a5c5e180244ddb689746446db02c05b" + "reference": "31417777509923b22de5c6fb6b3ffcdebde37cb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6871811c5a5c5e180244ddb689746446db02c05b", - "reference": "6871811c5a5c5e180244ddb689746446db02c05b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/31417777509923b22de5c6fb6b3ffcdebde37cb5", + "reference": "31417777509923b22de5c6fb6b3ffcdebde37cb5", "shasum": "" }, "require": { @@ -22612,7 +22364,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.3" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.6" }, "funding": [ { @@ -22628,7 +22380,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:32:12+00:00" + "time": "2024-03-27T22:00:14+00:00" }, { "name": "symfony/deprecation-contracts", @@ -22699,16 +22451,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "6db31849011fefe091e94d0bb10cba26f7919894" + "reference": "f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6db31849011fefe091e94d0bb10cba26f7919894", - "reference": "6db31849011fefe091e94d0bb10cba26f7919894", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531", + "reference": "f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531", "shasum": "" }, "require": { @@ -22746,7 +22498,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.3" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.4" }, "funding": [ { @@ -22762,20 +22514,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-07T09:17:57+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6" + "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/6dc3c76a278b77f01d864a6005d640822c6f26a6", - "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/64db1c1802e3a4557e37ba33031ac39f452ac5d4", + "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4", "shasum": "" }, "require": { @@ -22821,7 +22573,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.3" + "source": "https://github.com/symfony/error-handler/tree/v6.4.6" }, "funding": [ { @@ -22837,7 +22589,7 @@ "type": "tidelift" } ], - "time": "2024-01-29T15:40:36+00:00" + "time": "2024-03-19T11:56:30+00:00" }, { "name": "symfony/event-dispatcher", @@ -22921,16 +22673,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.0", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "4e64b49bf370ade88e567de29465762e316e4224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224", + "reference": "4e64b49bf370ade88e567de29465762e316e4224", "shasum": "" }, "require": { @@ -22977,7 +22729,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2" }, "funding": [ { @@ -22993,20 +22745,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" + "reference": "9919b5509ada52cc7f66f9a35c86a4a29955c9d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9919b5509ada52cc7f66f9a35c86a4a29955c9d3", + "reference": "9919b5509ada52cc7f66f9a35c86a4a29955c9d3", "shasum": "" }, "require": { @@ -23040,7 +22792,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.3" + "source": "https://github.com/symfony/filesystem/tree/v6.4.6" }, "funding": [ { @@ -23056,7 +22808,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-21T19:36:20+00:00" }, { "name": "symfony/finder", @@ -23124,16 +22876,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v6.4.2", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0" + "reference": "c76d3881596860ead95f5444a5ce4414447f0067" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c26a221e0462027d1f9d4a802ed63f8ab07a43d0", - "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c76d3881596860ead95f5444a5ce4414447f0067", + "reference": "c76d3881596860ead95f5444a5ce4414447f0067", "shasum": "" }, "require": { @@ -23172,7 +22924,7 @@ "symfony/mime": "<6.4", "symfony/property-access": "<5.4", "symfony/property-info": "<5.4", - "symfony/scheduler": "<6.4", + "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", "symfony/security-core": "<5.4", "symfony/security-csrf": "<5.4", "symfony/serializer": "<6.4", @@ -23211,7 +22963,7 @@ "symfony/process": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/scheduler": "^6.4|^7.0", + "symfony/scheduler": "^6.4.4|^7.0.4", "symfony/security-bundle": "^5.4|^6.0|^7.0", "symfony/semaphore": "^5.4|^6.0|^7.0", "symfony/serializer": "^6.4|^7.0", @@ -23224,7 +22976,7 @@ "symfony/web-link": "^5.4|^6.0|^7.0", "symfony/workflow": "^6.4|^7.0", "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/twig": "^2.10|^3.0" + "twig/twig": "^2.10|^3.0.4" }, "type": "symfony-bundle", "autoload": { @@ -23252,7 +23004,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.2" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.4" }, "funding": [ { @@ -23268,20 +23020,20 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:34:34+00:00" + "time": "2024-02-22T22:50:59+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9" + "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5677bdf7cade4619cb17fc9e1e7b31ec392244a9", - "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", "shasum": "" }, "require": { @@ -23329,7 +23081,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.3" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" }, "funding": [ { @@ -23345,20 +23097,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-08T15:01:18+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2" + "reference": "060038863743fd0cd982be06acecccf246d35653" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9c6ec4e543044f7568a53a76ab1484ecd30637a2", - "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/060038863743fd0cd982be06acecccf246d35653", + "reference": "060038863743fd0cd982be06acecccf246d35653", "shasum": "" }, "require": { @@ -23407,7 +23159,7 @@ "symfony/process": "^5.4|^6.0|^7.0", "symfony/property-access": "^5.4.5|^6.0.5|^7.0", "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", "symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/translation": "^5.4|^6.0|^7.0", "symfony/translation-contracts": "^2.5|^3", @@ -23442,7 +23194,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.3" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.6" }, "funding": [ { @@ -23458,20 +23210,20 @@ "type": "tidelift" } ], - "time": "2024-01-31T07:21:29+00:00" + "time": "2024-04-03T06:09:15+00:00" }, { "name": "symfony/intl", - "version": "v6.4.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "4f45148f7eb984ef12b1f7e123205ab904828839" + "reference": "2628ded562ca132ed7cdea72f5ec6aaf65d94414" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/4f45148f7eb984ef12b1f7e123205ab904828839", - "reference": "4f45148f7eb984ef12b1f7e123205ab904828839", + "url": "https://api.github.com/repos/symfony/intl/zipball/2628ded562ca132ed7cdea72f5ec6aaf65d94414", + "reference": "2628ded562ca132ed7cdea72f5ec6aaf65d94414", "shasum": "" }, "require": { @@ -23524,7 +23276,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v6.4.2" + "source": "https://github.com/symfony/intl/tree/v6.4.3" }, "funding": [ { @@ -23540,20 +23292,20 @@ "type": "tidelift" } ], - "time": "2023-12-26T18:38:00+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee" + "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/74412c62f88a85a41b61f0b71ab0afcaad6f03ee", - "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee", + "url": "https://api.github.com/repos/symfony/mailer/zipball/677f34a6f4b4559e08acf73ae0aec460479e5859", + "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859", "shasum": "" }, "require": { @@ -23604,7 +23356,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.3" + "source": "https://github.com/symfony/mailer/tree/v6.4.6" }, "funding": [ { @@ -23620,20 +23372,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T15:01:07+00:00" + "time": "2024-03-27T21:14:17+00:00" }, { "name": "symfony/mime", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "5017e0a9398c77090b7694be46f20eb796262a34" + "reference": "14762b86918823cb42e3558cdcca62e58b5227fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/5017e0a9398c77090b7694be46f20eb796262a34", - "reference": "5017e0a9398c77090b7694be46f20eb796262a34", + "url": "https://api.github.com/repos/symfony/mime/zipball/14762b86918823cb42e3558cdcca62e58b5227fe", + "reference": "14762b86918823cb42e3558cdcca62e58b5227fe", "shasum": "" }, "require": { @@ -23654,6 +23406,7 @@ "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.4|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", "symfony/serializer": "^6.3.2|^7.0" @@ -23688,7 +23441,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.3" + "source": "https://github.com/symfony/mime/tree/v6.4.6" }, "funding": [ { @@ -23704,7 +23457,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:32:12+00:00" + "time": "2024-03-21T19:36:20+00:00" }, { "name": "symfony/options-resolver", @@ -24104,16 +23857,16 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "e46b4da57951a16053cd751f63f4a24292788157" + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157", - "reference": "e46b4da57951a16053cd751f63f4a24292788157", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", "shasum": "" }, "require": { @@ -24124,9 +23877,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -24171,7 +23921,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" }, "funding": [ { @@ -24187,7 +23937,7 @@ "type": "tidelift" } ], - "time": "2023-03-21T17:27:24+00:00" + "time": "2024-01-29T20:12:16+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -24754,16 +24504,16 @@ }, { "name": "symfony/process", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" + "reference": "710e27879e9be3395de2b98da3f52a946039f297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", + "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", + "reference": "710e27879e9be3395de2b98da3f52a946039f297", "shasum": "" }, "require": { @@ -24795,7 +24545,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.3" + "source": "https://github.com/symfony/process/tree/v6.4.4" }, "funding": [ { @@ -24811,20 +24561,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-20T12:31:00+00:00" }, { "name": "symfony/property-access", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "dd22c9247a16c712bfa128b3c90ebdd505102778" + "reference": "304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/dd22c9247a16c712bfa128b3c90ebdd505102778", - "reference": "dd22c9247a16c712bfa128b3c90ebdd505102778", + "url": "https://api.github.com/repos/symfony/property-access/zipball/304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7", + "reference": "304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7", "shasum": "" }, "require": { @@ -24872,7 +24622,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v6.4.3" + "source": "https://github.com/symfony/property-access/tree/v6.4.6" }, "funding": [ { @@ -24888,20 +24638,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-19T11:56:30+00:00" }, { "name": "symfony/property-info", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "e96d740ab5ac39aa530c8eaa0720ea8169118e26" + "reference": "893120c46f8b78086d5bee90f91d6ff85e4057f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/e96d740ab5ac39aa530c8eaa0720ea8169118e26", - "reference": "e96d740ab5ac39aa530c8eaa0720ea8169118e26", + "url": "https://api.github.com/repos/symfony/property-info/zipball/893120c46f8b78086d5bee90f91d6ff85e4057f2", + "reference": "893120c46f8b78086d5bee90f91d6ff85e4057f2", "shasum": "" }, "require": { @@ -24955,7 +24705,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v6.4.3" + "source": "https://github.com/symfony/property-info/tree/v6.4.6" }, "funding": [ { @@ -24971,20 +24721,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-27T22:00:14+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47" + "reference": "98059dd19bae6579a294e0fe5b3dfdbeb409845a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/49cfb0223ec64379f7154214dcc1f7c46f3c7a47", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/98059dd19bae6579a294e0fe5b3dfdbeb409845a", + "reference": "98059dd19bae6579a294e0fe5b3dfdbeb409845a", "shasum": "" }, "require": { @@ -25038,7 +24788,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.3" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.6" }, "funding": [ { @@ -25054,20 +24804,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-27T22:00:14+00:00" }, { "name": "symfony/routing", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" + "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "url": "https://api.github.com/repos/symfony/routing/zipball/f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", + "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", "shasum": "" }, "require": { @@ -25121,7 +24871,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.3" + "source": "https://github.com/symfony/routing/tree/v6.4.6" }, "funding": [ { @@ -25137,20 +24887,20 @@ "type": "tidelift" } ], - "time": "2024-01-30T13:55:02+00:00" + "time": "2024-03-28T13:28:49+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "51a06ee93c4d5ab5b9edaa0635d8b83953e3c14d" + "reference": "3697adf91f83516c86b4912c08c28084711ed560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/51a06ee93c4d5ab5b9edaa0635d8b83953e3c14d", - "reference": "51a06ee93c4d5ab5b9edaa0635d8b83953e3c14d", + "url": "https://api.github.com/repos/symfony/serializer/zipball/3697adf91f83516c86b4912c08c28084711ed560", + "reference": "3697adf91f83516c86b4912c08c28084711ed560", "shasum": "" }, "require": { @@ -25219,7 +24969,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.3" + "source": "https://github.com/symfony/serializer/tree/v6.4.6" }, "funding": [ { @@ -25235,20 +24985,20 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:32:12+00:00" + "time": "2024-03-27T22:00:14+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.1", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + "reference": "11bbf19a0fb7b36345861e85c5768844c552906e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e", + "reference": "11bbf19a0fb7b36345861e85c5768844c552906e", "shasum": "" }, "require": { @@ -25301,7 +25051,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.2" }, "funding": [ { @@ -25317,20 +25067,20 @@ "type": "tidelift" } ], - "time": "2023-12-26T14:02:43+00:00" + "time": "2023-12-19T21:51:00+00:00" }, { "name": "symfony/string", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b" + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b", + "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", "shasum": "" }, "require": { @@ -25387,7 +25137,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.3" + "source": "https://github.com/symfony/string/tree/v6.4.4" }, "funding": [ { @@ -25403,20 +25153,20 @@ "type": "tidelift" } ], - "time": "2024-01-25T09:26:29+00:00" + "time": "2024-02-01T13:16:41+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.1", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "06450585bf65e978026bda220cdebca3f867fde7" + "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", - "reference": "06450585bf65e978026bda220cdebca3f867fde7", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", + "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", "shasum": "" }, "require": { @@ -25465,7 +25215,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.2" }, "funding": [ { @@ -25481,20 +25231,129 @@ "type": "tidelift" } ], - "time": "2023-12-26T14:02:43+00:00" + "time": "2024-01-23T14:51:35+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v6.4.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "256f330026d1c97187b61aa5c29e529499877f13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/256f330026d1c97187b61aa5c29e529499877f13", + "reference": "256f330026d1c97187b61aa5c29e529499877f13", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/translation-contracts": "^2.5|^3", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<5.4", + "symfony/form": "<6.3", + "symfony/http-foundation": "<5.4", + "symfony/http-kernel": "<6.4", + "symfony/mime": "<6.2", + "symfony/serializer": "<6.4", + "symfony/translation": "<5.4", + "symfony/workflow": "<5.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.3|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/form": "^6.4|^7.0", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^5.4|^6.0|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/security-http": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^6.1|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/workflow": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "twig/cssinliner-extra": "^2.12|^3", + "twig/inky-extra": "^2.12|^3", + "twig/markdown-extra": "^2.12|^3" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for Twig with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-15T11:26:02+00:00" }, { "name": "symfony/validator", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "9c1d8bb4edce5304fcefca7923741085f1ca5b60" + "reference": "ca1d78e8677e966e307a63799677b64b194d735d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/9c1d8bb4edce5304fcefca7923741085f1ca5b60", - "reference": "9c1d8bb4edce5304fcefca7923741085f1ca5b60", + "url": "https://api.github.com/repos/symfony/validator/zipball/ca1d78e8677e966e307a63799677b64b194d735d", + "reference": "ca1d78e8677e966e307a63799677b64b194d735d", "shasum": "" }, "require": { @@ -25561,7 +25420,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.3" + "source": "https://github.com/symfony/validator/tree/v6.4.6" }, "funding": [ { @@ -25577,20 +25436,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T15:01:07+00:00" + "time": "2024-03-27T22:00:14+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0435a08f69125535336177c29d56af3abc1f69da" + "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", - "reference": "0435a08f69125535336177c29d56af3abc1f69da", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/95bd2706a97fb875185b51ecaa6112ec184233d4", + "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4", "shasum": "" }, "require": { @@ -25646,7 +25505,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.3" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.6" }, "funding": [ { @@ -25662,20 +25521,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:53:30+00:00" + "time": "2024-03-19T11:56:30+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.3", + "version": "v6.4.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8" + "reference": "20888cf4d11de203613515cf0587828bf5af0fe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", - "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/20888cf4d11de203613515cf0587828bf5af0fe7", + "reference": "20888cf4d11de203613515cf0587828bf5af0fe7", "shasum": "" }, "require": { @@ -25683,6 +25542,8 @@ "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", @@ -25721,7 +25582,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.3" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.6" }, "funding": [ { @@ -25737,7 +25598,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-03-20T21:07:14+00:00" }, { "name": "symfony/yaml", @@ -25813,16 +25674,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -25851,7 +25712,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -25859,113 +25720,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" - }, - { - "name": "tvdijen/twig-bridge", - "version": "v6.0.20", - "source": { - "type": "git", - "url": "https://github.com/tvdijen/twig-bridge.git", - "reference": "f3ed9df2f165bfec44ac062d96ecca0b2146af74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tvdijen/twig-bridge/zipball/f3ed9df2f165bfec44ac062d96ecca0b2146af74", - "reference": "f3ed9df2f165bfec44ac062d96ecca0b2146af74", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/translation-contracts": "^1.1|^2|^3", - "twig/twig": "^2.13|^3.0.4" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.4", - "symfony/form": "<5.4", - "symfony/http-foundation": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/translation": "<5.4", - "symfony/workflow": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "egulias/email-validator": "^2.1.10|^3|^4", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/form": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/routing": "^5.4|^6.0", - "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^5.4|^6.0", - "symfony/security-csrf": "^5.4|^6.0", - "symfony/security-http": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/web-link": "^5.4|^6.0", - "symfony/workflow": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0", - "twig/cssinliner-extra": "^2.12|^3", - "twig/inky-extra": "^2.12|^3", - "twig/markdown-extra": "^2.12|^3" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security-core": "For using the SecurityExtension", - "symfony/security-csrf": "For using the CsrfExtension", - "symfony/security-http": "For using the LogoutUrlExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides integration for Twig with various Symfony components", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/tvdijen/twig-bridge/tree/v6.0.20" - }, - "time": "2023-11-13T19:46:59+00:00" + "time": "2024-03-03T12:36:25+00:00" }, { "name": "twig/intl-extra", @@ -26105,16 +25860,16 @@ }, { "name": "va-gov/content-build", - "version": "v0.0.3444", + "version": "v0.0.3476", "source": { "type": "git", "url": "https://github.com/department-of-veterans-affairs/content-build.git", - "reference": "988b6e091aa1bf53e8ddf29a2e9f80615b3bc3be" + "reference": "43940918cf163c744b8e0471585f8afd570eb271" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/988b6e091aa1bf53e8ddf29a2e9f80615b3bc3be", - "reference": "988b6e091aa1bf53e8ddf29a2e9f80615b3bc3be", + "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/43940918cf163c744b8e0471585f8afd570eb271", + "reference": "43940918cf163c744b8e0471585f8afd570eb271", "shasum": "" }, "type": "node-project", @@ -26141,9 +25896,9 @@ "description": "Front-end for VA.gov. This repository contains the code that generates the www.va.gov website. It contains a Metalsmith static site builder that uses a Drupal CMS for content. This file is here to publish releases to https://packagist.org/packages/va-gov/content-build, so that the CMS CI system can install it and update it using standard composer processes, and so that we can run tests across both systems. See https://github.com/department-of-veterans-affairs/va.gov-cms for the CMS repo, and stand by for more documentation.", "support": { "issues": "https://github.com/department-of-veterans-affairs/content-build/issues", - "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3444" + "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3476" }, - "time": "2024-02-19T13:44:21+00:00" + "time": "2024-04-05T19:33:29+00:00" }, { "name": "vlucas/phpdotenv", @@ -26902,20 +26657,20 @@ }, { "name": "palantirnet/drupal-rector", - "version": "0.18.6", + "version": "0.20.1", "source": { "type": "git", "url": "https://github.com/palantirnet/drupal-rector.git", - "reference": "94650bc58a9b99b9616115fa3a9e89dfc1135928" + "reference": "dc2e858a5f5cea2ef3e2b770350169f0d0af926b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/palantirnet/drupal-rector/zipball/94650bc58a9b99b9616115fa3a9e89dfc1135928", - "reference": "94650bc58a9b99b9616115fa3a9e89dfc1135928", + "url": "https://api.github.com/repos/palantirnet/drupal-rector/zipball/dc2e858a5f5cea2ef3e2b770350169f0d0af926b", + "reference": "dc2e858a5f5cea2ef3e2b770350169f0d0af926b", "shasum": "" }, "require": { - "rector/rector": "~0.18.0", + "rector/rector": "^1.0", "webflo/drupal-finder": "^1.2" }, "replace": { @@ -26963,6 +26718,14 @@ { "name": "Matt Glaman", "email": "nmd.matt@gmail.com" + }, + { + "name": "Björn Brala", + "email": "drupal@bjorn.dev" + }, + { + "name": "Ken Rickard", + "email": "agentrickard@gmail.com" } ], "description": "Instant fixes for your Drupal code by using Rector.", @@ -26974,27 +26737,27 @@ "rector" ], "support": { - "source": "https://github.com/palantirnet/drupal-rector/tree/0.18.6" + "source": "https://github.com/palantirnet/drupal-rector/tree/0.20.1" }, - "time": "2023-12-28T16:38:54+00:00" + "time": "2024-03-09T19:12:48+00:00" }, { "name": "rector/rector", - "version": "0.18.13", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "f8011a76d36aa4f839f60f3b4f97707d97176618" + "reference": "c59507a9090b465d65e1aceed91e5b81986e375b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/f8011a76d36aa4f839f60f3b4f97707d97176618", - "reference": "f8011a76d36aa4f839f60f3b4f97707d97176618", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/c59507a9090b465d65e1aceed91e5b81986e375b", + "reference": "c59507a9090b465d65e1aceed91e5b81986e375b", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.10.35" + "phpstan/phpstan": "^1.10.57" }, "conflict": { "rector/rector-doctrine": "*", @@ -27024,7 +26787,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/0.18.13" + "source": "https://github.com/rectorphp/rector/tree/1.0.3" }, "funding": [ { @@ -27032,7 +26795,7 @@ "type": "github" } ], - "time": "2023-12-20T16:08:01+00:00" + "time": "2024-03-14T15:04:18+00:00" }, { "name": "symfony/css-selector", @@ -27128,7 +26891,6 @@ "drupal/fieldhelptext": 10, "drupal/flag": 10, "drupal/graphql_menu": 15, - "drupal/hook_event_dispatcher": 10, "drupal/image_style_warmer": 5, "drupal/jsonapi_resources": 10, "drupal/limited_field_widgets": 15, diff --git a/config/sync/advancedqueue.advancedqueue_queue.aging_content.yml b/config/sync/advancedqueue.advancedqueue_queue.aging_content.yml new file mode 100644 index 000000000..0da64e42d --- /dev/null +++ b/config/sync/advancedqueue.advancedqueue_queue.aging_content.yml @@ -0,0 +1,16 @@ +uuid: e68f801a-2c54-48af-9d65-c87e9fa42d7d +langcode: en +status: true +dependencies: { } +id: aging_content +label: 'Aging Content' +backend: database +backend_configuration: + lease_time: 30 +processor: cron +processing_time: 10 +locked: false +threshold: + type: 2 + limit: 30 + state: all diff --git a/config/sync/core.entity_form_display.message.aging_content_expired_fwb.default.yml b/config/sync/core.entity_form_display.message.aging_content_expired_fwb.default.yml new file mode 100644 index 000000000..3d4a9b5ac --- /dev/null +++ b/config/sync/core.entity_form_display.message.aging_content_expired_fwb.default.yml @@ -0,0 +1,54 @@ +uuid: 6985e86a-8c94-406c-830c-24b4087a52aa +langcode: en +status: true +dependencies: + config: + - field.field.message.aging_content_expired_fwb.field_expired_date + - field.field.message.aging_content_expired_fwb.field_target_entity + - field.field.message.aging_content_expired_fwb.field_target_node_title + - message.template.aging_content_expired_fwb +id: message.aging_content_expired_fwb.default +targetEntityType: message +bundle: aging_content_expired_fwb +mode: default +content: + created: + type: datetime_timestamp + weight: 10 + region: content + settings: { } + third_party_settings: { } + field_expired_date: + type: string_textfield + weight: 12 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_target_entity: + type: options_select + weight: 1 + region: content + settings: { } + third_party_settings: { } + field_target_node_title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 5 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + '#group': advanced +hidden: { } diff --git a/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml b/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml index 55a7e6fcc..2f83e9ccc 100644 --- a/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml +++ b/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -93,7 +92,7 @@ third_party_settings: label: 'VAMC system' region: content parent_name: '' - weight: 2 + weight: 3 format_type: fieldset format_settings: classes: '' @@ -107,7 +106,7 @@ third_party_settings: label: 'Title and summary' region: content parent_name: '' - weight: 3 + weight: 4 format_type: fieldset format_settings: classes: '' @@ -133,7 +132,7 @@ third_party_settings: label: 'Operating status' region: content parent_name: '' - weight: 1 + weight: 2 format_type: fieldset format_settings: classes: '' @@ -148,7 +147,7 @@ third_party_settings: label: 'Meta Tags' region: content parent_name: '' - weight: 4 + weight: 5 format_type: fieldset format_settings: classes: '' @@ -158,7 +157,6 @@ third_party_settings: group_locations_and_contact_info: children: - group_facility_data_from_vast - - field_mental_health_contact_phon label: 'Locations and contact information' region: content parent_name: '' @@ -179,7 +177,6 @@ third_party_settings: - field_geolocation - field_mobile - field_phone_number - - field_mental_health_phone - field_office_hours - field_timezone label: 'Facility data' @@ -318,16 +315,9 @@ content: settings: media_types: { } third_party_settings: { } - field_mental_health_contact_phon: - type: telephone_default - weight: 21 - region: content - settings: - placeholder: '' - third_party_settings: { } field_mental_health_phone: type: telephone_default - weight: 28 + weight: 1 region: content settings: placeholder: '' diff --git a/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml b/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml index bb8face28..e8f2e84b4 100644 --- a/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml +++ b/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -151,7 +150,6 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_contact_phon: true field_mental_health_phone: true field_meta_tags: true field_mobile: true diff --git a/config/sync/core.entity_form_display.node.person_profile.default.yml b/config/sync/core.entity_form_display.node.person_profile.default.yml index 03ce1a73b..5eb707bba 100644 --- a/config/sync/core.entity_form_display.node.person_profile.default.yml +++ b/config/sync/core.entity_form_display.node.person_profile.default.yml @@ -194,7 +194,7 @@ content: counter_position: after js_prevent_submit: false count_html_characters: false - textcount_status_message: '@remaining_count characters remaining' + textcount_status_message: '@remaining_count characters remaining' third_party_settings: { } field_last_name: type: string_textfield diff --git a/config/sync/core.entity_form_display.node.vba_facility.default.yml b/config/sync/core.entity_form_display.node.vba_facility.default.yml index 7ac4b106c..a4f2a334e 100644 --- a/config/sync/core.entity_form_display.node.vba_facility.default.yml +++ b/config/sync/core.entity_form_display.node.vba_facility.default.yml @@ -715,6 +715,7 @@ content: third_party_settings: { } hidden: created: true + field_intro_text: true langcode: true path: true promote: true diff --git a/config/sync/core.entity_form_mode.media.asset_library.yml b/config/sync/core.entity_form_mode.media.asset_library.yml index bbc557145..c0a8b80fb 100644 --- a/config/sync/core.entity_form_mode.media.asset_library.yml +++ b/config/sync/core.entity_form_mode.media.asset_library.yml @@ -6,5 +6,6 @@ dependencies: - media id: media.asset_library label: 'Asset library' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_form_mode.media.media_browser.yml b/config/sync/core.entity_form_mode.media.media_browser.yml index 96f9ce391..f9ee41a26 100644 --- a/config/sync/core.entity_form_mode.media.media_browser.yml +++ b/config/sync/core.entity_form_mode.media.media_browser.yml @@ -8,5 +8,6 @@ _core: default_config_hash: Za3bpBmZC2rMLheOZt4ssBRyDcnsxvBb5-66MAoDSU4 id: media.media_browser label: 'Media browser' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_form_mode.media.media_library.yml b/config/sync/core.entity_form_mode.media.media_library.yml index 8bde28482..e81bfe183 100644 --- a/config/sync/core.entity_form_mode.media.media_library.yml +++ b/config/sync/core.entity_form_mode.media.media_library.yml @@ -11,5 +11,6 @@ _core: default_config_hash: pkq0uj-IoqEQRBOP_ddUDV0ZJ-dKQ_fLcppsEDF2UO8 id: media.media_library label: 'Media library' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_form_mode.node.inline_entity_form.yml b/config/sync/core.entity_form_mode.node.inline_entity_form.yml index 726f8806a..6472e18a5 100644 --- a/config/sync/core.entity_form_mode.node.inline_entity_form.yml +++ b/config/sync/core.entity_form_mode.node.inline_entity_form.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.inline_entity_form label: 'Inline entity form' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_form_mode.user.register.yml b/config/sync/core.entity_form_mode.user.register.yml index d34f55d90..4ddc6d734 100644 --- a/config/sync/core.entity_form_mode.user.register.yml +++ b/config/sync/core.entity_form_mode.user.register.yml @@ -8,5 +8,6 @@ _core: default_config_hash: flXhTcp55yLcyy7ZLOhPGKGZobZQJdkAFVWV3LseiuI id: user.register label: Register +description: '' targetEntityType: user cache: true diff --git a/config/sync/core.entity_view_display.message.aging_content_expired_fwb.default.yml b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.default.yml new file mode 100644 index 000000000..c95f77d76 --- /dev/null +++ b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.default.yml @@ -0,0 +1,52 @@ +uuid: 520c6342-4cfe-495c-a46d-0200298971ef +langcode: en +status: true +dependencies: + config: + - field.field.message.aging_content_expired_fwb.field_expired_date + - field.field.message.aging_content_expired_fwb.field_target_entity + - field.field.message.aging_content_expired_fwb.field_target_node_title + - message.template.aging_content_expired_fwb + module: + - user +id: message.aging_content_expired_fwb.default +targetEntityType: message +bundle: aging_content_expired_fwb +mode: default +content: + field_expired_date: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content + field_target_entity: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 2 + region: content + field_target_node_title: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + partial_0: + settings: { } + third_party_settings: { } + weight: 0 + region: content + partial_1: + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_body.yml b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_body.yml new file mode 100644 index 000000000..f27ae3174 --- /dev/null +++ b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_body.yml @@ -0,0 +1,31 @@ +uuid: 65b608be-9dca-4eb2-8a24-051168c469f9 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.message.mail_body + - field.field.message.aging_content_expired_fwb.field_expired_date + - field.field.message.aging_content_expired_fwb.field_target_entity + - field.field.message.aging_content_expired_fwb.field_target_node_title + - message.template.aging_content_expired_fwb + module: + - layout_builder + - user +third_party_settings: + layout_builder: + enabled: false + allow_custom: false +id: message.aging_content_expired_fwb.mail_body +targetEntityType: message +bundle: aging_content_expired_fwb +mode: mail_body +content: + partial_1: + weight: 0 + region: content +hidden: + field_expired_date: true + field_target_entity: true + field_target_node_title: true + partial_0: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_subject.yml b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_subject.yml new file mode 100644 index 000000000..3756feb55 --- /dev/null +++ b/config/sync/core.entity_view_display.message.aging_content_expired_fwb.mail_subject.yml @@ -0,0 +1,41 @@ +uuid: 136d6206-532d-4ba5-8fb8-215377d18103 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.message.mail_subject + - field.field.message.aging_content_expired_fwb.field_expired_date + - field.field.message.aging_content_expired_fwb.field_target_entity + - field.field.message.aging_content_expired_fwb.field_target_node_title + - message.template.aging_content_expired_fwb + module: + - layout_builder + - string_field_formatter + - user +third_party_settings: + layout_builder: + enabled: false + allow_custom: false +id: message.aging_content_expired_fwb.mail_subject +targetEntityType: message +bundle: aging_content_expired_fwb +mode: mail_subject +content: + field_target_node_title: + type: plain_string_formatter + label: hidden + settings: + link_to_entity: false + wrap_tag: _none + wrap_class: '' + third_party_settings: { } + weight: 0 + region: content + partial_0: + weight: 0 + region: content +hidden: + field_expired_date: true + field_target_entity: true + partial_1: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml index 8a2ea63ce..f32cd9fda 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -95,7 +94,6 @@ third_party_settings: group_locations_and_contact_info: children: - group_facility_data_from_vast - - field_mental_health_contact_phon label: 'Locations and contact information' parent_name: '' region: content @@ -202,14 +200,6 @@ content: third_party_settings: { } weight: 0 region: content - field_mental_health_contact_phon: - type: telephone_link - label: inline - settings: - title: '' - third_party_settings: { } - weight: 20 - region: content field_mental_health_phone: type: telephone_link label: inline @@ -236,6 +226,7 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -251,6 +242,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml index c148f6326..4cecd404d 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -43,7 +42,7 @@ third_party_settings: label: Meta parent_name: '' region: hidden - weight: 13 + weight: 22 format_type: fieldset format_settings: classes: '' @@ -56,7 +55,7 @@ third_party_settings: label: 'Operating status' parent_name: '' region: hidden - weight: 11 + weight: 20 format_type: fieldset format_settings: classes: '' @@ -67,7 +66,7 @@ third_party_settings: label: 'Social media' parent_name: '' region: hidden - weight: 17 + weight: 26 format_type: details format_settings: classes: '' @@ -81,7 +80,7 @@ third_party_settings: label: 'Prepare for your visit' parent_name: '' region: hidden - weight: 14 + weight: 23 format_type: details format_settings: classes: '' @@ -94,7 +93,6 @@ third_party_settings: - field_address - field_mobile - field_phone_number - - field_mental_health_phone - field_office_hours label: 'Location Information' parent_name: '' @@ -133,7 +131,7 @@ third_party_settings: label: 'Title and summary' parent_name: '' region: hidden - weight: 12 + weight: 21 format_type: fieldset format_settings: classes: '' @@ -146,7 +144,7 @@ third_party_settings: label: 'Section settings' parent_name: '' region: hidden - weight: 15 + weight: 24 format_type: details_sidebar format_settings: classes: '' @@ -162,7 +160,7 @@ third_party_settings: label: 'Editorial workflow' parent_name: '' region: hidden - weight: 16 + weight: 25 format_type: fieldset format_settings: classes: '' @@ -192,14 +190,6 @@ content: third_party_settings: { } weight: 17 region: content - field_mental_health_phone: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 21 - region: content field_mobile: type: boolean label: above @@ -218,8 +208,10 @@ content: time_format: G compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed + all_day_format: 'All day open' separator: days: '
' grouped_days: ' - ' @@ -230,6 +222,12 @@ content: position: '' open_text: 'Currently open!' closed_text: 'Currently closed' + exceptions: + title: 'Exception hours' + replace_exceptions: false + restrict_exceptions_to_num_days: 7 + date_format: long + all_day_format: 'All day open' timezone_field: '' office_hours_first_day: '' schema: @@ -268,7 +266,7 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_contact_phon: true + field_mental_health_phone: true field_meta_tags: true field_meta_title: true field_operating_status_facility: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml index 54d54c1bd..d978097d7 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -120,7 +119,6 @@ hidden: field_local_health_care_service_: true field_location_services: true field_main_location: true - field_mental_health_contact_phon: true field_mental_health_phone: true field_meta_tags: true field_mobile: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml index 45398d626..23950b24f 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_contact_phon - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile @@ -96,7 +95,6 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_contact_phon: true field_mental_health_phone: true field_meta_tags: true field_mobile: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_health_service.system_services_listings.yml b/config/sync/core.entity_view_display.node.health_care_local_health_service.system_services_listings.yml new file mode 100644 index 000000000..c3a49fc90 --- /dev/null +++ b/config/sync/core.entity_view_display.node.health_care_local_health_service.system_services_listings.yml @@ -0,0 +1,159 @@ +uuid: d5b7a358-c460-4ab7-b84e-399a37336059 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.system_services_listings + - field.field.node.health_care_local_health_service.field_administration + - field.field.node.health_care_local_health_service.field_appointments_help_text + - field.field.node.health_care_local_health_service.field_enforce_unique_combo + - field.field.node.health_care_local_health_service.field_facility_location + - field.field.node.health_care_local_health_service.field_facility_service_loc_help + - field.field.node.health_care_local_health_service.field_hservice_appt_intro_select + - field.field.node.health_care_local_health_service.field_hservice_appt_leadin + - field.field.node.health_care_local_health_service.field_hservices_lead_in_default + - field.field.node.health_care_local_health_service.field_last_saved_by_an_editor + - field.field.node.health_care_local_health_service.field_online_scheduling_availabl + - field.field.node.health_care_local_health_service.field_phone_numbers_paragraph + - field.field.node.health_care_local_health_service.field_referral_required + - field.field.node.health_care_local_health_service.field_regional_health_service + - field.field.node.health_care_local_health_service.field_service_location + - field.field.node.health_care_local_health_service.field_walk_ins_accepted + - node.type.health_care_local_health_service + module: + - allow_only_one + - entity_reference_revisions + - field_group + - layout_builder + - markup + - options + - user +third_party_settings: + field_group: + group_vha_health_service_name_an: + children: { } + label: 'VHA and VAMC health service description' + parent_name: '' + region: hidden + weight: 15 + format_type: fieldset + format_settings: + classes: '' + id: '' + description: '' + group_facility_description_of_se: + children: { } + label: 'Facility description of service (this field will be no longer be used in 2021)' + parent_name: '' + region: hidden + weight: 14 + format_type: fieldset + format_settings: + classes: '' + id: '' + description: '' + group_appointments: + children: + - field_hservice_appt_intro_select + - field_hservice_appt_leadin + - field_hservices_lead_in_default + - field_referral_required + - field_walk_ins_accepted + - field_online_scheduling_availabl + - field_phone_numbers_paragraph + label: Appointments + parent_name: '' + region: content + weight: 0 + format_type: fieldset + format_settings: + classes: '' + id: '' + description: '' + layout_builder: + enabled: false + allow_custom: false +id: node.health_care_local_health_service.system_services_listings +targetEntityType: node +bundle: health_care_local_health_service +mode: system_services_listings +content: + field_enforce_unique_combo: + type: allow_only_one + label: above + settings: { } + third_party_settings: { } + weight: 2 + region: content + field_hservice_appt_intro_select: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 4 + region: content + field_hservice_appt_leadin: + type: basic_string + label: above + settings: { } + third_party_settings: { } + weight: 5 + region: content + field_hservices_lead_in_default: + type: markup + label: above + settings: { } + third_party_settings: { } + weight: 6 + region: content + field_online_scheduling_availabl: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 9 + region: content + field_phone_numbers_paragraph: + type: entity_reference_revisions_entity_view + label: above + settings: + view_mode: default + link: '' + third_party_settings: { } + weight: 10 + region: content + field_referral_required: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 7 + region: content + field_service_location: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: default + link: '' + third_party_settings: { } + weight: 1 + region: content + field_walk_ins_accepted: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 8 + region: content +hidden: + breadcrumbs: true + content_moderation_control: true + field_administration: true + field_appointments_help_text: true + field_facility_location: true + field_facility_service_loc_help: true + field_last_saved_by_an_editor: true + field_regional_health_service: true + langcode: true + links: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.nca_facility.default.yml b/config/sync/core.entity_view_display.node.nca_facility.default.yml index ace5a39aa..0d3a3fd0b 100644 --- a/config/sync/core.entity_view_display.node.nca_facility.default.yml +++ b/config/sync/core.entity_view_display.node.nca_facility.default.yml @@ -147,6 +147,7 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -162,6 +163,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.nca_facility.external_content.yml b/config/sync/core.entity_view_display.node.nca_facility.external_content.yml index 47764716f..8971f7704 100644 --- a/config/sync/core.entity_view_display.node.nca_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.nca_facility.external_content.yml @@ -123,6 +123,7 @@ content: time_format: G compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -138,6 +139,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.regional_health_care_service_des.default.yml b/config/sync/core.entity_view_display.node.regional_health_care_service_des.default.yml index 52b6ba5c3..d1f9f1c15 100644 --- a/config/sync/core.entity_view_display.node.regional_health_care_service_des.default.yml +++ b/config/sync/core.entity_view_display.node.regional_health_care_service_des.default.yml @@ -79,7 +79,7 @@ content: type: entity_reference_entity_view label: hidden settings: - view_mode: default + view_mode: system_services_listings link: false third_party_settings: { } weight: 5 diff --git a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml index 1ceff4f04..22bb2be05 100644 --- a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml +++ b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml @@ -158,6 +158,7 @@ content: time_format: G compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -173,6 +174,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml index 83988b17b..7168fa4b4 100644 --- a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml +++ b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml @@ -131,6 +131,7 @@ content: time_format: G compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -146,6 +147,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vba_facility.default.yml b/config/sync/core.entity_view_display.node.vba_facility.default.yml index f826dffb8..0b1ed0fea 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.default.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.default.yml @@ -436,6 +436,7 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -451,6 +452,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' @@ -525,6 +527,7 @@ hidden: field_cc_meta_tags: true field_facility_vba_classificatio: true field_geolocation: true + field_intro_text: true field_last_saved_by_an_editor: true field_table_of_contents: true flag_awaiting_csv: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml index e5dd49d18..2c747e19c 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml @@ -21,6 +21,7 @@ dependencies: - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation + - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_local_spotlight - field.field.node.vba_facility.field_media @@ -196,6 +197,7 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -211,6 +213,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' @@ -260,6 +263,7 @@ hidden: field_cc_national_spotlight_1: true field_cc_vba_facility_overview: true field_dismissible_option: true + field_intro_text: true field_last_saved_by_an_editor: true field_local_spotlight: true field_location_services: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml index 40a13173f..410745c7c 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml @@ -130,6 +130,7 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -145,6 +146,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' @@ -195,6 +197,7 @@ hidden: field_dismissible_option: true field_facility_vba_classificatio: true field_geolocation: true + field_intro_text: true field_last_saved_by_an_editor: true field_local_spotlight: true field_location_services: true diff --git a/config/sync/core.entity_view_display.node.vet_center.default.yml b/config/sync/core.entity_view_display.node.vet_center.default.yml index 56d7309d3..f700d5a5f 100644 --- a/config/sync/core.entity_view_display.node.vet_center.default.yml +++ b/config/sync/core.entity_view_display.node.vet_center.default.yml @@ -277,8 +277,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -292,6 +293,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vet_center.external_content.yml b/config/sync/core.entity_view_display.node.vet_center.external_content.yml index 8083781a2..f03e7fab3 100644 --- a/config/sync/core.entity_view_display.node.vet_center.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center.external_content.yml @@ -82,8 +82,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -97,6 +98,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vet_center_cap.default.yml b/config/sync/core.entity_view_display.node.vet_center_cap.default.yml index 8376ec091..0d9539c26 100644 --- a/config/sync/core.entity_view_display.node.vet_center_cap.default.yml +++ b/config/sync/core.entity_view_display.node.vet_center_cap.default.yml @@ -119,8 +119,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -134,6 +135,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.default.yml b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.default.yml index f50f57064..bec3e39af 100644 --- a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.default.yml +++ b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.default.yml @@ -108,8 +108,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -123,6 +124,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml index 04c0ff14b..6e2892f5c 100644 --- a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml @@ -74,8 +74,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -89,6 +90,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml b/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml index d018d064d..54ac27947 100644 --- a/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml @@ -76,8 +76,9 @@ content: time_format: g compress: false grouped: false + show_empty: true show_closed: all - closed_format: '' + closed_format: Closed all_day_format: 'All day open' separator: days: '
' @@ -91,6 +92,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.paragraph.service_location.default.yml b/config/sync/core.entity_view_display.paragraph.service_location.default.yml index ef08383f4..a159441c0 100644 --- a/config/sync/core.entity_view_display.paragraph.service_location.default.yml +++ b/config/sync/core.entity_view_display.paragraph.service_location.default.yml @@ -112,6 +112,7 @@ content: time_format: g compress: false grouped: false + show_empty: false show_closed: all closed_format: Closed all_day_format: 'All day open' @@ -127,6 +128,7 @@ content: closed_text: 'Currently closed' exceptions: title: 'Exception hours' + replace_exceptions: false restrict_exceptions_to_num_days: 7 date_format: long all_day_format: 'All day open' diff --git a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml index dec95799e..5ef0bef3c 100644 --- a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml +++ b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml @@ -270,7 +270,7 @@ content: weight: 6 region: content hidden: + content_moderation_control: true field_owner: true langcode: true search_api_excerpt: true - content_moderation_control: true diff --git a/config/sync/core.entity_view_mode.block.token.yml b/config/sync/core.entity_view_mode.block.token.yml index 796e64a1c..823dbffdc 100644 --- a/config/sync/core.entity_view_mode.block.token.yml +++ b/config/sync/core.entity_view_mode.block.token.yml @@ -6,5 +6,6 @@ dependencies: - block id: block.token label: Token +description: '' targetEntityType: block cache: true diff --git a/config/sync/core.entity_view_mode.block_content.full.yml b/config/sync/core.entity_view_mode.block_content.full.yml index 3fd488721..1b71b7b1a 100644 --- a/config/sync/core.entity_view_mode.block_content.full.yml +++ b/config/sync/core.entity_view_mode.block_content.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: 4tedlMuvQjDOdvHdw86_e-2Rt78aR7TGFMfOK8Ejppg id: block_content.full label: Full +description: '' targetEntityType: block_content cache: true diff --git a/config/sync/core.entity_view_mode.block_content.ief_table.yml b/config/sync/core.entity_view_mode.block_content.ief_table.yml index 9d3183456..26289aa7a 100644 --- a/config/sync/core.entity_view_mode.block_content.ief_table.yml +++ b/config/sync/core.entity_view_mode.block_content.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - block_content id: block_content.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: block_content cache: true diff --git a/config/sync/core.entity_view_mode.block_content.token.yml b/config/sync/core.entity_view_mode.block_content.token.yml index 614a9c387..c77d0b966 100644 --- a/config/sync/core.entity_view_mode.block_content.token.yml +++ b/config/sync/core.entity_view_mode.block_content.token.yml @@ -6,5 +6,6 @@ dependencies: - block_content id: block_content.token label: Token +description: '' targetEntityType: block_content cache: true diff --git a/config/sync/core.entity_view_mode.consumer.token.yml b/config/sync/core.entity_view_mode.consumer.token.yml index 30f41a0d1..f076d0ced 100644 --- a/config/sync/core.entity_view_mode.consumer.token.yml +++ b/config/sync/core.entity_view_mode.consumer.token.yml @@ -6,5 +6,6 @@ dependencies: - consumers id: consumer.token label: Token +description: '' targetEntityType: consumer cache: true diff --git a/config/sync/core.entity_view_mode.content_moderation_state.token.yml b/config/sync/core.entity_view_mode.content_moderation_state.token.yml index 30168a1ee..84547fa89 100644 --- a/config/sync/core.entity_view_mode.content_moderation_state.token.yml +++ b/config/sync/core.entity_view_mode.content_moderation_state.token.yml @@ -6,5 +6,6 @@ dependencies: - content_moderation id: content_moderation_state.token label: Token +description: '' targetEntityType: content_moderation_state cache: true diff --git a/config/sync/core.entity_view_mode.corresponding_reference.ief_table.yml b/config/sync/core.entity_view_mode.corresponding_reference.ief_table.yml index da1093729..30fa2cb82 100644 --- a/config/sync/core.entity_view_mode.corresponding_reference.ief_table.yml +++ b/config/sync/core.entity_view_mode.corresponding_reference.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - cer id: corresponding_reference.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: corresponding_reference cache: true diff --git a/config/sync/core.entity_view_mode.file.token.yml b/config/sync/core.entity_view_mode.file.token.yml index 8fb85aeb9..dde47f055 100644 --- a/config/sync/core.entity_view_mode.file.token.yml +++ b/config/sync/core.entity_view_mode.file.token.yml @@ -6,5 +6,6 @@ dependencies: - file id: file.token label: Token +description: '' targetEntityType: file cache: true diff --git a/config/sync/core.entity_view_mode.media.download_link.yml b/config/sync/core.entity_view_mode.media.download_link.yml index 50f808fac..4fab9ab77 100644 --- a/config/sync/core.entity_view_mode.media.download_link.yml +++ b/config/sync/core.entity_view_mode.media.download_link.yml @@ -6,5 +6,6 @@ dependencies: - media id: media.download_link label: 'Download link' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.embedded.yml b/config/sync/core.entity_view_mode.media.embedded.yml index da0102991..cb1ce8176 100644 --- a/config/sync/core.entity_view_mode.media.embedded.yml +++ b/config/sync/core.entity_view_mode.media.embedded.yml @@ -8,5 +8,6 @@ _core: default_config_hash: IvohHEiv_tHXtdBNMu7elD10mqN5cVonX-h3Z4vCpZs id: media.embedded label: Embedded +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.full.yml b/config/sync/core.entity_view_mode.media.full.yml index baedb5669..9aa0df282 100644 --- a/config/sync/core.entity_view_mode.media.full.yml +++ b/config/sync/core.entity_view_mode.media.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: 6NBUEuGmlkClK8Fb76tSMMpO2eZ4LWCBdbUk4z7CuP0 id: media.full label: 'Full content' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.ief_table.yml b/config/sync/core.entity_view_mode.media.ief_table.yml index eafa1b423..af83532d8 100644 --- a/config/sync/core.entity_view_mode.media.ief_table.yml +++ b/config/sync/core.entity_view_mode.media.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - media id: media.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.media_library.yml b/config/sync/core.entity_view_mode.media.media_library.yml index e54c858ee..cc2af8e9f 100644 --- a/config/sync/core.entity_view_mode.media.media_library.yml +++ b/config/sync/core.entity_view_mode.media.media_library.yml @@ -11,5 +11,6 @@ _core: default_config_hash: pkq0uj-IoqEQRBOP_ddUDV0ZJ-dKQ_fLcppsEDF2UO8 id: media.media_library label: 'Media library' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.slideshow.yml b/config/sync/core.entity_view_mode.media.slideshow.yml index fb0b39ca6..a4f5935a1 100644 --- a/config/sync/core.entity_view_mode.media.slideshow.yml +++ b/config/sync/core.entity_view_mode.media.slideshow.yml @@ -8,5 +8,6 @@ _core: default_config_hash: ssTEDxHl--oa62ZacqX_BSgSdPkAXqGQHPZzvRQflEc id: media.slideshow label: Slideshow +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.thumbnail.yml b/config/sync/core.entity_view_mode.media.thumbnail.yml index c6502ff6e..f5ba12065 100644 --- a/config/sync/core.entity_view_mode.media.thumbnail.yml +++ b/config/sync/core.entity_view_mode.media.thumbnail.yml @@ -8,5 +8,6 @@ _core: default_config_hash: f_DojbcC2b9kUiXE-CtRR_l61_Njy68gJMsP4M_6F6w id: media.thumbnail label: Thumbnail +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.token.yml b/config/sync/core.entity_view_mode.media.token.yml index ca05a0b11..746546db6 100644 --- a/config/sync/core.entity_view_mode.media.token.yml +++ b/config/sync/core.entity_view_mode.media.token.yml @@ -6,5 +6,6 @@ dependencies: - media id: media.token label: Token +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.media.user_guides.yml b/config/sync/core.entity_view_mode.media.user_guides.yml index 506bef8c8..b9522d78b 100644 --- a/config/sync/core.entity_view_mode.media.user_guides.yml +++ b/config/sync/core.entity_view_mode.media.user_guides.yml @@ -6,5 +6,6 @@ dependencies: - media id: media.user_guides label: 'Knowledge Base' +description: '' targetEntityType: media cache: true diff --git a/config/sync/core.entity_view_mode.menu_link_content.token.yml b/config/sync/core.entity_view_mode.menu_link_content.token.yml index 95e993a47..701e7c00b 100644 --- a/config/sync/core.entity_view_mode.menu_link_content.token.yml +++ b/config/sync/core.entity_view_mode.menu_link_content.token.yml @@ -6,5 +6,6 @@ dependencies: - menu_link_content id: menu_link_content.token label: Token +description: '' targetEntityType: menu_link_content cache: true diff --git a/config/sync/core.entity_view_mode.message.full.yml b/config/sync/core.entity_view_mode.message.full.yml index 33156b31a..4506cd72e 100644 --- a/config/sync/core.entity_view_mode.message.full.yml +++ b/config/sync/core.entity_view_mode.message.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: Pl6xok1fBCKaPlLC4iDJVaucp2W72csXt7M3Jwa95nU id: message.full label: 'Full content' +description: '' targetEntityType: message cache: true diff --git a/config/sync/core.entity_view_mode.message.mail_body.yml b/config/sync/core.entity_view_mode.message.mail_body.yml index b2cb369b2..8a2408078 100644 --- a/config/sync/core.entity_view_mode.message.mail_body.yml +++ b/config/sync/core.entity_view_mode.message.mail_body.yml @@ -8,5 +8,6 @@ _core: default_config_hash: uhACH_XKkZHCWXc_DdovxtfxI2sUKIFxn6Hnl7ZmQeU id: message.mail_body label: 'Notify - Email body' +description: '' targetEntityType: message cache: true diff --git a/config/sync/core.entity_view_mode.message.mail_subject.yml b/config/sync/core.entity_view_mode.message.mail_subject.yml index e5956b26b..964657150 100644 --- a/config/sync/core.entity_view_mode.message.mail_subject.yml +++ b/config/sync/core.entity_view_mode.message.mail_subject.yml @@ -8,5 +8,6 @@ _core: default_config_hash: oEpQRdvbNOf_zOLFMVB72xOu09bAn8SQqlc7H2vI_-Q id: message.mail_subject label: 'Notify - Email subject' +description: '' targetEntityType: message cache: true diff --git a/config/sync/core.entity_view_mode.message.slack.yml b/config/sync/core.entity_view_mode.message.slack.yml index 8a52a3aee..c125997c2 100644 --- a/config/sync/core.entity_view_mode.message.slack.yml +++ b/config/sync/core.entity_view_mode.message.slack.yml @@ -6,5 +6,6 @@ dependencies: - message id: message.slack label: 'Notify - Slack' +description: '' targetEntityType: message cache: true diff --git a/config/sync/core.entity_view_mode.node.connect_with_us.yml b/config/sync/core.entity_view_mode.node.connect_with_us.yml index e25260925..270c03c70 100644 --- a/config/sync/core.entity_view_mode.node.connect_with_us.yml +++ b/config/sync/core.entity_view_mode.node.connect_with_us.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.connect_with_us label: 'Connect with Us' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.diff.yml b/config/sync/core.entity_view_mode.node.diff.yml index 9f5c4a092..c826061ab 100644 --- a/config/sync/core.entity_view_mode.node.diff.yml +++ b/config/sync/core.entity_view_mode.node.diff.yml @@ -12,5 +12,6 @@ _core: default_config_hash: pqZNtad5J9THcdbYjwPD4qINqvrTxnOd8KCWn6tUBRs id: node.diff label: 'Revision comparison' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.external_content.yml b/config/sync/core.entity_view_mode.node.external_content.yml index 28eada6cf..2f8ffe0e6 100644 --- a/config/sync/core.entity_view_mode.node.external_content.yml +++ b/config/sync/core.entity_view_mode.node.external_content.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.external_content label: 'External content' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.full.yml b/config/sync/core.entity_view_mode.node.full.yml index 9c6e49938..d03551be7 100644 --- a/config/sync/core.entity_view_mode.node.full.yml +++ b/config/sync/core.entity_view_mode.node.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: ElrtInxGjZd7GaapJ5O9n-ugi2hG2IxFivtgn0tHOsk id: node.full label: 'Full content' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.ief_table.yml b/config/sync/core.entity_view_mode.node.ief_table.yml index 2b5d6fc08..e81595815 100644 --- a/config/sync/core.entity_view_mode.node.ief_table.yml +++ b/config/sync/core.entity_view_mode.node.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.rss.yml b/config/sync/core.entity_view_mode.node.rss.yml index 446945ad4..a23e5bc99 100644 --- a/config/sync/core.entity_view_mode.node.rss.yml +++ b/config/sync/core.entity_view_mode.node.rss.yml @@ -8,5 +8,6 @@ _core: default_config_hash: vlYzr-rp2f9NMp-Qlr4sFjlqRq-90mco5-afLNGwCrU id: node.rss label: RSS +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.search_index.yml b/config/sync/core.entity_view_mode.node.search_index.yml index 42feefc7b..b6c8e6d63 100644 --- a/config/sync/core.entity_view_mode.node.search_index.yml +++ b/config/sync/core.entity_view_mode.node.search_index.yml @@ -8,5 +8,6 @@ _core: default_config_hash: fVFfJv_GzBRE-wpRHbfD5a3VjnhbEOXG6lvRd3uaccY id: node.search_index label: 'Search index' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.search_result.yml b/config/sync/core.entity_view_mode.node.search_result.yml index b827c4e40..284f32878 100644 --- a/config/sync/core.entity_view_mode.node.search_result.yml +++ b/config/sync/core.entity_view_mode.node.search_result.yml @@ -8,5 +8,6 @@ _core: default_config_hash: 6GCOQ-jP2RbdbHA5YWQ6bT8CfGbqrBYKOSC_XY4E3ZM id: node.search_result label: 'Search result highlighting input' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.support_services_listing.yml b/config/sync/core.entity_view_mode.node.support_services_listing.yml index 0c961c81a..0c8e7f29a 100644 --- a/config/sync/core.entity_view_mode.node.support_services_listing.yml +++ b/config/sync/core.entity_view_mode.node.support_services_listing.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.support_services_listing label: 'Support Services Listing' +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.system_services_listings.yml b/config/sync/core.entity_view_mode.node.system_services_listings.yml new file mode 100644 index 000000000..79842b002 --- /dev/null +++ b/config/sync/core.entity_view_mode.node.system_services_listings.yml @@ -0,0 +1,11 @@ +uuid: 2ec8f0a2-659f-49ee-af60-cbef3d0211e7 +langcode: en +status: true +dependencies: + module: + - node +id: node.system_services_listings +label: 'System Services Listings' +description: 'This is a view mode for the VAMC Facility Health Service content type when it is being referenced by a VAMC System Health Service.' +targetEntityType: node +cache: true diff --git a/config/sync/core.entity_view_mode.node.teaser.yml b/config/sync/core.entity_view_mode.node.teaser.yml index b655f9e01..74816e728 100644 --- a/config/sync/core.entity_view_mode.node.teaser.yml +++ b/config/sync/core.entity_view_mode.node.teaser.yml @@ -8,5 +8,6 @@ _core: default_config_hash: Mz9qWr1kUYK0mjRAGDsr5XS6PvtZ24en_7ndt-pyWe4 id: node.teaser label: Teaser +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.node.token.yml b/config/sync/core.entity_view_mode.node.token.yml index 4fcefdca0..987ee57e0 100644 --- a/config/sync/core.entity_view_mode.node.token.yml +++ b/config/sync/core.entity_view_mode.node.token.yml @@ -6,5 +6,6 @@ dependencies: - node id: node.token label: Token +description: '' targetEntityType: node cache: true diff --git a/config/sync/core.entity_view_mode.paragraph.ief_table.yml b/config/sync/core.entity_view_mode.paragraph.ief_table.yml index ab5729903..9b06a3d39 100644 --- a/config/sync/core.entity_view_mode.paragraph.ief_table.yml +++ b/config/sync/core.entity_view_mode.paragraph.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - paragraphs id: paragraph.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: paragraph cache: true diff --git a/config/sync/core.entity_view_mode.paragraph.preview.yml b/config/sync/core.entity_view_mode.paragraph.preview.yml index af5e63999..e06547887 100644 --- a/config/sync/core.entity_view_mode.paragraph.preview.yml +++ b/config/sync/core.entity_view_mode.paragraph.preview.yml @@ -8,5 +8,6 @@ _core: default_config_hash: fAWHL-ZbCR4HOdE03GYzQfiMYfEvVhTWNBHWcU_pa18 id: paragraph.preview label: Preview +description: '' targetEntityType: paragraph cache: true diff --git a/config/sync/core.entity_view_mode.paragraph.user_guides.yml b/config/sync/core.entity_view_mode.paragraph.user_guides.yml index f29f88743..edd4559ca 100644 --- a/config/sync/core.entity_view_mode.paragraph.user_guides.yml +++ b/config/sync/core.entity_view_mode.paragraph.user_guides.yml @@ -6,5 +6,6 @@ dependencies: - paragraphs id: paragraph.user_guides label: 'Knowledge Base' +description: '' targetEntityType: paragraph cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.full.yml b/config/sync/core.entity_view_mode.taxonomy_term.full.yml index 7dcb7de0d..88464b4ea 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.full.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: '-PPKjsNQPvoIDjOuUAvlLocYD976MNjb9Zpgyz5_BWE' id: taxonomy_term.full label: 'Taxonomy term page' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.ief_table.yml b/config/sync/core.entity_view_mode.taxonomy_term.ief_table.yml index f6a2cd7db..9f9c825e8 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.ief_table.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.ief_table.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.ief_table label: 'Inline Entity Form Table' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.name_with_term.yml b/config/sync/core.entity_view_mode.taxonomy_term.name_with_term.yml index 7e4ab5804..69621ac3b 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.name_with_term.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.name_with_term.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.name_with_term label: 'Name with term' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.token.yml b/config/sync/core.entity_view_mode.taxonomy_term.token.yml index 98a3f7ca5..a5eb3dbac 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.token.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.token.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.token label: Token +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.vamc_facility_service.yml b/config/sync/core.entity_view_mode.taxonomy_term.vamc_facility_service.yml index 4fd301fde..23917ffca 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.vamc_facility_service.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.vamc_facility_service.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.vamc_facility_service label: 'VAMC facility service' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.vba_facility_service.yml b/config/sync/core.entity_view_mode.taxonomy_term.vba_facility_service.yml index b589a9a17..de8ef8dde 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.vba_facility_service.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.vba_facility_service.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.vba_facility_service label: 'VBA facility service' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.vet_center_dashboard.yml b/config/sync/core.entity_view_mode.taxonomy_term.vet_center_dashboard.yml index e66cd1d2f..cbc4b0d6c 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.vet_center_dashboard.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.vet_center_dashboard.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.vet_center_dashboard label: 'Vet Center dashboard' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.taxonomy_term.vet_center_service.yml b/config/sync/core.entity_view_mode.taxonomy_term.vet_center_service.yml index 178ceaef9..134184cc1 100644 --- a/config/sync/core.entity_view_mode.taxonomy_term.vet_center_service.yml +++ b/config/sync/core.entity_view_mode.taxonomy_term.vet_center_service.yml @@ -6,5 +6,6 @@ dependencies: - taxonomy id: taxonomy_term.vet_center_service label: 'Vet Center service' +description: '' targetEntityType: taxonomy_term cache: true diff --git a/config/sync/core.entity_view_mode.user.compact.yml b/config/sync/core.entity_view_mode.user.compact.yml index 77555e84b..0c8bbc746 100644 --- a/config/sync/core.entity_view_mode.user.compact.yml +++ b/config/sync/core.entity_view_mode.user.compact.yml @@ -8,5 +8,6 @@ _core: default_config_hash: 71CSAr_LNPcgu6D6jI4INl1KATkahmeyUFBETAWya8g id: user.compact label: Compact +description: '' targetEntityType: user cache: true diff --git a/config/sync/core.entity_view_mode.user.full.yml b/config/sync/core.entity_view_mode.user.full.yml index dbde7a4f0..68799fc9a 100644 --- a/config/sync/core.entity_view_mode.user.full.yml +++ b/config/sync/core.entity_view_mode.user.full.yml @@ -8,5 +8,6 @@ _core: default_config_hash: mQIF_foYjmnVSr9MpcD4CTaJE_FpO1AyDd_DskztGhM id: user.full label: 'User account' +description: '' targetEntityType: user cache: true diff --git a/config/sync/core.entity_view_mode.user.token.yml b/config/sync/core.entity_view_mode.user.token.yml index 993c3f12f..0d5b52142 100644 --- a/config/sync/core.entity_view_mode.user.token.yml +++ b/config/sync/core.entity_view_mode.user.token.yml @@ -6,5 +6,6 @@ dependencies: - user id: user.token label: Token +description: '' targetEntityType: user cache: true diff --git a/config/sync/core.entity_view_mode.user_history.tab.yml b/config/sync/core.entity_view_mode.user_history.tab.yml index 9ed6c8382..a7b759af6 100644 --- a/config/sync/core.entity_view_mode.user_history.tab.yml +++ b/config/sync/core.entity_view_mode.user_history.tab.yml @@ -8,5 +8,6 @@ _core: default_config_hash: ggnLfDKZKWq9-z6LNunoyDsOtcsUSIo0imn2QXKJIbw id: user_history.tab label: 'User profile tab' +description: '' targetEntityType: user_history cache: true diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index fea07b919..42ad37de3 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -61,6 +61,7 @@ module: eca: 0 eca_base: 0 eca_cm: 0 + eca_content: 0 eca_ui: 0 eca_views: 0 editor: 0 @@ -259,6 +260,7 @@ module: va_gov_content_types: 0 va_gov_dashboards: 0 va_gov_db: 0 + va_gov_eca: 0 va_gov_entity_browser: 0 va_gov_environment: 0 va_gov_events: 0 diff --git a/config/sync/eca.eca.aging_content_expired_fwb.yml b/config/sync/eca.eca.aging_content_expired_fwb.yml new file mode 100644 index 000000000..2c776dc70 --- /dev/null +++ b/config/sync/eca.eca.aging_content_expired_fwb.yml @@ -0,0 +1,70 @@ +uuid: bbc82ad3-6ffd-4c88-8f06-b4a59c855f44 +langcode: en +status: false +dependencies: + config: + - views.view.aging_content + module: + - eca_base + - eca_content + - eca_views + - va_gov_eca +id: aging_content_expired_fwb +modeller: core +label: 'Aging Content: Expired FWB' +version: '' +weight: null +events: + eca_base_eca_cron: + plugin: 'eca_base:eca_cron' + label: Cron + configuration: + frequency: '* * * * *' + successors: + - + id: eca_views_query + condition: null + content_entity_custom: + plugin: 'content_entity:custom' + label: 'Content Aware Event: Queue Email' + configuration: + event_id: aging_content_fwb_queue_email + successors: + - + id: eca_trigger_content_entity_cus_1 + condition: null +conditions: { } +gateways: { } +actions: + eca_views_query: + plugin: eca_views_query + label: 'Views: Query Expired FWB Results' + configuration: + token_name: results + view_id: aging_content + display_id: fwb_expired + arguments: '' + successors: + - + id: eca_trigger_content_entity_cus_1 + condition: null + create_advancedqueue_job: + plugin: create_advancedqueue_job + label: 'Queue Notification' + configuration: + token_name: job + type: va_gov_aging_content_notification + payload: "template_values:\r\n uid: \"[node:author:uid]\"\r\n template: aging_content_expired_fwb\r\nrestrict_delivery_to:\r\nvalues:\r\n field_expired_date: \"[current-date:short_date_no_time]\"\r\n field_target_entity:\r\n target_id: \"[node:nid]\"\r\n field_target_node_title: \"{node:title}\"" + queue: aging_content + successors: { } + eca_trigger_content_entity_cus_1: + plugin: eca_trigger_content_entity_custom_event + label: 'Trigger Custom Event: Queue Notification' + configuration: + event_id: aging_content_fwb_queue_email + tokens: '' + object: results + successors: + - + id: create_advancedqueue_job + condition: null diff --git a/config/sync/eca.eca.test.yml b/config/sync/eca.eca.test.yml deleted file mode 100644 index 039b2e051..000000000 --- a/config/sync/eca.eca.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -uuid: 107ef63e-ce69-45fd-b6f4-4723b95f1994 -langcode: en -status: false -dependencies: { } -id: test -modeller: core -label: Test -version: null -weight: null -events: { } -conditions: { } -gateways: { } -actions: { } diff --git a/config/sync/editor.editor.rich_text.yml b/config/sync/editor.editor.rich_text.yml index 8d14a5b16..4b4668eed 100644 --- a/config/sync/editor.editor.rich_text.yml +++ b/config/sync/editor.editor.rich_text.yml @@ -34,8 +34,10 @@ settings: - heading5 - heading6 ckeditor5_list: - reversed: false - startIndex: true + properties: + reversed: false + startIndex: true + multiBlock: true ckeditor5_sourceEditing: allowed_tags: - '' diff --git a/config/sync/editor.editor.rich_text_limited.yml b/config/sync/editor.editor.rich_text_limited.yml index 32e1e5aeb..82d480839 100644 --- a/config/sync/editor.editor.rich_text_limited.yml +++ b/config/sync/editor.editor.rich_text_limited.yml @@ -23,8 +23,10 @@ settings: - abbreviation plugins: ckeditor5_list: - reversed: false - startIndex: false + properties: + reversed: false + startIndex: false + multiBlock: true ckeditor5_sourceEditing: allowed_tags: - '' diff --git a/config/sync/field.field.block_content.cms_announcement.field_body.yml b/config/sync/field.field.block_content.cms_announcement.field_body.yml index 1070d2a75..2200757f1 100644 --- a/config/sync/field.field.block_content.cms_announcement.field_body.yml +++ b/config/sync/field.field.block_content.cms_announcement.field_body.yml @@ -10,9 +10,6 @@ dependencies: - epp - text third_party_settings: - allowed_formats: - allowed_formats: - - rich_text epp: value: '' on_update: 0 @@ -26,5 +23,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.message.aging_content_expired_fwb.field_expired_date.yml b/config/sync/field.field.message.aging_content_expired_fwb.field_expired_date.yml new file mode 100644 index 000000000..636813eb0 --- /dev/null +++ b/config/sync/field.field.message.aging_content_expired_fwb.field_expired_date.yml @@ -0,0 +1,24 @@ +uuid: 9d6efc92-0af9-4ecf-aa28-6c679e806576 +langcode: en +status: true +dependencies: + config: + - field.storage.message.field_expired_date + - message.template.aging_content_expired_fwb + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: message.aging_content_expired_fwb.field_expired_date +field_name: field_expired_date +entity_type: message +bundle: aging_content_expired_fwb +label: 'Expired Date' +description: 'The date this content expired.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.message.aging_content_expired_fwb.field_target_entity.yml b/config/sync/field.field.message.aging_content_expired_fwb.field_target_entity.yml new file mode 100644 index 000000000..929a02ab4 --- /dev/null +++ b/config/sync/field.field.message.aging_content_expired_fwb.field_target_entity.yml @@ -0,0 +1,39 @@ +uuid: 8b933a0e-6eee-4967-b6f7-421c0e2d9827 +langcode: en +status: true +dependencies: + config: + - field.storage.message.field_target_entity + - message.template.aging_content_expired_fwb + - node.type.banner + module: + - entity_reference_validators + - tmgmt_content +third_party_settings: + entity_reference_validators: + circular_reference: false + circular_reference_deep: false + duplicate_reference: false + tmgmt_content: + excluded: false +id: message.aging_content_expired_fwb.field_target_entity +field_name: field_target_entity +entity_type: message +bundle: aging_content_expired_fwb +label: target_entity +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + banner: banner + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: nca_facility +field_type: entity_reference diff --git a/config/sync/field.field.message.aging_content_expired_fwb.field_target_node_title.yml b/config/sync/field.field.message.aging_content_expired_fwb.field_target_node_title.yml new file mode 100644 index 000000000..88f9a291a --- /dev/null +++ b/config/sync/field.field.message.aging_content_expired_fwb.field_target_node_title.yml @@ -0,0 +1,24 @@ +uuid: c1b08c34-8fa8-4a67-91c9-29523f779d42 +langcode: en +status: true +dependencies: + config: + - field.storage.message.field_target_node_title + - message.template.aging_content_expired_fwb + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: message.aging_content_expired_fwb.field_target_node_title +field_name: field_target_node_title +entity_type: message +bundle: aging_content_expired_fwb +label: 'Target Node Title' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.node.banner.body.yml b/config/sync/field.field.node.banner.body.yml index 59f477028..da90f72d0 100644 --- a/config/sync/field.field.node.banner.body.yml +++ b/config/sync/field.field.node.banner.body.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.banner.body field_name: body entity_type: node @@ -25,4 +21,6 @@ default_value_callback: '' settings: display_summary: true required_summary: false + allowed_formats: + - rich_text_limited field_type: text_with_summary diff --git a/config/sync/field.field.node.basic_landing_page.field_intro_text_limited_html.yml b/config/sync/field.field.node.basic_landing_page.field_intro_text_limited_html.yml index b9a7006ed..9e312bb3f 100644 --- a/config/sync/field.field.node.basic_landing_page.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.basic_landing_page.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.basic_landing_page.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.centralized_content.body.yml b/config/sync/field.field.node.centralized_content.body.yml index af1142d30..e2e10e2f1 100644 --- a/config/sync/field.field.node.centralized_content.body.yml +++ b/config/sync/field.field.node.centralized_content.body.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.centralized_content.body field_name: body entity_type: node @@ -25,4 +21,6 @@ default_value_callback: '' settings: display_summary: false required_summary: false + allowed_formats: + - rich_text field_type: text_with_summary diff --git a/config/sync/field.field.node.checklist.field_intro_text_limited_html.yml b/config/sync/field.field.node.checklist.field_intro_text_limited_html.yml index f432fb289..bf0932343 100644 --- a/config/sync/field.field.node.checklist.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.checklist.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.checklist.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.event.field_additional_information_abo.yml b/config/sync/field.field.node.event.field_additional_information_abo.yml index a7f45507c..f7c70fcc1 100644 --- a/config/sync/field.field.node.event.field_additional_information_abo.yml +++ b/config/sync/field.field.node.event.field_additional_information_abo.yml @@ -8,9 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: { } id: node.event.field_additional_information_abo field_name: field_additional_information_abo entity_type: node @@ -21,5 +18,6 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: { } field_type: text_long diff --git a/config/sync/field.field.node.event.field_address.yml b/config/sync/field.field.node.event.field_address.yml index 587ea0b58..729aef997 100644 --- a/config/sync/field.field.node.event.field_address.yml +++ b/config/sync/field.field.node.event.field_address.yml @@ -26,6 +26,7 @@ default_value: sorting_code: null address_line1: '' address_line2: '' + address_line3: '' organization: null given_name: null additional_name: null @@ -48,6 +49,8 @@ settings: override: optional addressLine2: override: optional + addressLine3: + override: hidden postalCode: override: hidden sortingCode: diff --git a/config/sync/field.field.node.event.field_body.yml b/config/sync/field.field.node.event.field_body.yml index dae1409a6..63e315730 100644 --- a/config/sync/field.field.node.event.field_body.yml +++ b/config/sync/field.field.node.event.field_body.yml @@ -23,5 +23,6 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: { } field_type: text_long diff --git a/config/sync/field.field.node.faq_multiple_q_a.field_intro_text_limited_html.yml b/config/sync/field.field.node.faq_multiple_q_a.field_intro_text_limited_html.yml index e5551ab6a..f89812c48 100644 --- a/config/sync/field.field.node.faq_multiple_q_a.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.faq_multiple_q_a.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.faq_multiple_q_a.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.full_width_banner_alert.field_body.yml b/config/sync/field.field.node.full_width_banner_alert.field_body.yml index 87dfae046..c547f1dc3 100644 --- a/config/sync/field.field.node.full_width_banner_alert.field_body.yml +++ b/config/sync/field.field.node.full_width_banner_alert.field_body.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: node.full_width_banner_alert.field_body @@ -25,5 +22,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.health_care_local_facility.field_address.yml b/config/sync/field.field.node.health_care_local_facility.field_address.yml index 294827e5b..754d1535d 100644 --- a/config/sync/field.field.node.health_care_local_facility.field_address.yml +++ b/config/sync/field.field.node.health_care_local_facility.field_address.yml @@ -32,6 +32,8 @@ settings: override: optional addressLine2: override: hidden + addressLine3: + override: hidden postalCode: override: optional sortingCode: diff --git a/config/sync/field.field.node.health_care_local_facility.field_mental_health_contact_phon.yml b/config/sync/field.field.node.health_care_local_facility.field_mental_health_contact_phon.yml deleted file mode 100644 index f62a8a60d..000000000 --- a/config/sync/field.field.node.health_care_local_facility.field_mental_health_contact_phon.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 85b46732-b695-42f5-be09-413287698196 -langcode: en -status: true -dependencies: - config: - - field.storage.node.field_mental_health_contact_phon - - node.type.health_care_local_facility - module: - - telephone - - tmgmt_content -third_party_settings: - tmgmt_content: - excluded: false -id: node.health_care_local_facility.field_mental_health_contact_phon -field_name: field_mental_health_contact_phon -entity_type: node -bundle: health_care_local_facility -label: 'Mental health contact phone number' -description: 'Enter the number Veterans should call to access mental health services at your facility, for example 202-555-1234, ext. 23. If your facility doesn''t offer these services, enter the most appropriate system number. This number will be displayed everywhere your facility appears across VA.gov. View guidelines for editing VAMC facilities (opens in a new tab)' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: telephone diff --git a/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml b/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml index ff107baf8..4643e7ea8 100644 --- a/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml +++ b/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml @@ -16,7 +16,7 @@ field_name: field_mental_health_phone entity_type: node bundle: health_care_local_facility label: 'Mental health phone number' -description: '' +description: 'Enter the number Veterans should call to access mental health services at your facility, for example 202-555-1234, ext. 23. If your facility doesn''t offer these services, enter the most appropriate system number. This number will be displayed everywhere your facility appears across VA.gov. View guidelines for editing VAMC facilities (opens in a new tab)' required: false translatable: false default_value: { } diff --git a/config/sync/field.field.node.health_care_local_facility.field_supplemental_status_more_i.yml b/config/sync/field.field.node.health_care_local_facility.field_supplemental_status_more_i.yml index c7c19af8a..8d3e002e7 100644 --- a/config/sync/field.field.node.health_care_local_facility.field_supplemental_status_more_i.yml +++ b/config/sync/field.field.node.health_care_local_facility.field_supplemental_status_more_i.yml @@ -10,9 +10,6 @@ dependencies: - epp - text third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited epp: value: '' on_update: 0 @@ -26,5 +23,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.media_list_images.field_intro_text_limited_html.yml b/config/sync/field.field.node.media_list_images.field_intro_text_limited_html.yml index ebb364430..4eb374f80 100644 --- a/config/sync/field.field.node.media_list_images.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.media_list_images.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.media_list_images.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.media_list_videos.field_intro_text_limited_html.yml b/config/sync/field.field.node.media_list_videos.field_intro_text_limited_html.yml index 2e5f00fc4..b6abee511 100644 --- a/config/sync/field.field.node.media_list_videos.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.media_list_videos.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.media_list_videos.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.nca_facility.field_address.yml b/config/sync/field.field.node.nca_facility.field_address.yml index b307f5ddf..533c50e09 100644 --- a/config/sync/field.field.node.nca_facility.field_address.yml +++ b/config/sync/field.field.node.nca_facility.field_address.yml @@ -38,6 +38,8 @@ settings: override: optional addressLine2: override: optional + addressLine3: + override: hidden postalCode: override: optional sortingCode: diff --git a/config/sync/field.field.node.nca_facility.field_mailing_address.yml b/config/sync/field.field.node.nca_facility.field_mailing_address.yml index 6963c7414..7c7cfcc2c 100644 --- a/config/sync/field.field.node.nca_facility.field_mailing_address.yml +++ b/config/sync/field.field.node.nca_facility.field_mailing_address.yml @@ -36,6 +36,8 @@ settings: override: optional addressLine2: override: optional + addressLine3: + override: hidden postalCode: override: optional sortingCode: diff --git a/config/sync/field.field.node.news_story.field_full_story.yml b/config/sync/field.field.node.news_story.field_full_story.yml index cd0f90d52..6efa11ccf 100644 --- a/config/sync/field.field.node.news_story.field_full_story.yml +++ b/config/sync/field.field.node.news_story.field_full_story.yml @@ -8,9 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: { } id: node.news_story.field_full_story field_name: field_full_story entity_type: node @@ -21,5 +18,6 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: { } field_type: text_long diff --git a/config/sync/field.field.node.office.field_body.yml b/config/sync/field.field.node.office.field_body.yml index 5bd0cb5ca..78215cd2a 100644 --- a/config/sync/field.field.node.office.field_body.yml +++ b/config/sync/field.field.node.office.field_body.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.office.field_body field_name: field_body entity_type: node @@ -22,5 +18,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.node.page.field_intro_text_limited_html.yml b/config/sync/field.field.node.page.field_intro_text_limited_html.yml index 996a28208..5410a3971 100644 --- a/config/sync/field.field.node.page.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.page.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.page.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.person_profile.field_body.yml b/config/sync/field.field.node.person_profile.field_body.yml index 30c357d41..5d633da88 100644 --- a/config/sync/field.field.node.person_profile.field_body.yml +++ b/config/sync/field.field.node.person_profile.field_body.yml @@ -10,8 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: { } tmgmt_content: excluded: false id: node.person_profile.field_body @@ -24,5 +22,6 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: { } field_type: text_long diff --git a/config/sync/field.field.node.press_release.field_address.yml b/config/sync/field.field.node.press_release.field_address.yml index 085af86c4..5db976f16 100644 --- a/config/sync/field.field.node.press_release.field_address.yml +++ b/config/sync/field.field.node.press_release.field_address.yml @@ -26,6 +26,7 @@ default_value: sorting_code: null address_line1: null address_line2: null + address_line3: '' organization: null given_name: null additional_name: null @@ -48,6 +49,8 @@ settings: override: hidden addressLine2: override: hidden + addressLine3: + override: hidden postalCode: override: hidden sortingCode: diff --git a/config/sync/field.field.node.regional_health_care_service_des.field_body.yml b/config/sync/field.field.node.regional_health_care_service_des.field_body.yml index faa82cc91..14e70e07c 100644 --- a/config/sync/field.field.node.regional_health_care_service_des.field_body.yml +++ b/config/sync/field.field.node.regional_health_care_service_des.field_body.yml @@ -27,5 +27,6 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: { } field_type: text_long diff --git a/config/sync/field.field.node.service_region.body.yml b/config/sync/field.field.node.service_region.body.yml index 4ab2e1c4a..ec7c619e3 100644 --- a/config/sync/field.field.node.service_region.body.yml +++ b/config/sync/field.field.node.service_region.body.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: node.service_region.body @@ -28,4 +25,6 @@ default_value_callback: '' settings: display_summary: false required_summary: false + allowed_formats: + - rich_text_limited field_type: text_with_summary diff --git a/config/sync/field.field.node.step_by_step.field_intro_text_limited_html.yml b/config/sync/field.field.node.step_by_step.field_intro_text_limited_html.yml index 7ad783e38..1dc2934f5 100644 --- a/config/sync/field.field.node.step_by_step.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.step_by_step.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.step_by_step.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.support_resources_detail_page.field_intro_text_limited_html.yml b/config/sync/field.field.node.support_resources_detail_page.field_intro_text_limited_html.yml index 279158ff8..f4a3da7cc 100644 --- a/config/sync/field.field.node.support_resources_detail_page.field_intro_text_limited_html.yml +++ b/config/sync/field.field.node.support_resources_detail_page.field_intro_text_limited_html.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: node.support_resources_detail_page.field_intro_text_limited_html field_name: field_intro_text_limited_html entity_type: node @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.va_form.field_va_form_usage.yml b/config/sync/field.field.node.va_form.field_va_form_usage.yml index a47ca40ba..a66e06637 100644 --- a/config/sync/field.field.node.va_form.field_va_form_usage.yml +++ b/config/sync/field.field.node.va_form.field_va_form_usage.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.va_form.field_va_form_usage field_name: field_va_form_usage entity_type: node @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.node.vamc_operating_status_and_alerts.field_operating_status_emerg_inf.yml b/config/sync/field.field.node.vamc_operating_status_and_alerts.field_operating_status_emerg_inf.yml index 3e1683f04..c0cf18b36 100644 --- a/config/sync/field.field.node.vamc_operating_status_and_alerts.field_operating_status_emerg_inf.yml +++ b/config/sync/field.field.node.vamc_operating_status_and_alerts.field_operating_status_emerg_inf.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.vamc_operating_status_and_alerts.field_operating_status_emerg_inf field_name: field_operating_status_emerg_inf entity_type: node @@ -25,5 +21,7 @@ default_value: value: "

Patient resources

\r\n\r\n

Emergency: 911

\r\n\r\n

Veterans Crisis Line: 800-273-8255 (Press 1)

\r\n\r\n

24 hour Nurse: 800-935-8387

\r\n\r\n

Change Your Appointment: 800-935-8387

\r\n\r\n

National Veterans Helpline: 800-507-4571

\r\n\r\n

Patient Locator: 800-935-8387

\r\n\r\n

Pharmacy Refill: 800-935-8387

\r\n\r\n

Staff Locator: 800-935-8387

\r\n\r\n

Telephone Care: 800-935-8387

\r\n" format: rich_text default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.node.vamc_system_medical_records_offi.field_vamc_med_records_mailing.yml b/config/sync/field.field.node.vamc_system_medical_records_offi.field_vamc_med_records_mailing.yml index ff2fa92a3..71358eb84 100644 --- a/config/sync/field.field.node.vamc_system_medical_records_offi.field_vamc_med_records_mailing.yml +++ b/config/sync/field.field.node.vamc_system_medical_records_offi.field_vamc_med_records_mailing.yml @@ -26,10 +26,11 @@ default_value: sorting_code: null address_line1: '' address_line2: '' - organization: '' - given_name: '' + address_line3: '' + organization: null + given_name: null additional_name: null - family_name: '' + family_name: null default_value_callback: '' settings: available_countries: @@ -44,6 +45,8 @@ settings: override: hidden organization: override: hidden + addressLine3: + override: hidden sortingCode: override: hidden dependentLocality: diff --git a/config/sync/field.field.node.vamc_system_policies_page.field_vamc_other_policies.yml b/config/sync/field.field.node.vamc_system_policies_page.field_vamc_other_policies.yml index e77768143..b8c728cc0 100644 --- a/config/sync/field.field.node.vamc_system_policies_page.field_vamc_other_policies.yml +++ b/config/sync/field.field.node.vamc_system_policies_page.field_vamc_other_policies.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.vamc_system_policies_page.field_vamc_other_policies field_name: field_vamc_other_policies entity_type: node @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.node.vamc_system_policies_page.field_vamc_visitation_policy.yml b/config/sync/field.field.node.vamc_system_policies_page.field_vamc_visitation_policy.yml index 66dc5de35..9b3766c1f 100644 --- a/config/sync/field.field.node.vamc_system_policies_page.field_vamc_visitation_policy.yml +++ b/config/sync/field.field.node.vamc_system_policies_page.field_vamc_visitation_policy.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: node.vamc_system_policies_page.field_vamc_visitation_policy field_name: field_vamc_visitation_policy entity_type: node @@ -22,5 +18,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.node.vba_facility.field_address.yml b/config/sync/field.field.node.vba_facility.field_address.yml index cf2cb4db2..f0d29f4b6 100644 --- a/config/sync/field.field.node.vba_facility.field_address.yml +++ b/config/sync/field.field.node.vba_facility.field_address.yml @@ -37,6 +37,8 @@ settings: override: optional addressLine2: override: hidden + addressLine3: + override: hidden postalCode: override: optional sortingCode: diff --git a/config/sync/field.field.node.vba_facility.field_banner_content.yml b/config/sync/field.field.node.vba_facility.field_banner_content.yml index a1140348c..ea6c842ef 100644 --- a/config/sync/field.field.node.vba_facility.field_banner_content.yml +++ b/config/sync/field.field.node.vba_facility.field_banner_content.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: node.vba_facility.field_banner_content @@ -25,5 +22,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.vet_center.field_address.yml b/config/sync/field.field.node.vet_center.field_address.yml index 84bbf1dd2..6592e5df4 100644 --- a/config/sync/field.field.node.vet_center.field_address.yml +++ b/config/sync/field.field.node.vet_center.field_address.yml @@ -26,6 +26,7 @@ default_value: sorting_code: null address_line1: '' address_line2: '' + address_line3: '' organization: null given_name: null additional_name: null @@ -43,5 +44,7 @@ settings: override: hidden organization: override: hidden + addressLine3: + override: hidden fields: { } field_type: address diff --git a/config/sync/field.field.node.vet_center_cap.field_address.yml b/config/sync/field.field.node.vet_center_cap.field_address.yml index c6a7b3812..1ee407a0e 100644 --- a/config/sync/field.field.node.vet_center_cap.field_address.yml +++ b/config/sync/field.field.node.vet_center_cap.field_address.yml @@ -25,7 +25,8 @@ default_value: postal_code: '' sorting_code: null address_line1: '' - address_line2: null + address_line2: '' + address_line3: '' organization: '' given_name: null additional_name: null @@ -46,6 +47,8 @@ settings: override: required addressLine2: override: optional + addressLine3: + override: hidden postalCode: override: required sortingCode: diff --git a/config/sync/field.field.node.vet_center_facility_health_servi.field_body.yml b/config/sync/field.field.node.vet_center_facility_health_servi.field_body.yml index d19ecc917..aa550ccb2 100644 --- a/config/sync/field.field.node.vet_center_facility_health_servi.field_body.yml +++ b/config/sync/field.field.node.vet_center_facility_health_servi.field_body.yml @@ -13,9 +13,6 @@ third_party_settings: epp: value: '' on_update: 1 - allowed_formats: - allowed_formats: - - rich_text_limited id: node.vet_center_facility_health_servi.field_body field_name: field_body entity_type: node @@ -26,5 +23,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.node.vet_center_mobile_vet_center.field_address.yml b/config/sync/field.field.node.vet_center_mobile_vet_center.field_address.yml index 3e8be2511..a10dcbc94 100644 --- a/config/sync/field.field.node.vet_center_mobile_vet_center.field_address.yml +++ b/config/sync/field.field.node.vet_center_mobile_vet_center.field_address.yml @@ -26,6 +26,7 @@ default_value: sorting_code: null address_line1: '' address_line2: '' + address_line3: '' organization: null given_name: null additional_name: null @@ -43,5 +44,7 @@ settings: override: hidden organization: override: hidden + addressLine3: + override: hidden fields: { } field_type: address diff --git a/config/sync/field.field.node.vet_center_outstation.field_address.yml b/config/sync/field.field.node.vet_center_outstation.field_address.yml index ee61abd07..65e566e1c 100644 --- a/config/sync/field.field.node.vet_center_outstation.field_address.yml +++ b/config/sync/field.field.node.vet_center_outstation.field_address.yml @@ -26,6 +26,7 @@ default_value: sorting_code: null address_line1: '' address_line2: '' + address_line3: '' organization: null given_name: null additional_name: null @@ -43,5 +44,7 @@ settings: override: hidden organization: override: hidden + addressLine3: + override: hidden fields: { } field_type: address diff --git a/config/sync/field.field.paragraph.address.field_address.yml b/config/sync/field.field.paragraph.address.field_address.yml index 7a6105248..7762706ac 100644 --- a/config/sync/field.field.paragraph.address.field_address.yml +++ b/config/sync/field.field.paragraph.address.field_address.yml @@ -23,6 +23,8 @@ settings: field_overrides: organization: override: hidden + addressLine3: + override: hidden sortingCode: override: hidden dependentLocality: diff --git a/config/sync/field.field.paragraph.basic_accordion.field_rich_wysiwyg.yml b/config/sync/field.field.paragraph.basic_accordion.field_rich_wysiwyg.yml index 042ec0eeb..c92d07706 100644 --- a/config/sync/field.field.paragraph.basic_accordion.field_rich_wysiwyg.yml +++ b/config/sync/field.field.paragraph.basic_accordion.field_rich_wysiwyg.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: paragraph.basic_accordion.field_rich_wysiwyg @@ -26,5 +23,6 @@ translatable: false default_value: { } default_value_callback: '' settings: - allowed_formats: { } + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.centralized_content_descriptor.field_cc_documentor_description.yml b/config/sync/field.field.paragraph.centralized_content_descriptor.field_cc_documentor_description.yml index 0101585f1..b698b6bb0 100644 --- a/config/sync/field.field.paragraph.centralized_content_descriptor.field_cc_documentor_description.yml +++ b/config/sync/field.field.paragraph.centralized_content_descriptor.field_cc_documentor_description.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - plain_text id: paragraph.centralized_content_descriptor.field_cc_documentor_description field_name: field_cc_documentor_description entity_type: paragraph @@ -22,5 +18,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - plain_text field_type: text_long diff --git a/config/sync/field.field.paragraph.collapsible_panel_item.field_wysiwyg.yml b/config/sync/field.field.paragraph.collapsible_panel_item.field_wysiwyg.yml index 5b1bbaf2f..33cbaf331 100644 --- a/config/sync/field.field.paragraph.collapsible_panel_item.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.collapsible_panel_item.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.collapsible_panel_item.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.paragraph.expandable_text.field_wysiwyg.yml b/config/sync/field.field.paragraph.expandable_text.field_wysiwyg.yml index 935e1d929..5b31198ce 100644 --- a/config/sync/field.field.paragraph.expandable_text.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.expandable_text.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.expandable_text.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.paragraph.featured_content.field_description.yml b/config/sync/field.field.paragraph.featured_content.field_description.yml index 4e32bde3b..9f1d72221 100644 --- a/config/sync/field.field.paragraph.featured_content.field_description.yml +++ b/config/sync/field.field.paragraph.featured_content.field_description.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: paragraph.featured_content.field_description @@ -26,5 +23,6 @@ translatable: false default_value: { } default_value_callback: '' settings: - allowed_formats: { } + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.health_care_local_facility_servi.field_wysiwyg.yml b/config/sync/field.field.paragraph.health_care_local_facility_servi.field_wysiwyg.yml index d91a0d403..61ce95410 100644 --- a/config/sync/field.field.paragraph.health_care_local_facility_servi.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.health_care_local_facility_servi.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.health_care_local_facility_servi.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.paragraph.magichead_group.field_magichead_body.yml b/config/sync/field.field.paragraph.magichead_group.field_magichead_body.yml index 3ef7a9bdc..b928299d3 100644 --- a/config/sync/field.field.paragraph.magichead_group.field_magichead_body.yml +++ b/config/sync/field.field.paragraph.magichead_group.field_magichead_body.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: paragraph.magichead_group.field_magichead_body @@ -25,5 +22,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.number_callout.field_wysiwyg.yml b/config/sync/field.field.paragraph.number_callout.field_wysiwyg.yml index f18f2b05f..cfde136ca 100644 --- a/config/sync/field.field.paragraph.number_callout.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.number_callout.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.number_callout.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.paragraph.process.field_steps.yml b/config/sync/field.field.paragraph.process.field_steps.yml index fca85d5bf..bf6982244 100644 --- a/config/sync/field.field.paragraph.process.field_steps.yml +++ b/config/sync/field.field.paragraph.process.field_steps.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.process.field_steps field_name: field_steps entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.paragraph.q_a_group.field_rich_wysiwyg.yml b/config/sync/field.field.paragraph.q_a_group.field_rich_wysiwyg.yml index a6ca5aab1..980ee5159 100644 --- a/config/sync/field.field.paragraph.q_a_group.field_rich_wysiwyg.yml +++ b/config/sync/field.field.paragraph.q_a_group.field_rich_wysiwyg.yml @@ -10,9 +10,6 @@ dependencies: - epp - text third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited epp: value: '' on_update: 0 @@ -26,5 +23,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.react_widget.field_error_message.yml b/config/sync/field.field.paragraph.react_widget.field_error_message.yml index 7a6a211a9..42e393a9b 100644 --- a/config/sync/field.field.paragraph.react_widget.field_error_message.yml +++ b/config/sync/field.field.paragraph.react_widget.field_error_message.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.react_widget.field_error_message field_name: field_error_message entity_type: paragraph @@ -25,5 +21,7 @@ default_value: value: 'We’re sorry. Something went wrong when we tried to load your saved application.
Please try refreshing your browser in a few minutes.' format: rich_text default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text diff --git a/config/sync/field.field.paragraph.rich_text_char_limit_1000.field_wysiwyg.yml b/config/sync/field.field.paragraph.rich_text_char_limit_1000.field_wysiwyg.yml index 41d0ecd6f..def732361 100644 --- a/config/sync/field.field.paragraph.rich_text_char_limit_1000.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.rich_text_char_limit_1000.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: paragraph.rich_text_char_limit_1000.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.service_location_address.field_address.yml b/config/sync/field.field.paragraph.service_location_address.field_address.yml index 12e8a0c3b..952d30bbe 100644 --- a/config/sync/field.field.paragraph.service_location_address.field_address.yml +++ b/config/sync/field.field.paragraph.service_location_address.field_address.yml @@ -25,7 +25,8 @@ default_value: postal_code: '' sorting_code: null address_line1: '' - address_line2: null + address_line2: '' + address_line3: '' organization: null given_name: null additional_name: null @@ -47,6 +48,8 @@ settings: override: optional addressLine2: override: optional + addressLine3: + override: hidden postalCode: override: optional sortingCode: diff --git a/config/sync/field.field.paragraph.step.field_wysiwyg.yml b/config/sync/field.field.paragraph.step.field_wysiwyg.yml index 69ad46f8f..cc2c4403f 100644 --- a/config/sync/field.field.paragraph.step.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.step.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited id: paragraph.step.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.paragraph.wysiwyg.field_wysiwyg.yml b/config/sync/field.field.paragraph.wysiwyg.field_wysiwyg.yml index 572932e54..4461aa44e 100644 --- a/config/sync/field.field.paragraph.wysiwyg.field_wysiwyg.yml +++ b/config/sync/field.field.paragraph.wysiwyg.field_wysiwyg.yml @@ -8,10 +8,6 @@ dependencies: module: - allowed_formats - text -third_party_settings: - allowed_formats: - allowed_formats: - - rich_text id: paragraph.wysiwyg.field_wysiwyg field_name: field_wysiwyg entity_type: paragraph @@ -22,5 +18,7 @@ required: true translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.facility_supplemental_status.field_guidance.yml b/config/sync/field.field.taxonomy_term.facility_supplemental_status.field_guidance.yml index a3be9f25c..d6ea6e872 100644 --- a/config/sync/field.field.taxonomy_term.facility_supplemental_status.field_guidance.yml +++ b/config/sync/field.field.taxonomy_term.facility_supplemental_status.field_guidance.yml @@ -10,9 +10,6 @@ dependencies: - epp - text third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited epp: value: '' on_update: 0 @@ -26,5 +23,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_after_applying.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_after_applying.yml index 3f43eeb0c..13c73fcb0 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_after_applying.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_after_applying.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefit_after_applying @@ -25,5 +22,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_help.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_help.yml index 57f604b38..e7550ccb9 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_help.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_help.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_help @@ -25,5 +22,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_preparation.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_preparation.yml index fb5f6e0ee..e804297d1 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_preparation.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_preparation.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefit_app_preparation @@ -25,5 +22,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_brief_summary.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_brief_summary.yml index 125431134..3f93ddb63 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_brief_summary.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_brief_summary.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefit_brief_summary @@ -25,5 +22,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_long_summary.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_long_summary.yml index 7d775ccd0..48ec502a2 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_long_summary.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefit_long_summary.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefit_long_summary @@ -25,5 +22,7 @@ required: false translatable: true default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefits_elig_intro.yml b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefits_elig_intro.yml index dab6b0842..f1feed5f5 100644 --- a/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefits_elig_intro.yml +++ b/config/sync/field.field.taxonomy_term.va_benefits_taxonomy.field_va_benefits_elig_intro.yml @@ -10,9 +10,6 @@ dependencies: - text - tmgmt_content third_party_settings: - allowed_formats: - allowed_formats: - - rich_text_limited tmgmt_content: excluded: false id: taxonomy_term.va_benefits_taxonomy.field_va_benefits_elig_intro @@ -25,5 +22,7 @@ required: false translatable: false default_value: { } default_value_callback: '' -settings: { } +settings: + allowed_formats: + - rich_text_limited field_type: text_long diff --git a/config/sync/field.storage.message.field_expired_date.yml b/config/sync/field.storage.message.field_expired_date.yml new file mode 100644 index 000000000..d7a07e3d7 --- /dev/null +++ b/config/sync/field.storage.message.field_expired_date.yml @@ -0,0 +1,21 @@ +uuid: 64d824a9-f236-4ddf-9c3f-6f46d41fbc54 +langcode: en +status: true +dependencies: + module: + - message +id: message.field_expired_date +field_name: field_expired_date +entity_type: message +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/sync/field.storage.node.field_mental_health_contact_phon.yml b/config/sync/field.storage.node.field_mental_health_contact_phon.yml deleted file mode 100644 index a32d2da38..000000000 --- a/config/sync/field.storage.node.field_mental_health_contact_phon.yml +++ /dev/null @@ -1,19 +0,0 @@ -uuid: 0b19fe89-c843-4663-a729-1244f4931208 -langcode: en -status: true -dependencies: - module: - - node - - telephone -id: node.field_mental_health_contact_phon -field_name: field_mental_health_contact_phon -entity_type: node -type: telephone -settings: { } -module: telephone -locked: false -cardinality: 1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/config/sync/filter.format.plain_text.yml b/config/sync/filter.format.plain_text.yml index c6d6fe8cb..50e15b2c1 100644 --- a/config/sync/filter.format.plain_text.yml +++ b/config/sync/filter.format.plain_text.yml @@ -8,19 +8,6 @@ name: 'Plain text' format: plain_text weight: 10 filters: - filter_html_escape: - id: filter_html_escape - provider: filter - status: true - weight: -10 - settings: { } - filter_url: - id: filter_url - provider: filter - status: true - weight: 0 - settings: - filter_url_length: 72 filter_autop: id: filter_autop provider: filter @@ -36,3 +23,16 @@ filters: allowed_html: '


    • ' filter_html_help: true filter_html_nofollow: false + filter_html_escape: + id: filter_html_escape + provider: filter + status: true + weight: -10 + settings: { } + filter_url: + id: filter_url + provider: filter + status: true + weight: 0 + settings: + filter_url_length: 72 diff --git a/config/sync/filter.format.rich_text.yml b/config/sync/filter.format.rich_text.yml index d12046573..61b609b9a 100644 --- a/config/sync/filter.format.rich_text.yml +++ b/config/sync/filter.format.rich_text.yml @@ -15,30 +15,30 @@ name: 'Rich Text' format: rich_text weight: 1 filters: + editor_file_reference: + id: editor_file_reference + provider: editor + status: true + weight: -47 + settings: { } filter_align: id: filter_align provider: filter status: false weight: -41 settings: { } + filter_autop: + id: filter_autop + provider: filter + status: false + weight: -38 + settings: { } filter_caption: id: filter_caption provider: filter status: false weight: -40 settings: { } - filter_htmlcorrector: - id: filter_htmlcorrector - provider: filter - status: true - weight: -48 - settings: { } - editor_file_reference: - id: editor_file_reference - provider: editor - status: true - weight: -47 - settings: { } filter_html: id: filter_html provider: filter @@ -48,12 +48,6 @@ filters: allowed_html: '

            1. ' filter_html_help: true filter_html_nofollow: false - filter_autop: - id: filter_autop - provider: filter - status: true - weight: -43 - settings: { } filter_html_escape: id: filter_html_escape provider: filter @@ -66,6 +60,22 @@ filters: status: false weight: -37 settings: { } + filter_htmlcorrector: + id: filter_htmlcorrector + provider: filter + status: true + weight: -48 + settings: { } + filter_pathologic: + id: filter_pathologic + provider: pathologic + status: true + weight: -46 + settings: + settings_source: local + local_settings: + protocol_style: path + local_paths: '' filter_url: id: filter_url provider: filter @@ -80,16 +90,12 @@ filters: weight: -44 settings: title: true - filter_pathologic: - id: filter_pathologic - provider: pathologic + linky_direct_link_filter: + id: linky_direct_link_filter + provider: linky status: true - weight: -46 - settings: - settings_source: local - local_settings: - protocol_style: path - local_paths: '' + weight: 10 + settings: { } media_embed: id: media_embed provider: media @@ -99,13 +105,6 @@ filters: default_view_mode: default allowed_view_modes: { } allowed_media_types: { } - va_gov_backend_node_link_enforcement: - id: va_gov_backend_node_link_enforcement - provider: va_gov_backend - status: true - weight: -45 - settings: - title: '1' va_gov_backend_email_link_repair: id: va_gov_backend_email_link_repair provider: va_gov_backend @@ -113,9 +112,10 @@ filters: weight: -49 settings: title: '1' - linky_direct_link_filter: - id: linky_direct_link_filter - provider: linky + va_gov_backend_node_link_enforcement: + id: va_gov_backend_node_link_enforcement + provider: va_gov_backend status: true - weight: 10 - settings: { } + weight: -45 + settings: + title: '1' diff --git a/config/sync/jsonapi_extras.jsonapi_field_type_config.yml b/config/sync/jsonapi_extras.jsonapi_field_type_config.yml new file mode 100644 index 000000000..36acd3c73 --- /dev/null +++ b/config/sync/jsonapi_extras.jsonapi_field_type_config.yml @@ -0,0 +1,12 @@ +disabled: false +resourceFields: + link: + fieldName: link + enhancer: + id: url_link + settings: + absolute_url: 0 +type: config_entity +label: 'JSON:API Field Type Config' +includedFieldTypes: + - link diff --git a/config/sync/language/en/message.template.aging_content_expired_fwb.yml b/config/sync/language/en/message.template.aging_content_expired_fwb.yml new file mode 100644 index 000000000..1d9f8def9 --- /dev/null +++ b/config/sync/language/en/message.template.aging_content_expired_fwb.yml @@ -0,0 +1,7 @@ +text: + - + value: '

              Your Full-width banner has displayed for seven (7) days

              ' + format: rich_text + - + value: '

              Your Full-width banner has displayed for seven days. In order to meet the purpose of this type of content, please plan to archive, or edit to extend display of, your published Full-width banner titled [message:field_target_node_title] by [message:field_expired_date].

              As a reminder, Full-width banners are to be used for emergencies or actions a veteran needs to take and should display for 7-days, unless there’s a compelling reason to extend display of the content.

              If you do need to extend the display of the banner, simply edit with a comment to that effect, and the 7-day countdown window will reset.


              For more information, you can read this Knowledge Base article for tips and best practices to manage compliance.

              Need help?

              • If you are a Vet Center Director or Outreach Specialist who needs assistance accessing Drupal CMS, please email the CMS Support Team at support@va-gov.atlassian.net.
              • If you want to refresh your skills, need ideas, or have questions about creating content for your webpages, you can find How to Guides and Training videos in the Drupal CMS Knowledge Base or drop in during office hours.
              • If you received this email and no longer have a role at a Vet Center, please inform us by emailing the CMS Support Team at support@va-gov.atlassian.net.

              Coming Soon:

              • Banners will be permanently auto-archived at the end of Day 7, unless edited to reset the 7-day timeframe. We will give ample notice before this functionality is implemented.
              • Notifications and auto-archiving of Home Page Benefit Promo Blocks
              • Notifications and auto-archiving of Home Page News Spotlight Blocks
              ' + format: rich_text diff --git a/config/sync/language/es/views.view.eca_log.yml b/config/sync/language/es/views.view.eca_log.yml index 11fe1a110..1e9e3cae8 100644 --- a/config/sync/language/es/views.view.eca_log.yml +++ b/config/sync/language/es/views.view.eca_log.yml @@ -6,7 +6,6 @@ display: fields: name: label: Usuario - separator: ', ' timestamp: label: Hora message: @@ -16,8 +15,6 @@ display: pager: options: tags: - next: ›› - previous: ‹‹ first: '« Primero' last: 'Último »' expose: @@ -29,8 +26,6 @@ display: submit_button: Aplicar reset_button_label: Restablecer exposed_sorts_label: 'Ordenar por' - sort_asc_label: Asc - sort_desc_label: Desc filters: timestamp: expose: diff --git a/config/sync/mailsystem.settings.yml b/config/sync/mailsystem.settings.yml index dd62dc511..2e35c046e 100644 --- a/config/sync/mailsystem.settings.yml +++ b/config/sync/mailsystem.settings.yml @@ -15,3 +15,6 @@ modules: vet_center_outdated_content: sender: mime_mail formatter: mime_mail + aging_content_expired_fwb: + sender: mime_mail + formatter: mime_mail diff --git a/config/sync/message.template.aging_content_expired_fwb.yml b/config/sync/message.template.aging_content_expired_fwb.yml new file mode 100644 index 000000000..96aa8837f --- /dev/null +++ b/config/sync/message.template.aging_content_expired_fwb.yml @@ -0,0 +1,22 @@ +uuid: 50785dfa-13b8-46ea-8551-c4ac59c447ba +langcode: en +status: true +dependencies: + config: + - filter.format.rich_text +template: aging_content_expired_fwb +label: 'Aging Content: Expired Full Width Alerts' +description: 'Messages for expired Full Width Alert nodes (aka Full Width Banner/FWB)' +text: + - + value: '

              Your Full-width banner has displayed for seven (7) days

              ' + format: rich_text + - + value: '

              Your Full-width banner has displayed for seven days. In order to meet the purpose of this type of content, please plan to archive, or edit to extend display of, your published Full-width banner titled [message:field_target_node_title] by [message:field_expired_date].

              As a reminder, Full-width banners are to be used for emergencies or actions a veteran needs to take and should display for 7-days, unless there’s a compelling reason to extend display of the content.

              If you do need to extend the display of the banner, simply edit with a comment to that effect, and the 7-day countdown window will reset.


              For more information, you can read this Knowledge Base article for tips and best practices to manage compliance.

              Need help?

              • If you are a Vet Center Director or Outreach Specialist who needs assistance accessing Drupal CMS, please email the CMS Support Team at support@va-gov.atlassian.net.
              • If you want to refresh your skills, need ideas, or have questions about creating content for your webpages, you can find How to Guides and Training videos in the Drupal CMS Knowledge Base or drop in during office hours.
              • If you received this email and no longer have a role at a Vet Center, please inform us by emailing the CMS Support Team at support@va-gov.atlassian.net.

              Coming Soon:

              • Banners will be permanently auto-archived at the end of Day 7, unless edited to reset the 7-day timeframe. We will give ample notice before this functionality is implemented.
              • Notifications and auto-archiving of Home Page Benefit Promo Blocks
              • Notifications and auto-archiving of Home Page News Spotlight Blocks
              ' + format: rich_text +settings: + 'token options': + clear: false + 'token replace': true + purge_override: false + purge_methods: { } diff --git a/config/sync/migrate_plus.migration.va_node_health_care_local_facility.yml b/config/sync/migrate_plus.migration.va_node_health_care_local_facility.yml index 37047c74c..f664592b7 100644 --- a/config/sync/migrate_plus.migration.va_node_health_care_local_facility.yml +++ b/config/sync/migrate_plus.migration.va_node_health_care_local_facility.yml @@ -80,10 +80,6 @@ source: name: phone-main label: phone-main selector: properties/phone/main - - - name: phone-mental-health - label: phone-mental-health - selector: properties/phone/mental_health_clinic - name: state label: state @@ -179,29 +175,6 @@ process: 'Other Outpatient Services (OOS)': 6 'Extended Care Site (Community Living Center) (Stand-Alone)': 7 'Residential Care Site (MH RRTP/DRRTP) (Stand-Alone)': 8 - field_mental_health_phone: - plugin: str_replace - search: - - ( - - ) - - X - - ' ' - - ext - - Ext - - . - - ',' - - x - replace: - - '' - - '-' - - x - - '' - - x - - x - - '' - - '' - - ', ext. ' - source: phone-mental-health field_phone_number: plugin: str_replace search: @@ -284,7 +257,6 @@ destination: - field_timezone - changed - field_facility_classification - - field_mental_health_phone - field_phone_number - field_mobile - new_revision diff --git a/config/sync/node_link_report.settings.yml b/config/sync/node_link_report.settings.yml index 911f66d47..f07456221 100644 --- a/config/sync/node_link_report.settings.yml +++ b/config/sync/node_link_report.settings.yml @@ -12,6 +12,7 @@ domains_to_skip: |- dartfirststate.com databus.org deldot.gov + doi.org etssponsorship.com ez-rider.org fcp.vetpro.org @@ -40,7 +41,6 @@ domains_to_skip: |- usajobs.gov usnlx.com uvbh.org - vaww.va.gov veteranscornerok.org veteransofchathamcountyga.org vetpro.org @@ -87,7 +87,7 @@ domains_to_skip: |- www.twitch.tv www.usajobs.gov www.usnlx.com - www.vetcenter.va.gov/New_Vet_Centers.asp + www.vetcenter.va.gov www.veteranscornerok.org www.veteranscrisisline.net www.vietnamwar50th.com diff --git a/config/sync/pathologic.settings.yml b/config/sync/pathologic.settings.yml index 5bf5734e7..f52892373 100644 --- a/config/sync/pathologic.settings.yml +++ b/config/sync/pathologic.settings.yml @@ -1,9 +1,9 @@ _core: default_config_hash: EKYCulG-Y3pcObfUpVbl-D9T5DDX6d4hpQ-BVlSBAmw +protocol_style: full +local_paths: '' scheme_whitelist: - http - https - files - internal -protocol_style: full -local_paths: '' diff --git a/config/sync/views.settings.yml b/config/sync/views.settings.yml index 3dd42adf0..a67956496 100644 --- a/config/sync/views.settings.yml +++ b/config/sync/views.settings.yml @@ -2,7 +2,6 @@ _core: default_config_hash: RaRd9EIcwA4u3qCSRLL8EnCicbda1kV__ASmVbyehvQ display_extenders: - jsonapi_views -skip_cache: false sql_signature: false ui: show: @@ -47,3 +46,4 @@ field_rewrite_elements: ins: INS q: Q s: S +skip_cache: false diff --git a/config/sync/views.view.advancedqueue_jobs.yml b/config/sync/views.view.advancedqueue_jobs.yml index 536ec1a7d..4ba82cb7f 100644 --- a/config/sync/views.view.advancedqueue_jobs.yml +++ b/config/sync/views.view.advancedqueue_jobs.yml @@ -558,7 +558,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.aging_content.yml b/config/sync/views.view.aging_content.yml new file mode 100644 index 000000000..71b0c5d83 --- /dev/null +++ b/config/sync/views.view.aging_content.yml @@ -0,0 +1,292 @@ +uuid: 70c3c065-f808-432c-b1bb-577e704c93ae +langcode: en +status: true +dependencies: + config: + - node.type.banner + module: + - node + - smart_date + - user +id: aging_content +label: 'Aging Content' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + 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 + pager: + type: none + options: + offset: 0 + pagination_heading_level: h2 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + banner: banner + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + 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: { } + field_last_saved_by_an_editor_value: + id: field_last_saved_by_an_editor_value + table: node__field_last_saved_by_an_editor + field: field_last_saved_by_an_editor_value + relationship: none + group_type: group + admin_label: '' + plugin_id: date + operator: '<' + value: + min: '' + max: '' + value: '-7 day' + type: offset + granularity: day + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + 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: { } + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + revision_uid: revision_uid + default: '-1' + info: + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + revision_uid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: + jsonapi_views: + enabled: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'user.node_grants:view' + - user.permissions + tags: { } + fwb_expired: + id: fwb_expired + display_title: 'FWB - Expired' + display_plugin: block + position: 1 + display_options: + display_description: '' + display_extenders: + jsonapi_views: + enabled: true + block_description: 'FWB - Expired' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/config/sync/views.view.child_terms.yml b/config/sync/views.view.child_terms.yml index 48b6606b5..e0eb885a3 100644 --- a/config/sync/views.view.child_terms.yml +++ b/config/sync/views.view.child_terms.yml @@ -168,7 +168,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.content_entity_reference_source.yml b/config/sync/views.view.content_entity_reference_source.yml index e9a085878..8aa1564ab 100644 --- a/config/sync/views.view.content_entity_reference_source.yml +++ b/config/sync/views.view.content_entity_reference_source.yml @@ -234,7 +234,6 @@ display: default_argument_type: fixed default_argument_options: argument: 38442+38441+38440+38439 - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1287,7 +1286,6 @@ display: default_argument_type: fixed default_argument_options: argument: 38442+38441+38440+38439 - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.feedback.yml b/config/sync/views.view.feedback.yml index 981cb4e29..9a3b0a03d 100644 --- a/config/sync/views.view.feedback.yml +++ b/config/sync/views.view.feedback.yml @@ -1411,7 +1411,6 @@ display: title: 'Feedback for {{ arguments.nid }}' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.files.yml b/config/sync/views.view.files.yml index 653a44400..d3dea042c 100644 --- a/config/sync/views.view.files.yml +++ b/config/sync/views.view.files.yml @@ -1050,7 +1050,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.glossary.yml b/config/sync/views.view.glossary.yml index 5cd2f423c..93f1de25e 100644 --- a/config/sync/views.view.glossary.yml +++ b/config/sync/views.view.glossary.yml @@ -248,7 +248,6 @@ display: default_argument_type: fixed default_argument_options: argument: a - default_argument_skip_url: false summary_options: { } summary: format: default_summary @@ -415,7 +414,6 @@ display: default_argument_type: fixed default_argument_options: argument: a - default_argument_skip_url: false summary_options: items_per_page: 25 inline: true diff --git a/config/sync/views.view.listing_page_dashboard.yml b/config/sync/views.view.listing_page_dashboard.yml index fd21fd0ef..5777217c5 100644 --- a/config/sync/views.view.listing_page_dashboard.yml +++ b/config/sync/views.view.listing_page_dashboard.yml @@ -348,7 +348,6 @@ display: title: '' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.local_facilities_entity_reference_view.yml b/config/sync/views.view.local_facilities_entity_reference_view.yml index 2c141583a..281a63c59 100644 --- a/config/sync/views.view.local_facilities_entity_reference_view.yml +++ b/config/sync/views.view.local_facilities_entity_reference_view.yml @@ -209,7 +209,6 @@ display: title: '' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.media.yml b/config/sync/views.view.media.yml index 2e884da4a..d77541245 100644 --- a/config/sync/views.view.media.yml +++ b/config/sync/views.view.media.yml @@ -1289,7 +1289,6 @@ display: context_key: target_bundles fallback: all multiple: or - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -2116,7 +2115,6 @@ display: context_key: target_bundles fallback: all multiple: or - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.media_library.yml b/config/sync/views.view.media_library.yml index c7b29352d..c7ec83a01 100644 --- a/config/sync/views.view.media_library.yml +++ b/config/sync/views.view.media_library.yml @@ -946,7 +946,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1313,7 +1312,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.moderation_history.yml b/config/sync/views.view.moderation_history.yml index 63d2d648c..0a5ad0369 100644 --- a/config/sync/views.view.moderation_history.yml +++ b/config/sync/views.view.moderation_history.yml @@ -290,7 +290,6 @@ display: title: '' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.non_clinical_services.yml b/config/sync/views.view.non_clinical_services.yml index f8e270dc7..0e1ee06c8 100644 --- a/config/sync/views.view.non_clinical_services.yml +++ b/config/sync/views.view.non_clinical_services.yml @@ -597,6 +597,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: open closed_format: Closed separator: @@ -678,6 +679,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: all closed_format: Closed separator: @@ -1128,7 +1130,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1291,7 +1292,6 @@ display: - 'languages:language_content' - 'languages:language_interface' - url - - user - 'user.node_grants:view' tags: - 'config:field.storage.node.field_address' @@ -1452,7 +1452,7 @@ display: label: '' exclude: true alter: - alter_text: true + alter_text: false text: '{{ field_clinic_name }}' make_link: false path: '' @@ -1555,7 +1555,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: building-name group_column: value group_columns: { } @@ -1619,7 +1619,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: wing-floor-room group_column: value group_columns: { } @@ -1807,9 +1807,9 @@ display: if: field_use_facility_address condition: eq equalto: 'On' - then: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address }}" + then: "{{ field_address }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              " then_translate: true - or: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address_1 }}" + or: "{{ field_address_1 }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              " or_translate: true strip_tags: false field_office_hours: @@ -1868,6 +1868,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: open closed_format: Closed separator: @@ -1949,6 +1950,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: all closed_format: Closed separator: @@ -2444,7 +2446,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -2479,7 +2480,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -2566,7 +2566,6 @@ display: - 'languages:language_content' - 'languages:language_interface' - url - - user - 'user.node_grants:view' tags: - 'config:field.storage.node.field_address' @@ -2727,7 +2726,7 @@ display: label: '' exclude: true alter: - alter_text: true + alter_text: false text: '{{ field_clinic_name }}' make_link: false path: '' @@ -2830,7 +2829,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: building-name group_column: value group_columns: { } @@ -2894,7 +2893,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: wing-floor-room group_column: value group_columns: { } @@ -3082,9 +3081,9 @@ display: if: field_use_facility_address condition: eq equalto: 'On' - then: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address }}" + then: "{{ field_address }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              " then_translate: true - or: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address_1 }}" + or: "{{ field_address_1 }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              " or_translate: true strip_tags: false field_office_hours: @@ -3143,6 +3142,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: open closed_format: Closed separator: @@ -3224,6 +3224,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: all closed_format: Closed separator: @@ -3719,7 +3720,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -3754,7 +3754,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -3906,7 +3905,6 @@ display: - 'languages:language_content' - 'languages:language_interface' - url - - user - 'user.node_grants:view' tags: - 'config:field.storage.node.field_address' @@ -4067,7 +4065,7 @@ display: label: '' exclude: true alter: - alter_text: true + alter_text: false text: '{{ field_clinic_name }}' make_link: false path: '' @@ -4170,7 +4168,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: building-name group_column: value group_columns: { } @@ -4234,7 +4232,7 @@ display: click_sort_column: value type: plain_string_formatter settings: - wrap_tag: span + wrap_tag: div wrap_class: wing-floor-room group_column: value group_columns: { } @@ -4422,9 +4420,9 @@ display: if: field_use_facility_address condition: eq equalto: 'On' - then: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address }}" + then: "{{ field_address }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n" then_translate: true - or: "{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n{{ field_address_1 }}" + or: "{{ field_address_1 }}\r\n{{ field_clinic_name }}\r\n
              {{ field_building_name_number }}{{ field_wing_floor_or_room_number }}
              \r\n" or_translate: true strip_tags: false field_office_hours: @@ -4483,6 +4481,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: open closed_format: Closed separator: @@ -4564,6 +4563,7 @@ display: time_format: g compress: true grouped: true + show_empty: true show_closed: all closed_format: Closed separator: @@ -5059,7 +5059,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -5094,7 +5093,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -5219,7 +5217,6 @@ display: - 'languages:language_content' - 'languages:language_interface' - url - - user - 'user.node_grants:view' tags: - 'config:field.storage.node.field_address' diff --git a/config/sync/views.view.right_sidebar_latest_revision.yml b/config/sync/views.view.right_sidebar_latest_revision.yml index 337bc150c..21afc6ccd 100644 --- a/config/sync/views.view.right_sidebar_latest_revision.yml +++ b/config/sync/views.view.right_sidebar_latest_revision.yml @@ -348,7 +348,6 @@ display: title: '' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.services.yml b/config/sync/views.view.services.yml index 61ca7d3bb..894c402bc 100644 --- a/config/sync/views.view.services.yml +++ b/config/sync/views.view.services.yml @@ -1289,7 +1289,6 @@ display: title: 'Health services at {{ arguments.nid }}' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1429,7 +1428,6 @@ display: title: 'Health services at {{ arguments.nid }}' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_node.yml b/config/sync/views.view.subscribe_node.yml index a72af3c6b..474628d67 100644 --- a/config/sync/views.view.subscribe_node.yml +++ b/config/sync/views.view.subscribe_node.yml @@ -203,7 +203,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_node_email.yml b/config/sync/views.view.subscribe_node_email.yml index b6d62a654..4946dfd46 100644 --- a/config/sync/views.view.subscribe_node_email.yml +++ b/config/sync/views.view.subscribe_node_email.yml @@ -254,7 +254,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_taxonomy_term.yml b/config/sync/views.view.subscribe_taxonomy_term.yml index 5b5b50b1c..934a52ad0 100644 --- a/config/sync/views.view.subscribe_taxonomy_term.yml +++ b/config/sync/views.view.subscribe_taxonomy_term.yml @@ -194,7 +194,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_taxonomy_term_email.yml b/config/sync/views.view.subscribe_taxonomy_term_email.yml index 5fb68ed6a..2457528b4 100644 --- a/config/sync/views.view.subscribe_taxonomy_term_email.yml +++ b/config/sync/views.view.subscribe_taxonomy_term_email.yml @@ -245,7 +245,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_user.yml b/config/sync/views.view.subscribe_user.yml index 3bd148a0d..ee4553bbb 100644 --- a/config/sync/views.view.subscribe_user.yml +++ b/config/sync/views.view.subscribe_user.yml @@ -191,7 +191,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.subscribe_user_email.yml b/config/sync/views.view.subscribe_user_email.yml index 46986c2fd..ee46e639f 100644 --- a/config/sync/views.view.subscribe_user_email.yml +++ b/config/sync/views.view.subscribe_user_email.yml @@ -242,7 +242,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.taxonomy_term.yml b/config/sync/views.view.taxonomy_term.yml index 81e651c5a..c8f998794 100644 --- a/config/sync/views.view.taxonomy_term.yml +++ b/config/sync/views.view.taxonomy_term.yml @@ -900,7 +900,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1355,7 +1354,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.tmgmt_job_items.yml b/config/sync/views.view.tmgmt_job_items.yml index a3656c204..9938cbcbc 100644 --- a/config/sync/views.view.tmgmt_job_items.yml +++ b/config/sync/views.view.tmgmt_job_items.yml @@ -534,7 +534,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.tmgmt_job_messages.yml b/config/sync/views.view.tmgmt_job_messages.yml index 0a90c8094..a47f2b35d 100644 --- a/config/sync/views.view.tmgmt_job_messages.yml +++ b/config/sync/views.view.tmgmt_job_messages.yml @@ -284,7 +284,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.user_history.yml b/config/sync/views.view.user_history.yml index 0498b96fa..3122007f4 100644 --- a/config/sync/views.view.user_history.yml +++ b/config/sync/views.view.user_history.yml @@ -754,7 +754,6 @@ display: default_argument_type: user default_argument_options: user: false - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.users_in_section.yml b/config/sync/views.view.users_in_section.yml index 8739d2334..26617f517 100644 --- a/config/sync/views.view.users_in_section.yml +++ b/config/sync/views.view.users_in_section.yml @@ -629,7 +629,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/config/sync/views.view.vet_center_facility_listing.yml b/config/sync/views.view.vet_center_facility_listing.yml index 5068018ee..97d3adf76 100644 --- a/config/sync/views.view.vet_center_facility_listing.yml +++ b/config/sync/views.view.vet_center_facility_listing.yml @@ -347,7 +347,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -678,7 +677,6 @@ display: title: 'Display Additional Mobile Vet Centers' default_argument_type: node default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1160,7 +1158,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1491,7 +1488,6 @@ display: limit: false vids: { } anyall: ',' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/docroot/design-system/package-lock.json b/docroot/design-system/package-lock.json index 713de82b9..7036c5921 100644 --- a/docroot/design-system/package-lock.json +++ b/docroot/design-system/package-lock.json @@ -16777,9 +16777,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", - "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", + "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -28970,9 +28970,9 @@ } }, "webpack-dev-middleware": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", - "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", + "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", "dev": true, "requires": { "colorette": "^2.0.10", diff --git a/docroot/modules/custom/va_gov_backend/js/service_location_hours.es6.js b/docroot/modules/custom/va_gov_backend/js/service_location_hours.es6.js index 4554c2af0..e4b106193 100644 --- a/docroot/modules/custom/va_gov_backend/js/service_location_hours.es6.js +++ b/docroot/modules/custom/va_gov_backend/js/service_location_hours.es6.js @@ -2,40 +2,38 @@ * @file */ -(($, Drupal) => { +(($, Drupal, once) => { const displayHours = (value, toggle, table) => { if (toggle.checked && table) { if (toggle.value === value) { table.style.display = "block"; if (value === "0") { - $(table) - .once("button-build") - .each(function makeToolTip() { - const button = document.createElement("button"); - button.className = "tooltip-toggle"; - button.value = - "Why can't I edit this? VHA keeps these descriptions standardized to help Veterans identify the services they need."; - button.type = "button"; - // Add css formatting from "tippy" css library. - button.ariaLabel = "tooltip"; - button.setAttribute( - "data-tippy", - "Why can't I edit this?\nVHA keeps these descriptions standardized to help Veterans identify the services they need." - ); - button.setAttribute("data-tippy-pos", "right"); - button.setAttribute("data-tippy-animate", "fade"); - button.setAttribute("data-tippy-size", "large"); - table.className = `no-content health_service_text_container field-group-tooltip tooltip-layout centralized css-tooltip`; - // Smash it all together. - table.appendChild(button); - window.tippy(button, { - content: () => button.value, - theme: "tippy_popover", - placement: "right", - arrow: true, - offset: [15, 0], - }); + $(once("button-build", table)).each(function makeToolTip() { + const button = document.createElement("button"); + button.className = "tooltip-toggle"; + button.value = + "Why can't I edit this? VHA keeps these descriptions standardized to help Veterans identify the services they need."; + button.type = "button"; + // Add css formatting from "tippy" css library. + button.ariaLabel = "tooltip"; + button.setAttribute( + "data-tippy", + "Why can't I edit this?\nVHA keeps these descriptions standardized to help Veterans identify the services they need." + ); + button.setAttribute("data-tippy-pos", "right"); + button.setAttribute("data-tippy-animate", "fade"); + button.setAttribute("data-tippy-size", "large"); + table.className = `no-content health_service_text_container field-group-tooltip tooltip-layout centralized css-tooltip`; + // Smash it all together. + table.appendChild(button); + window.tippy(button, { + content: () => button.value, + theme: "tippy_popover", + placement: "right", + arrow: true, + offset: [15, 0], }); + }); } } else { table.style.display = "none"; @@ -80,4 +78,4 @@ }); }, }; -})(jQuery, Drupal); +})(jQuery, window.Drupal, window.once); diff --git a/docroot/modules/custom/va_gov_backend/js/service_location_hours.js b/docroot/modules/custom/va_gov_backend/js/service_location_hours.js index 1c715d619..f822d6970 100644 --- a/docroot/modules/custom/va_gov_backend/js/service_location_hours.js +++ b/docroot/modules/custom/va_gov_backend/js/service_location_hours.js @@ -4,26 +4,23 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - -(function ($, Drupal) { +(function ($, Drupal, once) { var displayHours = function displayHours(value, toggle, table) { if (toggle.checked && table) { if (toggle.value === value) { table.style.display = "block"; if (value === "0") { - $(table).once("button-build").each(function makeToolTip() { + $(once("button-build", table)).each(function makeToolTip() { var button = document.createElement("button"); button.className = "tooltip-toggle"; button.value = "Why can't I edit this? VHA keeps these descriptions standardized to help Veterans identify the services they need."; button.type = "button"; - button.ariaLabel = "tooltip"; button.setAttribute("data-tippy", "Why can't I edit this?\nVHA keeps these descriptions standardized to help Veterans identify the services they need."); button.setAttribute("data-tippy-pos", "right"); button.setAttribute("data-tippy-animate", "fade"); button.setAttribute("data-tippy-size", "large"); table.className = "no-content health_service_text_container field-group-tooltip tooltip-layout centralized css-tooltip"; - table.appendChild(button); window.tippy(button, { content: function content() { @@ -41,7 +38,6 @@ } } }; - Drupal.behaviors.vaGovServiceLocationHours = { attach: function attach(context) { var hourSelects = document.querySelectorAll(".field--name-field-hours input"); @@ -49,21 +45,18 @@ hourSelects.forEach(function (hourSelect) { var hours = hourSelect.parentElement.parentElement.parentElement.parentElement.parentElement.nextElementSibling; var facilityHours = hourSelect.parentElement.parentElement.parentElement.parentElement.nextElementSibling; - displayHours("2", hourSelect, hours); displayHours("0", hourSelect, facilityHours); }); }); - context.addEventListener("click", function () { hourSelects.forEach(function (hourSelect) { var hours = hourSelect.parentElement.parentElement.parentElement.parentElement.parentElement.nextElementSibling; var facilityHours = hourSelect.parentElement.parentElement.parentElement.parentElement.nextElementSibling; - displayHours("2", hourSelect, hours); displayHours("0", hourSelect, facilityHours); }); }); } }; -})(jQuery, Drupal); +})(jQuery, window.Drupal, window.once); \ No newline at end of file diff --git a/docroot/modules/custom/va_gov_backend/src/Logger/Processor/DatadogApmProcessor.php b/docroot/modules/custom/va_gov_backend/src/Logger/Processor/DatadogApmProcessor.php index db7e37d58..6aa119fc7 100644 --- a/docroot/modules/custom/va_gov_backend/src/Logger/Processor/DatadogApmProcessor.php +++ b/docroot/modules/custom/va_gov_backend/src/Logger/Processor/DatadogApmProcessor.php @@ -3,7 +3,6 @@ namespace Drupal\va_gov_backend\Logger\Processor; use Drupal\va_gov_backend\Service\DatadogContextProviderInterface; -use Monolog\LogRecord; use Monolog\Processor\ProcessorInterface; /** @@ -101,7 +100,7 @@ public function shouldAlterRecord(array $record): bool { /** * {@inheritdoc} */ - public function __invoke(LogRecord $record): array { + public function __invoke(array $record): array { if (!$this->shouldAlterRecord($record)) { return $record; } diff --git a/docroot/modules/custom/va_gov_eca/config/schema/va_gov_eca.views.schema.yml b/docroot/modules/custom/va_gov_eca/config/schema/va_gov_eca.views.schema.yml new file mode 100644 index 000000000..e948873fe --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/config/schema/va_gov_eca.views.schema.yml @@ -0,0 +1,3 @@ +views.display.eca_result: + type: views_display + label: 'ECA Result display' diff --git a/docroot/modules/custom/va_gov_eca/src/Plugin/Action/CreateAdvancedQueueJob.php b/docroot/modules/custom/va_gov_eca/src/Plugin/Action/CreateAdvancedQueueJob.php new file mode 100644 index 000000000..d0f4d6c82 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/src/Plugin/Action/CreateAdvancedQueueJob.php @@ -0,0 +1,260 @@ +entityTypeManager = $entity_type_manager; + $this->tokenServices = $token_services; + $this->currentUser = $current_user; + $this->time = $time; + $this->state = $state; + $this->jobTypeManager = $job_type_manager; + $this->yamlParser = $yaml_parser; + $this->loggerFactory = $logger_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition): ActionBase { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('entity_type.manager'), + $container->get('eca.token_services'), + $container->get('current_user'), + $container->get('datetime.time'), + $container->get('eca.state'), + $container->get('plugin.manager.advancedqueue_job_type'), + $container->get('eca.service.yaml_parser'), + $container->get('logger.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function defaultConfiguration(): array { + return [ + 'token_name' => '', + 'type' => '', + 'payload' => '', + 'queue' => '', + ] + parent::defaultConfiguration(); + } + + /** + * {@inheritDoc} + */ + public function execute() { + $job = Job::create($this->configuration['type'], $this->buildPayload()); + if ($this->configuration['queue']) { + Queue::load($this->configuration['queue'])?->enqueueJob($job); + } + $this->tokenServices->addTokenData($this->configuration['token_name'], $job); + } + + /** + * {@inheritDoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state): array { + $form['token_name'] = [ + '#type' => 'textfield', + '#title' => $this->t('Name of token'), + '#default_value' => $this->configuration['token_name'], + '#description' => $this->t('Provide the name of a token that holds the new Job.'), + ]; + $form['type'] = [ + '#type' => 'select', + '#title' => $this->t('Job Type'), + '#description' => $this->t('The Advanced Queue Job Type to create.'), + '#required' => TRUE, + '#default_value' => $this->configuration['type'], + '#options' => $this->buildJobTypeOptions(), + ]; + $form['payload'] = [ + '#type' => 'textarea', + '#title' => $this->t('Payload'), + '#description' => $this->t('The value of the payload. Enter data as Yaml. Tokens are supported.'), + '#default_value' => $this->configuration['payload'], + ]; + $form['queue'] = [ + '#type' => 'select', + '#title' => $this->t('Job Queue'), + '#description' => $this->t('Send the job to this queue.'), + '#default_value' => $this->configuration['queue'], + '#options' => $this->buildQueueOptions(), + "#empty_option" => "- None -", + '#empty_value' => "", + ]; + return $form; + } + + /** + * Build the Job Type option values, suitable for a select Form element. + * + * @return array + * An array of Job Type labels, keyed by type. + */ + private function buildJobTypeOptions() { + $options = []; + foreach ($this->jobTypeManager->getDefinitions() as $id => $definition) { + $options[$id] = $id . ' : ' . $definition['label']; + } + return $options; + } + + /** + * Build the Queue option values, suitable for a select Form element. + * + * @return array + * An array of queue's, keyed by id. + */ + private function buildQueueOptions() { + $options = []; + try { + $storage = $this->entityTypeManager->getStorage('advancedqueue_queue'); + $ids = $storage->getQuery()->execute(); + foreach ($ids as $id) { + $q = Queue::load($id); + $options[$id] = $q->label(); + } + } + catch (InvalidPluginDefinitionException | PluginNotFoundException) { + $this->loggerFactory->get('va_gov_eca')->error('Attempt to build option values for queue in action "create_advancedqueue_job" failed. Is Advanced Queue installed?'); + } + + return $options; + } + + /** + * Builds a payload for a Job. + * + * @return array + * The Job's payload. + */ + private function buildPayload() { + $payload = []; + $value = $this->configuration['payload']; + try { + $payload = $this->yamlParser->parse($value); + } + catch (ParseException $e) { + $this->loggerFactory->get('va_gov_eca')->error('Tried parsing a Token value in action "create_advancedqueue_job" as YAML format, but parsing failed. Error was:
              @message
              ', ['@message' => $e->getMessage()]); + } + return $payload; + } + + /** + * {@inheritDoc} + */ + public function validateConfigurationForm(array &$form, FormStateInterface $form_state): void { + try { + $this->yamlParser->parse($form_state->getValue('payload')); + } + catch (ParseException $e) { + $form_state->setError($form['subform']['payload'], $this->t('Payload contains invalid yaml. Error:
              @message
              ', ['@message' => $e->getMessage()])); + } + } + + /** + * {@inheritDoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void { + $this->configuration['token_name'] = $form_state->getValue('token_name'); + $this->configuration['type'] = $form_state->getValue('type'); + $this->configuration['payload'] = $form_state->getValue('payload'); + $this->configuration['queue'] = $form_state->getValue('queue'); + } + +} diff --git a/docroot/modules/custom/va_gov_eca/src/Plugin/ECA/Condition/ViewsResultCondition.php b/docroot/modules/custom/va_gov_eca/src/Plugin/ECA/Condition/ViewsResultCondition.php new file mode 100644 index 000000000..fe5c5fc21 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/src/Plugin/ECA/Condition/ViewsResultCondition.php @@ -0,0 +1,188 @@ +moduleHandler = $module_handler; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition): ConditionBase { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('entity_type.manager'), + $container->get('entity_type.bundle.info'), + $container->get('request_stack'), + $container->get('eca.token_services'), + $container->get('current_user'), + $container->get('datetime.time'), + $container->get('eca.state'), + $container->get('module_handler') + ); + } + + /** + * {@inheritDoc} + */ + public function evaluate(): bool { + $result = views_get_view_result($this->configuration['view_name'], $this->configuration['display_name'], $this->configuration['arguments']); + return count($result) > 0; + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state): array { + $view_storage = $this->entityTypeManager->getStorage('view'); + $displays = Views::getApplicableViews('eca_views_display'); + $options = []; + foreach ($displays as $data) { + [$view_id, $display_id] = $data; + $view = $view_storage->load($view_id); + $display = $view->get('display'); + $options[$view_id . ':' . $display_id] = $view_id . ' - ' . $display[$display_id]['display_title']; + } + + if ($options) { + $default = !empty($this->configuration['view_name']) && !empty($this->configuration['view_display']) ? $this->configuration['view_name'] . ':' . $this->configuration['view_display'] : ''; + $form['view']['view_and_display'] = [ + '#type' => 'select', + '#title' => $this->t('View to query'), + '#required' => TRUE, + '#options' => $options, + '#default_value' => $default, + '#description' => '

              ' . $this->t('Choose the view and display to retrieve results from.
              Only views with a display of type "ECA Result" are eligible.') . '

              ', + ]; + + $default = !empty($this->configuration['arguments']) ? implode(', ', $this->configuration['arguments']) : ''; + $form['view']['arguments'] = [ + '#type' => 'textfield', + '#title' => $this->t('View arguments'), + '#default_value' => $default, + '#required' => FALSE, + '#description' => $this->t('Provide a comma separated list of arguments to pass to the view.'), + ]; + } + else { + if ($this->currentUser->hasPermission('administer views') && $this->moduleHandler->moduleExists('views_ui')) { + $form['view']['no_view_help'] = [ + '#markup' => '

              ' . $this->t('No eligible views were found. Create a view with an ECA Result display, or add such a display to an existing view.', [ + ':create' => Url::fromRoute('views_ui.add')->toString(), + ':existing' => Url::fromRoute('entity.view.collection')->toString(), + ]) . '

              ', + ]; + } + else { + $form['view']['no_view_help']['#markup'] = '

              ' . $this->t('No eligible views were found.') . '

              '; + } + } + return parent::buildConfigurationForm($form, $form_state); + } + + /** + * {@inheritDoc} + */ + public function validateConfigurationForm(array &$form, FormStateInterface $form_state): void { + $value = $form_state->getValue('view'); + // Split view name and display name from the 'view_and_display' value. + if (!empty($value)) { + [$view, $display] = explode(':', $value['view_and_display']); + } + else { + $form_state->setError($form['view']['view_and_display'], new TranslatableMarkup('The views entity selection mode requires a view.')); + return; + } + + // Explode the 'arguments' string into an actual array. + $arguments_string = trim($value['arguments']); + if ($arguments_string === '') { + $arguments = []; + } + else { + $arguments = array_map('trim', explode(',', $arguments_string)); + } + + $value = [ + 'view_name' => $view, + 'display_name' => $display, + 'arguments' => $arguments, + ]; + $form_state->setValue('view', $value); + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void { + $view = $form_state->getValue('view'); + $this->configuration['view_name'] = $view['view_name']; + $this->configuration['display_name'] = $view['display_name']; + $this->configuration['arguments'] = $view['arguments']; + parent::submitConfigurationForm($form, $form_state); + } + +} diff --git a/docroot/modules/custom/va_gov_eca/src/Plugin/views/display/EcaViewsResultDisplay.php b/docroot/modules/custom/va_gov_eca/src/Plugin/views/display/EcaViewsResultDisplay.php new file mode 100644 index 000000000..03a57fa5c --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/src/Plugin/views/display/EcaViewsResultDisplay.php @@ -0,0 +1,70 @@ + 'default']; + $options['defaults']['default']['style'] = FALSE; + $options['row']['contains']['type'] = ['default' => 'fields']; + $options['defaults']['default']['row'] = FALSE; + + // Set the display title to an empty string (not used in this display type). + $options['title']['default'] = ''; + $options['defaults']['default']['title'] = FALSE; + + return $options; + } + +} diff --git a/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/test_views/views.view.va_gov_eca_default_content.yml b/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/test_views/views.view.va_gov_eca_default_content.yml new file mode 100644 index 000000000..48d4c5325 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/test_views/views.view.va_gov_eca_default_content.yml @@ -0,0 +1,244 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - node.type.default + module: + - node + - user + - va_gov_eca +id: va_gov_eca_default_content +label: 'Test Default' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Test Default' + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + 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 + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + 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 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + style: + type: default + row: + type: 'entity:node' + options: + view_mode: teaser + 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: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + eca_result_1: + id: eca_result_1 + display_title: 'ECA Result' + display_plugin: eca_result + position: 2 + display_options: + display_extenders: { } + row: + type: 'entity:node' + options: + relationship: none + view_mode: teaser + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: + default: default + group: '1' + exposed: false + expose: + operator_id: false + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: 0 + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: type + plugin_id: bundle + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_interface' + - 'user.node_grants:view' + tags: { } + page_1: + id: page_1 + display_title: Page + display_plugin: page + position: 1 + display_options: + display_extenders: { } + path: test-default + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/va_gov_eca_test_views.info.yml b/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/va_gov_eca_test_views.info.yml new file mode 100644 index 000000000..2bc7369d6 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/tests/modules/va_gov_eca_test_views/va_gov_eca_test_views.info.yml @@ -0,0 +1,5 @@ +name: 'VA.gov ECA Views Tests' +type: module +description: 'Support module for VA.gov ECA Views tests.' +package: Testing +core_version_requirement: ^10 diff --git a/docroot/modules/custom/va_gov_eca/tests/src/Kernel/ViewsResultConditionTest.php b/docroot/modules/custom/va_gov_eca/tests/src/Kernel/ViewsResultConditionTest.php new file mode 100644 index 000000000..83ec27237 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/tests/src/Kernel/ViewsResultConditionTest.php @@ -0,0 +1,98 @@ +installEntitySchema('user'); + $this->installEntitySchema('node'); + $this->installConfig(ViewsResultConditionTest::$modules); + $this->conditionManager = \Drupal::service('plugin.manager.eca.condition'); + + // Create a new content type, 'default'. + $this->createContentType(['type' => 'default']); + + // Create View from config. + ViewTestData::createTestViews(ViewsResultConditionTest::class, ['va_gov_eca_test_views']); + $view = View::load('va_gov_eca_default_content'); + + // Create our Condition plugin instance. + $config = [ + 'view_name' => $view->id(), + 'display_name' => 'eca_result_1', + 'arguments' => [], + ]; + /** @var \Drupal\va_gov_eca\Plugin\ECA\Condition\ViewsResultCondition $condition */ + $this->condition = $this->conditionManager->createInstance('views_result', $config); + } + + /** + * Test the condition when a View contains no results. + */ + public function testViewsResultConditionWithNoResult(): void { + $this->assertFalse($this->condition->evaluate()); + } + + /** + * Test the condition when a View contains results. + */ + public function testViewsResultConditionWithResult(): void { + // Create a Default node. + $this->createNode(['type' => 'default']); + $this->assertTrue($this->condition->evaluate()); + } + +} diff --git a/docroot/modules/custom/va_gov_eca/va_gov_eca.info.yml b/docroot/modules/custom/va_gov_eca/va_gov_eca.info.yml new file mode 100644 index 000000000..371782af8 --- /dev/null +++ b/docroot/modules/custom/va_gov_eca/va_gov_eca.info.yml @@ -0,0 +1,7 @@ +name: 'VA.gov ECA' +type: module +description: 'Custom code for ECA (Event, Condition, Action).' +package: Custom +core_version_requirement: ^10 +dependencies: + - eca:eca diff --git a/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php b/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php index c2f58d0a6..6702be4f7 100644 --- a/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php +++ b/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php @@ -10,12 +10,14 @@ use Drupal\Core\Entity\EntityTypeManager; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Messenger\MessengerInterface; +use Drupal\Core\Render\RendererInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslationInterface; use Drupal\core_event_dispatcher\EntityHookEvents; use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; use Drupal\core_event_dispatcher\Event\Entity\EntityUpdateEvent; +use Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent; use Drupal\core_event_dispatcher\Event\Form\FormAlterEvent; use Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent; use Drupal\core_event_dispatcher\FormHookEvents; @@ -69,6 +71,14 @@ class FacilitiesSubscriber implements EventSubscriberInterface { */ protected $userPermsService; + /** + * The renderer service. + * + * @var \Drupal\Core\Render\RendererInterface + * The renderer. + */ + private $renderer; + /** * Constructs the EventSubscriber object. * @@ -84,6 +94,8 @@ class FacilitiesSubscriber implements EventSubscriberInterface { * The string translation service. * @param \Drupal\va_gov_user\Service\UserPermsService $user_perms_service * The user perms service. + * @param \Drupal\Core\Render\RendererInterface $renderer + * The renderer service. */ public function __construct( AccountInterface $currentUser, @@ -91,7 +103,8 @@ public function __construct( EntityTypeManager $entityTypeManager, MessengerInterface $messenger, TranslationInterface $string_translation, - UserPermsService $user_perms_service + UserPermsService $user_perms_service, + RendererInterface $renderer ) { $this->currentUser = $currentUser; $this->entityTypeManager = $entityTypeManager; @@ -99,6 +112,7 @@ public function __construct( $this->messenger = $messenger; $this->stringTranslation = $string_translation; $this->userPermsService = $user_perms_service; + $this->renderer = $renderer; } /** @@ -112,13 +126,58 @@ public static function getSubscribedEvents(): array { 'hook_event_dispatcher.form_node_vet_center_form.alter' => 'alterVetCenterNodeForm', 'hook_event_dispatcher.form_node_vba_facility_service_edit_form.alter' => 'alterVbaFacilityServiceNodeForm', 'hook_event_dispatcher.form_node_vba_facility_service_form.alter' => 'alterVbaFacilityServiceNodeForm', + 'hook_event_dispatcher.form_node_vet_center_facility_health_servi_edit_form.alter' => 'alterVetCenterServiceNodeForm', EntityHookEvents::ENTITY_PRE_SAVE => 'entityPresave', EntityHookEvents::ENTITY_UPDATE => 'entityUpdate', + EntityHookEvents::ENTITY_VIEW_ALTER => 'entityViewAlter', FieldHookEvents::WIDGET_COMPLETE_FORM_ALTER => 'widgetCompleteFormAlter', FormHookEvents::FORM_ALTER => 'formAlter', ]; } + /** + * Alteration to entity view pages. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event + * The entity view alter service. + */ + public function entityViewAlter(EntityViewAlterEvent $event):void { + $this->appendServiceDescriptionToVetCenterFacilityService($event); + } + + /** + * Appends Vet Center facility service description to its title on node:view. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event + * The entity view alter service. + */ + public function appendServiceDescriptionToVetCenterFacilityService(EntityViewAlterEvent $event):void { + if (($event->getDisplay()->getTargetBundle() !== 'vet_center_facility_health_servi') + || ($event->getDisplay()->getOriginalMode() !== 'full')) { + return; + } + $build = &$event->getBuild(); + $service_node = $event->getEntity(); + $referenced_terms = $service_node->get('field_service_name_and_descripti')->referencedEntities(); + // Render the national service term description (if available). + if (!empty($referenced_terms)) { + $description = ""; + $referenced_term = reset($referenced_terms); + if ($referenced_term) { + $view_builder = $this->entityTypeManager->getViewBuilder('taxonomy_term'); + $referenced_term_content = $view_builder->view($referenced_term, 'vet_center_service'); + $description = $this->renderer->renderRoot($referenced_term_content); + } + } + else { + $description = new FormattableMarkup( + '
              Notice: The national service description was not found.
              ', + []); + } + $formatted_markup = new FormattableMarkup($description, []); + $build['field_service_name_and_descripti']['#suffix'] = $formatted_markup; + } + /** * Creates custom render array from field on referenced entity. * @@ -444,6 +503,16 @@ public function alterVbaFacilityServiceNodeForm(FormIdAlterEvent $event): void { $this->buildHealthServicesDescriptionArrayAddToSettings($event); } + /** + * Alterations to the Vet Center facility service node form. + * + * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event + * The event. + */ + public function alterVetCenterServiceNodeForm(FormIdAlterEvent $event): void { + $this->buildHealthServicesDescriptionArrayAddToSettings($event); + } + /** * Builds an array of descriptions from health services available on form. * @@ -552,6 +621,7 @@ public function getVaServicesTaxonomyFieldNames(string $node_type) : array { ]; break; + case 'vet_center_facility_health_servi': case 'vet_center': $vaServicesFields = [ 'type' => 'field_vet_center_type_of_care', diff --git a/docroot/modules/custom/va_gov_facilities/va_gov_facilities.services.yml b/docroot/modules/custom/va_gov_facilities/va_gov_facilities.services.yml index 002d237fb..b215bd18f 100644 --- a/docroot/modules/custom/va_gov_facilities/va_gov_facilities.services.yml +++ b/docroot/modules/custom/va_gov_facilities/va_gov_facilities.services.yml @@ -8,5 +8,6 @@ services: - '@messenger' - '@string_translation' - '@va_gov_user.user_perms' + - '@renderer' tags: - { name: event_subscriber } diff --git a/docroot/modules/custom/va_gov_migrate/config/install/migrate_plus.migration.va_node_health_care_local_facility.yml b/docroot/modules/custom/va_gov_migrate/config/install/migrate_plus.migration.va_node_health_care_local_facility.yml index 084789f10..639250ef9 100644 --- a/docroot/modules/custom/va_gov_migrate/config/install/migrate_plus.migration.va_node_health_care_local_facility.yml +++ b/docroot/modules/custom/va_gov_migrate/config/install/migrate_plus.migration.va_node_health_care_local_facility.yml @@ -86,10 +86,6 @@ source: name: phone-main label: phone-main selector: properties/phone/main - - - name: phone-mental-health - label: phone-mental-health - selector: properties/phone/mental_health_clinic - name: state label: state @@ -191,12 +187,6 @@ process: 'Other Outpatient Services (OOS)': 6 'Extended Care Site (Community Living Center) (Stand-Alone)': 7 'Residential Care Site (MH RRTP/DRRTP) (Stand-Alone)': 8 - field_mental_health_phone: - # Covert all ext variants to x and then replace it with, ', ext. ' last. - plugin: str_replace - search: ['(', ')', 'X', ' ', 'ext', 'Ext', '.', ',', 'x'] - replace: ['', '-', 'x', '', 'x', 'x', '', '', ', ext. '] - source: phone-mental-health field_phone_number: # Covert all ext variants to x and then replace it with, ', ext. ' last. plugin: str_replace @@ -266,7 +256,6 @@ destination: - field_timezone - changed - field_facility_classification - - field_mental_health_phone - field_phone_number - field_mobile - new_revision diff --git a/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBase.php b/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBase.php new file mode 100644 index 000000000..24d629d9f --- /dev/null +++ b/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBase.php @@ -0,0 +1,174 @@ +setLoggerFactory($loggerFactory); + $this->logger = $this->getLogger('va_gov_notifications'); + $this->messageNotifier = $messageNotifier; + } + + /** + * {@inheritDoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) :static { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('logger.factory'), + $container->get('message_notify.sender') + ); + } + + /** + * {@inheritdoc} + */ + public function process(Job $job): JobResult { + $this->job = $job; + $message = $this->createMessage($this->job->getPayload()); + if (!$this->allowedToSend($message, $this->job->getPayload())) { + return JobResult::failure($this->getRestrictedRecipientMessage(), 0); + } + $status = $this->messageNotifier->send($message); + if (!$status) { + $error_message = $this->getErrorMessage($job, $message); + $this->logger->error($error_message); + return JobResult::failure($error_message); + } + $success_message = $this->getSuccessMessage($job, $message); + $this->logger->info($success_message); + return JobResult::success($success_message); + } + + /** + * Creates a notification Message entity from a Job's payload. + * + * @param array $payload + * The current job payload. + * @param bool $save + * TRUE to save and persist the message in the database. + * + * @return \Drupal\message\Entity\Message + * The newly created Message entity. + * + * @throws \Drupal\Core\Entity\EntityStorageException + * Thrown when the Message entity cannot be saved. + * @throws \Drupal\Core\TypedData\Exception\MissingDataException + * Thrown when the template_values array key is missing from the payload. + */ + public function createMessage(array $payload, bool $save = TRUE): Message { + if (empty($payload['template_values'])) { + throw new MissingDataException(sprintf('Missing template_values in payload for job id %s', $this->job->getId())); + } + $message = Message::create($payload['template_values']); + $this->populateMessage($message, $payload); + if ($save) { + $message->save(); + } + return $message; + } + + /** + * Populates a Message with values from the Job's payload. + * + * @param \Drupal\message\Entity\Message $message + * The current message entity. + * @param array $payload + * The current payload values. + */ + public function populateMessage(Message $message, array $payload): void { + foreach ($payload['values'] as $field_name => $value) { + $message->set($field_name, $value); + } + } + + /** + * {@inheritDoc} + */ + public function getErrorMessage(Job $job, Message $message): string { + return "Failed to send message {$message->id()}."; + } + + /** + * {@inheritDoc} + */ + public function getSuccessMessage(Job $job, Message $message): string { + return "Message {$message->id()} sent successfully."; + } + + /** + * {@inheritDoc} + */ + public function getRestrictedRecipientMessage(Job $job, Message $message): string { + return "Recipient is not on the allow list for message {$message->id()}."; + } + + /** + * {@inheritDoc} + */ + public function allowedToSend(Message $message, array $payload): bool { + if (!isset($payload['restrict_delivery_to'])) { + return FALSE; + } + $allowed_recipients = (array) $payload['restrict_delivery_to']; + return in_array($message->getOwnerId(), $allowed_recipients); + } + +} diff --git a/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBaseInterface.php b/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBaseInterface.php new file mode 100644 index 000000000..725f83e4a --- /dev/null +++ b/docroot/modules/custom/va_gov_notifications/src/JobTypeMessageNotifyBaseInterface.php @@ -0,0 +1,93 @@ + +
              + VA logo and seal, U.S. Department of Veterans Affairs +
              + {{ content }} + diff --git a/docroot/modules/custom/va_gov_notifications/va_gov_notifications.module b/docroot/modules/custom/va_gov_notifications/va_gov_notifications.module index b244c5076..009979ef5 100644 --- a/docroot/modules/custom/va_gov_notifications/va_gov_notifications.module +++ b/docroot/modules/custom/va_gov_notifications/va_gov_notifications.module @@ -19,6 +19,9 @@ function va_gov_notifications_theme() { 'message__vet_center_outdated_content__mail_body' => [ 'base hook' => 'message', ], + 'message__aging_content_expired_fwb__mail_body' => [ + 'base hook' => 'message', + ], ]; } @@ -29,6 +32,7 @@ function va_gov_notifications_mail_alter(&$message) { $types = [ 'vamc_outdated_content', 'vet_center_outdated_content', + 'aging_content_expired_fwb', ]; if (in_array($message['key'], $types) && !empty($message['params']['message_entity'])) { $message['headers']['Content-Type'] = 'multipart/related; charset=UTF-8; format=flowed; delsp=yes'; diff --git a/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php b/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php index 382bb18dd..84f0cf929 100644 --- a/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php +++ b/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php @@ -412,12 +412,8 @@ protected function shouldPushSystem(NodeInterface $entity) { * The mental health phone number. */ protected function getFacilityMentalHealthPhone(): string { - // This is the original and life-long field. $mental_health_phone = $this->getFieldSafe('field_mental_health_phone'); - // This is the temporary shuffle field that will be removed once conversion - // to fully edited is complete. - $mental_health_contact = $this->getFieldSafe('field_mental_health_contact_phon'); - return (!empty($mental_health_contact)) ? $mental_health_contact : $mental_health_phone; + return $mental_health_phone; } /** diff --git a/docroot/modules/custom/va_gov_vamc/css/set_vamc_system_health_service.css b/docroot/modules/custom/va_gov_vamc/css/set_vamc_system_health_service.css new file mode 100644 index 000000000..83c9900f1 --- /dev/null +++ b/docroot/modules/custom/va_gov_vamc/css/set_vamc_system_health_service.css @@ -0,0 +1,3 @@ +.field--name-field-clinical-health-services a.node--unpublished { + padding: unset; + } \ No newline at end of file diff --git a/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php b/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php index 4b4151fb1..d1b51c31a 100644 --- a/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php @@ -52,6 +52,7 @@ public static function getSubscribedEvents(): array { 'hook_event_dispatcher.form_node_vamc_system_register_for_care_form.alter' => 'alterTopTaskNodeForm', 'hook_event_dispatcher.form_node_vamc_system_va_police_edit_form.alter' => 'alterTopTaskNodeForm', 'hook_event_dispatcher.form_node_vamc_system_va_police_form.alter' => 'alterTopTaskNodeForm', + 'hook_event_dispatcher.form_node_health_care_local_health_service_edit_form.alter' => 'alterFacilityServiceNodeForm', EntityHookEvents::ENTITY_INSERT => 'entityInsert', EntityHookEvents::ENTITY_PRE_SAVE => 'entityPresave', EntityHookEvents::ENTITY_VIEW_ALTER => 'entityViewAlter', @@ -145,6 +146,49 @@ public function __construct( */ public function entityViewAlter(EntityViewAlterEvent $event):void { $this->showUnspecifiedWhenSystemEhrNumberEmpty($event); + $this->alterAppendedSystemHealthServices($event); + + } + + /** + * Alters health service titles appended to VAMC system view page. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event + * The entity view alter service. + */ + public function alterAppendedSystemHealthServices(EntityViewAlterEvent $event):void { + $display = $event->getDisplay(); + if (($display->getTargetBundle() === 'health_care_region_page') && ($display->getOriginalMode() === 'full')) { + $build = &$event->getBuild(); + $services = $build['field_clinical_health_services'] ?? []; + + $services_copy = []; + foreach ($services as $key => $service) { + // If there are services (because their keys are numeric). + if (is_numeric($key) && !empty($service['#options']['entity'])) { + // Copy build array. + $services_copy[] = $build['field_clinical_health_services'][$key]; + unset($build['field_clinical_health_services'][$key]); + $service_node = $services_copy[$key]['#options']['entity']; + $moderationState = $service_node->get('moderation_state')->value; + // Identify archive and draft in temp array. + if ($moderationState === 'archived' || $moderationState === 'draft') { + $services_copy[$key]['#attributes'] = ['class' => 'node--unpublished']; + $services_copy[$key]['#title'] .= ' (' . ucfirst($moderationState) . ')'; + } + } + } + // Sort temp array. + usort($services_copy, function ($x, $y) { + return strcasecmp($x['#title'], $y['#title']); + }); + // Copy temporary array back to build array. + foreach ($services_copy as $key => $temp) { + $build['field_clinical_health_services'][$key] = $services_copy[$key]; + } + $build['field_clinical_health_services']['#attached']['library'][] = 'va_gov_vamc/set_vamc_system_health_service'; + } + } /** @@ -335,6 +379,40 @@ public function alterRegionalHealthCareServiceDesNodeForm(FormIdAlterEvent $even $form['#attached']['library'][] = 'va_gov_vamc/limit_vamcs_to_workbench'; } + /** + * Alter the VAMC Facility Service node form. + * + * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event + * The event. + */ + public function alterFacilityServiceNodeForm(FormIdAlterEvent $event): void { + $form = &$event->getForm(); + $form_state = $event->getFormState(); + $is_admin = $this->userPermsService->hasAdminRole(TRUE); + if (!$is_admin) { + $this->disableFacilityServiceChange($form, $form_state); + } + } + + /** + * Disables basic info fields on existing nodes for editors. + * + * @param array $form + * The form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The state of the form. + */ + public function disableFacilityServiceChange(array &$form, FormStateInterface $form_state): void { + /** @var \Drupal\Core\Entity\EntityFormInterface $form_object */ + $form_object = $form_state->getFormObject(); + /** @var \Drupal\node\NodeInterface $node */ + $node = $form_object->getEntity(); + if (!$node->isNew()) { + $form['field_facility_location']['#disabled'] = TRUE; + $form['field_regional_health_service']['#disabled'] = TRUE; + } + } + /** * Clear custom appointment intro text when unused. * diff --git a/docroot/modules/custom/va_gov_vamc/va_gov_vamc.libraries.yml b/docroot/modules/custom/va_gov_vamc/va_gov_vamc.libraries.yml index 61da43d5d..1f202a626 100644 --- a/docroot/modules/custom/va_gov_vamc/va_gov_vamc.libraries.yml +++ b/docroot/modules/custom/va_gov_vamc/va_gov_vamc.libraries.yml @@ -16,4 +16,7 @@ set_covid_term_text: css/set_covid_term_text.css: {} js: js/set_covid_term_text.js: {} - +set_vamc_system_health_service: + css: + component: + css/set_vamc_system_health_service.css: {} diff --git a/docroot/modules/custom/va_gov_vet_center/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_vet_center/src/EventSubscriber/EntityEventSubscriber.php index 8c927dd23..0b5229892 100644 --- a/docroot/modules/custom/va_gov_vet_center/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_vet_center/src/EventSubscriber/EntityEventSubscriber.php @@ -237,7 +237,10 @@ private function longEnough(string $service_description) { public function alterVetCenterServiceNodeForm(FormIdAlterEvent $event): void { $form = &$event->getForm(); $form_state = $event->getFormState(); - $this->disableFacilityServiceChange($form, $form_state); + $is_admin = $this->userPermsService->hasAdminRole(TRUE); + if (!$is_admin) { + $this->disableFacilityServiceChange($form, $form_state); + } } /** diff --git a/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/EntityEventSubscriber.php index 51ff961df..685e54ea2 100644 --- a/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/EntityEventSubscriber.php @@ -10,6 +10,7 @@ use Drupal\core_event_dispatcher\EntityHookEvents; use Drupal\core_event_dispatcher\Event\Entity\EntityDeleteEvent; use Drupal\core_event_dispatcher\Event\Entity\EntityInsertEvent; +use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; use Drupal\core_event_dispatcher\Event\Entity\EntityUpdateEvent; use Drupal\core_event_dispatcher\Event\Form\FormBaseAlterEvent; use Drupal\node\NodeInterface; @@ -71,6 +72,7 @@ public static function getSubscribedEvents(): array { EntityHookEvents::ENTITY_DELETE => 'entityDelete', EntityHookEvents::ENTITY_INSERT => 'entityInsert', EntityHookEvents::ENTITY_UPDATE => 'entityUpdate', + EntityHookEvents::ENTITY_PRE_SAVE => 'entityPresave', ]; } @@ -113,6 +115,19 @@ public function entityUpdate(EntityUpdateEvent $event): void { $this->flagVaFormChanges($entity); } + /** + * Entity Presave Event call. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent $event + * The event. + */ + public function entityPresave(EntityPresaveEvent $event): void { + $entity = $event->getEntity(); + if ($entity instanceof NodeInterface) { + $this->setNewRevisionDuringMigrate($entity); + } + } + /** * Alters to be applied to all content types. * @@ -376,4 +391,21 @@ protected function isNodeIef(NodeInterface $node, $field_name): bool { return (in_array($fieldType, $field_types_for_ief)) && ($target_type === "node"); } + /** + * Sets flags on an entity to create a new default revision. + * + * This is needed for migration to be able to set a new revision. + * {@see + * https://www.drupal.org/project/drupal/issues/3052115#comment-15476028} + * + * @param \Drupal\node\NodeInterface $entity + * The entity to set a revision for. + */ + protected function setNewRevisionDuringMigrate($entity) :void { + if ($entity->isSyncing() && !$entity->isNew() && $this->flagger->isMigrating()) { + $entity->setNewRevision(TRUE); + $entity->isDefaultRevision(TRUE); + } + } + } diff --git a/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/MigrateEventSubscriber.php b/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/MigrateEventSubscriber.php new file mode 100644 index 000000000..219b92bd3 --- /dev/null +++ b/docroot/modules/custom/va_gov_workflow/src/EventSubscriber/MigrateEventSubscriber.php @@ -0,0 +1,63 @@ +flagger = $flagger; + } + + /** + * {@inheritdoc} + */ + public static function getSubscribedEvents() { + $events[MigrateEvents::PRE_ROW_SAVE] = 'preRowSave'; + $events[MigrateEvents::POST_ROW_SAVE] = 'postRowSave'; + return $events; + } + + /** + * Pre row save event call. + * + * @param \Drupal\migrate\Event\MigratePreRowSaveEvent $event + * The migrate import event. + */ + public function preRowSave(MigratePreRowSaveEvent $event) { + // Flag is already set. + if ($this->flagger->isMigrating()) { + return; + } + $this->flagger->setMigrating(TRUE); + } + + /** + * Post row save event call. + * + * @param \Drupal\migrate\Event\MigratePostRowSaveEvent $event + * The migrate import event. + */ + public function postRowSave(MigratePostRowSaveEvent $event) { + $this->flagger->setMigrating(FALSE); + } + +} diff --git a/docroot/modules/custom/va_gov_workflow/src/Service/Flagger.php b/docroot/modules/custom/va_gov_workflow/src/Service/Flagger.php index d61e5c01d..a518907de 100644 --- a/docroot/modules/custom/va_gov_workflow/src/Service/Flagger.php +++ b/docroot/modules/custom/va_gov_workflow/src/Service/Flagger.php @@ -28,6 +28,13 @@ class Flagger { */ protected $flagService; + /** + * Whether a migration is currently running. + * + * @var bool + */ + protected $isMigrating = FALSE; + /** * Constructs the flagger object. * @@ -57,7 +64,7 @@ public function __construct(FlagService $flag_service, EntityTypeManagerInterfac public function setFlag($flag_id, NodeInterface $node, $log_message = '', array $vars = []) { // Don't set flags on a syncing operation, like updating a revision log // after the fact, or we end up with recursion. - if (!$node->isSyncing()) { + if (!$node->isSyncing() || $this->isMigrating) { $flag = $this->flagService->getFlagById($flag_id); if ($flag && !$this->isTestData()) { // NOTE: This setting of the flag only works in non-form based node @@ -88,6 +95,11 @@ public function setFlag($flag_id, NodeInterface $node, $log_message = '', array */ public function updateRevisonLog(int $nid, $message, array $msg_vars = [], $prepend = FALSE) { if (!empty($message) && !$this->isTestData()) { + // Toggle migrating flag off to prevent new revisions. (It will + // be turned back on with the next row). + if ($this->isMigrating()) { + $this->setMigrating(FALSE); + } $revision = $this->getLatestRevision($nid); if ($revision) { $existing_message = $revision->getRevisionLogMessage() ?? ''; @@ -168,7 +180,7 @@ public function flagNew($flag_id, NodeInterface $node, $log_message = '') { */ public function flagFieldChanged($fieldname, $flag_id, NodeInterface $node, $log_message) { $original = $this->getPreviousRevision($node); - if (!$original || $node->isSyncing()) { + if (!$original || ($node->isSyncing() && !$this->isMigrating)) { // There is nothing to compare, so bail out. return FALSE; } @@ -217,6 +229,26 @@ public function logFlagOperation(Flagging $flagging, $operation) { } } + /** + * Gets the status of the isMigrating flag. + * + * @return bool + * The isMigrating status. + */ + public function isMigrating(): bool { + return $this->isMigrating; + } + + /** + * Sets the status of the isMigrating flag. + * + * @param bool $migrating + * The value to set the flag to. + */ + public function setMigrating(bool $migrating): void { + $this->isMigrating = $migrating; + } + /** * Checks to see if this flag is loggable. * diff --git a/docroot/modules/custom/va_gov_workflow/va_gov_workflow.services.yml b/docroot/modules/custom/va_gov_workflow/va_gov_workflow.services.yml index 3444c3fe4..88266f28b 100644 --- a/docroot/modules/custom/va_gov_workflow/va_gov_workflow.services.yml +++ b/docroot/modules/custom/va_gov_workflow/va_gov_workflow.services.yml @@ -15,3 +15,8 @@ services: va_gov_workflow.workflow_content_control: class: Drupal\va_gov_workflow\Service\WorkflowContentControl arguments: ['@va_gov_user.user_perms'] + va_gov_workflow.migrate_event_subscriber: + class: Drupal\va_gov_workflow\EventSubscriber\MigrateEventSubscriber + arguments: ['@va_gov_workflow.flagger'] + tags: + - { name: event_subscriber } diff --git a/docroot/sites/default/default.settings.php b/docroot/sites/default/default.settings.php index d69b1865e..63fb2df74 100644 --- a/docroot/sites/default/default.settings.php +++ b/docroot/sites/default/default.settings.php @@ -24,18 +24,18 @@ * 'sites/default' will be used. * * For example, for a fictitious site installed at - * https://www.drupal.org:8080/mysite/test/, the 'settings.php' file is searched + * https://www.drupal.org:8080/my-site/test/, the 'settings.php' file is searched * for in the following directories: * - * - sites/8080.www.drupal.org.mysite.test - * - sites/www.drupal.org.mysite.test - * - sites/drupal.org.mysite.test - * - sites/org.mysite.test + * - sites/8080.www.drupal.org.my-site.test + * - sites/www.drupal.org.my-site.test + * - sites/drupal.org.my-site.test + * - sites/org.my-site.test * - * - sites/8080.www.drupal.org.mysite - * - sites/www.drupal.org.mysite - * - sites/drupal.org.mysite - * - sites/org.mysite + * - sites/8080.www.drupal.org.my-site + * - sites/www.drupal.org.my-site + * - sites/drupal.org.my-site + * - sites/org.my-site * * - sites/8080.www.drupal.org * - sites/www.drupal.org @@ -46,8 +46,8 @@ * * Note that if you are installing on a non-standard port number, prefix the * hostname with that number. For example, - * https://www.drupal.org:8080/mysite/test/ could be loaded from - * sites/8080.www.drupal.org.mysite.test/. + * https://www.drupal.org:8080/my-site/test/ could be loaded from + * sites/8080.www.drupal.org.my-site.test/. * * @see example.sites.php * @see \Drupal\Core\DrupalKernel::getSitePath() diff --git a/docroot/sites/example.sites.php b/docroot/sites/example.sites.php index 32dca95ad..3b32b5aba 100644 --- a/docroot/sites/example.sites.php +++ b/docroot/sites/example.sites.php @@ -23,14 +23,14 @@ * * Aliases are defined in an associative array named $sites. The array is * written in the format: '..' => 'directory'. As an - * example, to map https://www.drupal.org:8080/mysite/test to the configuration + * example, to map https://www.drupal.org:8080/my-site/test to the configuration * directory sites/example.com, the array should be defined as: * @code * $sites = [ - * '8080.www.drupal.org.mysite.test' => 'example.com', + * '8080.www.drupal.org.my-site.test' => 'example.com', * ]; * @endcode - * The URL, https://www.drupal.org:8080/mysite/test/, could be a symbolic link + * The URL, https://www.drupal.org:8080/my-site/test/, could be a symbolic link * or an Apache Alias directive that points to the Drupal root containing * index.php. An alias could also be created for a subdomain. See the * @link https://www.drupal.org/documentation/install online Drupal installation guide @endlink @@ -47,8 +47,8 @@ * URL: http://localhost:8080/example * $sites['8080.localhost.example'] = 'example.com'; * - * URL: https://www.drupal.org:8080/mysite/test/ - * $sites['8080.www.drupal.org.mysite.test'] = 'example.com'; + * URL: https://www.drupal.org:8080/my-site/test/ + * $sites['8080.www.drupal.org.my-site.test'] = 'example.com'; * @endcode * * @see default.settings.php diff --git a/docroot/themes/custom/vagovclaro/assets/scss/components/_textfield_counter.scss b/docroot/themes/custom/vagovclaro/assets/scss/components/_textfield_counter.scss index b287893be..86c811c44 100644 --- a/docroot/themes/custom/vagovclaro/assets/scss/components/_textfield_counter.scss +++ b/docroot/themes/custom/vagovclaro/assets/scss/components/_textfield_counter.scss @@ -1,6 +1,7 @@ -.form-item.textcount_warning { +body.vagovclaro .form-item.textcount_warning { .textfield-counter-element { - border-color: var(--color-textfield-counter-warning); + border-color: unset; + border-width: 1px; } .textfield_counter_counter .remaining_count { @@ -8,24 +9,32 @@ } } -.form-item.textcount_over { +body.vagovclaro .form-item.textcount_over { .textfield-counter-element { - border-color: var(--color-textfield-counter-over); + border-color: unset; + border-width: 1px; } - .textfield_counter_counter .remaining_count { - color: var(--va-gray-darkest); + label.has-error ~ .textfield-counter-element { + border-color: var(--va-red-dark); + border-width: 2px; + } + + .textfield_counter_counter, .remaining_count { + color: var(--va-red-dark); + font-weight: 600; } } -.form-textarea-wrapper.textcount_warning { +body.vagovclaro .form-textarea-wrapper.textcount_warning { .textfield-counter-element { - border-color: var(--color-textfield-counter-warning); + border-color: unset; + border-width: 1px; } .cke { - border-color: var(--color-textfield-counter-warning); - border-width: 2px; + border-color: unset; + border-width: 1px; } .textfield_counter_counter .remaining_count { @@ -33,17 +42,27 @@ } } -.form-textarea-wrapper.textcount_over { - .textfield-counter-element { - border-color: var(--color-textfield-counter-over); - } +body.vagovclaro { + .form-textarea-wrapper.textcount_over { + .textfield-counter-element { + border-color: unset; + border-width: 1px; + } - .cke { - border-color: var(--color-textfield-counter-over); - border-width: 2px; + .cke { + border-color: unset; + border-width: 1px; + } + + .textfield_counter_counter, .remaining_count { + color: var(--va-red-dark); + font-weight: 600; + } } - .textfield_counter_counter .remaining_count { - color: var(--va-gray-darkest); + label.has-error ~ .form-textarea-wrapper.textcount_over .textfield-counter-element{ + border-color: var(--va-red-dark); + border-width: 2px; } } + diff --git a/docroot/themes/custom/vagovclaro/assets/scss/components/_views.scss b/docroot/themes/custom/vagovclaro/assets/scss/components/_views.scss index e81d6366f..bbe257b83 100644 --- a/docroot/themes/custom/vagovclaro/assets/scss/components/_views.scss +++ b/docroot/themes/custom/vagovclaro/assets/scss/components/_views.scss @@ -48,12 +48,16 @@ .views-row { margin: 2em 0; + .views-field-views-conditional-field-1 { + margin-bottom: var(--spacing-s); + } + .location-details span:not(:first-child)::before { content: ', '; } .address { - margin-top: 0; + margin-bottom: 0; br, span { diff --git a/docroot/themes/custom/vagovclaro/package-lock.json b/docroot/themes/custom/vagovclaro/package-lock.json index df80b2095..33a1d1b17 100644 --- a/docroot/themes/custom/vagovclaro/package-lock.json +++ b/docroot/themes/custom/vagovclaro/package-lock.json @@ -5122,9 +5122,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -14586,9 +14586,9 @@ } }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "for-each": { diff --git a/patches/field-type-enhancer-3025283-3.patch b/patches/field-type-enhancer-3025283-3.patch new file mode 100644 index 000000000..3cb2558fa --- /dev/null +++ b/patches/field-type-enhancer-3025283-3.patch @@ -0,0 +1,464 @@ +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..a305726 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,2 @@ ++# IntelliJ IDEA ++.idea +diff --git a/config/schema/jsonapi_extras.schema.yml b/config/schema/jsonapi_extras.schema.yml +index 5e7e499..21c0d77 100644 +--- a/config/schema/jsonapi_extras.schema.yml ++++ b/config/schema/jsonapi_extras.schema.yml +@@ -75,3 +75,43 @@ jsonapi_extras.settings: + type: boolean + label: 'Disabled by default' + description: "If activated, all resource types that don't have a matching enabled resource config will be disabled." ++ ++jsonapi_extras.jsonapi_field_type_config: ++ type: config_entity ++ label: 'JSON:API Field Type Config' ++ mapping: ++ disabled: ++ type: boolean ++ label: 'Disabled' ++ description: 'Globally disable field type enhancers.' ++ resourceFields: ++ type: sequence ++ label: 'Field Types' ++ sequence: ++ type: jsonapi_extras.resource_field_type ++ ++jsonapi_extras.resource_field_type: ++ type: mapping ++ mapping: ++ disabled: ++ type: boolean ++ label: 'Disabled' ++ description: 'Is the field type disabled?' ++ fieldName: ++ type: string ++ label: 'Entity field name' ++ includedFieldTypes: ++ type: sequence ++ label: 'Included field types' ++ sequence: ++ type: string ++ enhancer: ++ type: mapping ++ label: 'Enhancer plugin' ++ description: 'A plugin that carries additional (de)normalization tasks.' ++ mapping: ++ id: ++ type: string ++ description: 'The enhancer plugin ID' ++ settings: ++ type: jsonapi_extras.enhancer_plugin.[%parent.id] +diff --git a/jsonapi_extras.links.task.yml b/jsonapi_extras.links.task.yml +index 6f5567e..63bfbbc 100755 +--- a/jsonapi_extras.links.task.yml ++++ b/jsonapi_extras.links.task.yml +@@ -22,3 +22,8 @@ jsonapi.settings.extras.resources: + base_route: entity.jsonapi_resource_config.collection + title: 'Resource overrides' + parent_id: jsonapi.settings.extras ++jsonapi.settings.extras.field_types: ++ route_name: jsonapi_extras.field_types ++ base_route: jsonapi_extras.field_types ++ title: 'Field Types' ++ parent_id: jsonapi.settings.extras +diff --git a/jsonapi_extras.routing.yml b/jsonapi_extras.routing.yml +index bd4b24c..b207415 100644 +--- a/jsonapi_extras.routing.yml ++++ b/jsonapi_extras.routing.yml +@@ -5,3 +5,10 @@ jsonapi_extras.settings: + _title: 'JSON:API Extras' + requirements: + _permission: 'administer site configuration' ++jsonapi_extras.field_types: ++ path: '/admin/config/services/jsonapi/field_types' ++ defaults: ++ _form: '\Drupal\jsonapi_extras\Form\JsonapiExtrasFieldTypesForm' ++ _title: 'Field Types' ++ requirements: ++ _permission: 'administer site configuration' +diff --git a/jsonapi_extras.services.yml b/jsonapi_extras.services.yml +index 0447bb1..135b416 100644 +--- a/jsonapi_extras.services.yml ++++ b/jsonapi_extras.services.yml +@@ -16,6 +16,7 @@ services: + - '@serializer.normalizer.field_item.jsonapi_extras.inner' + - '@entity_type.manager' + - '@plugin.manager.resource_field_enhancer' ++ - '@config.factory' + + serializer.normalizer.resource_identifier.jsonapi_extras: + class: Drupal\jsonapi\Normalizer\ImpostorFrom\jsonapi_extras\ResourceIdentifierNormalizerImpostor +diff --git a/src/Form/JsonapiExtrasFieldTypesForm.php b/src/Form/JsonapiExtrasFieldTypesForm.php +new file mode 100644 +index 0000000..da5cce5 +--- /dev/null ++++ b/src/Form/JsonapiExtrasFieldTypesForm.php +@@ -0,0 +1,235 @@ ++fieldManager = $field_manager; ++ $this->enhancerManager = $enhancer_manager; ++ $this->configManager = $config_manager; ++ } ++ ++ /** ++ * {@inheritdoc} ++ */ ++ public static function create(ContainerInterface $container) { ++ return new static( ++ $container->get('entity_field.manager'), ++ $container->get('plugin.manager.resource_field_enhancer'), ++ $container->get('config.factory') ++ ); ++ } ++ ++ public function getFormId() { ++ return 'jsonapi_extras_field_types_form'; ++ } ++ ++ public function buildForm(array $form, FormStateInterface $form_state): array { ++ // Get current field type configuration. ++ $config = $this->configManager->get('jsonapi_extras.jsonapi_field_type_config'); ++ ++ // Collect unique field types. ++ $unique_field_types = $this->getUniqueFieldTypes(); ++ ++ // Add textarea field so users can add comma-separated list of field types ++ // they want to include in the form. ++ $form['included_field_types'] = [ ++ '#type' => 'textarea', ++ '#title' => $this->t('Included Field Types'), ++ // List the field types in the help text. ++ '#description' => $this->t('Enter a comma-separated list of field types to include in the form. Available field types are: @field_types', ['@field_types' => implode(', ', $unique_field_types)]), ++ '#default_value' => implode(', ', $config->get('includedFieldTypes')), ++ ]; ++ ++ // Get all the enhancers. ++ $options = $this->enhancerManager->getDefinitions(); ++ ++ // Get all option labels. ++ $labels = array_map(fn($option) => $option['label'], $options); ++ ++ // Add a none option. ++ $options = array_merge(['- None -' => $this->t('- None -')], $options); ++ $labels = array_merge(['- None -'], $labels); ++ ++ // Add a form element for each field type. ++ foreach ($unique_field_types as $field_type) { ++ // If not in the included field types, skip. ++ if (!str_contains(implode($config->get('includedFieldTypes')), $field_type)) { ++ continue; ++ } ++ ++ $form['field_types'][$field_type] = [ ++ '#type' => 'container', ++ '#title' => $field_type, ++ '#prefix' => '
              ', ++ '#attributes' => ['style' => ++ 'display: flex; gap: 1rem; flex-direction: column;'], ++ ]; ++ ++ // Add name of the field type. ++ $form['field_types'][$field_type][$field_type . '_name'] = [ ++ '#markup' => "
              Field Type: $field_type
              ", ++ ]; ++ ++ // Get enhancer from configuration. ++ $resource_field = $config->get('resourceFields')[$field_type]; ++ ++ $form['field_types'][$field_type][$field_type . '_enhancer_id'] = [ ++ '#type' => 'select', ++ '#title' => $this->t('Enhancer'), ++ '#options' => array_combine(array_keys($options), $labels), ++ '#default_value' => $resource_field['enhancer']['id'], ++ ]; ++ ++ $form['field_types'][$field_type][$field_type . '_enhancer_settings'] = [ ++ '#type' => 'container', ++ ]; ++ ++ // Add a container for each option. ++ foreach ($options as $key => $option) { ++ if ($key === '- None -') { ++ continue; ++ } ++ ++ $form['field_types'][$field_type][$field_type . '_enhancer_settings'][$key] = [ ++ '#type' => 'container', ++ '#states' => [ ++ 'visible' => [ ++ ':input[name="' . $field_type . '_enhancer_id"]' => ['value' => $key], ++ ], ++ ], ++ ]; ++ ++ /** @var \Drupal\jsonapi_extras\Plugin\ResourceFieldEnhancerInterface $enhancer */ ++ $enhancer = $this->enhancerManager->createInstance($key); ++ $stuff = $enhancer->getSettingsForm($resource_field); ++ ++ // Add field type and enhancer id prefix to the settings. ++ // e.g. 'link__url_link__absolute_url' ++ $settings = []; ++ foreach ($stuff as $setting_key => $setting) { ++ $settings[$field_type . '__' . $key . '__' . $setting_key] = $setting; ++ } ++ ++ $form['field_types'][$field_type][$field_type . '_enhancer_settings'][$key][] = $settings; ++ } ++ ++ } ++ ++ // Add submit button. ++ $form['submit'] = [ ++ '#type' => 'submit', ++ '#value' => $this->t('Save Configuration'), ++ ]; ++ ++ return $form; ++ } ++ ++ public function validateForm(array &$form, FormStateInterface $form_state) { ++ parent::validateForm($form, $form_state); ++ ++ $values = $form_state->getValues(); ++ // Check if the included field types are valid. ++ $included_field_types = explode(',', $values['included_field_types']); ++ $unique_field_types = $this->getUniqueFieldTypes(); ++ foreach ($included_field_types as $field_type) { ++ if (!in_array(trim($field_type), $unique_field_types)) { ++ $form_state->setErrorByName('included_field_types', $this->t('The field type @field_type is not valid.', ['@field_type' => $field_type])); ++ } ++ } ++ } ++ ++ public function submitForm(array &$form, FormStateInterface $form_state): void { ++ $values = $form_state->getValues(); ++ ++ // Filter values to only include enhancer ids. ++ $enhancer_ids = array_filter($values, fn($value, $key) => str_contains($key, '_enhancer_id'), ARRAY_FILTER_USE_BOTH); ++ ++ // Loop through enhancer ids and look for settings related to each field type. ++ $field_types = []; ++ foreach ($enhancer_ids as $type => $enhancer_id) { ++ $field_type = str_replace('_enhancer_id', '', $type); ++ $field_types[$field_type] = [ ++ 'fieldName' => $field_type, ++ 'enhancer' => ['id' => $enhancer_id], ++ ]; ++ // No need to process the none option. ++ if ($enhancer_id === '- None -') { ++ $field_types[$field_type]['enhancer']['id'] = ''; ++ continue; ++ } ++ ++ // Filter values to only include settings related to the current field type. ++ $settings = array_filter($values, fn($value, $key) => str_contains($key, $field_type . '__' . $enhancer_id), ARRAY_FILTER_USE_BOTH); ++ if (!empty($settings)) { ++ // Remove the prefix from the settings keys. ++ // Preserve the $key as the index in the array. ++ $settings = array_combine(array_map(fn($key) => str_replace($field_type . '__' . $enhancer_id . '__', '', $key), array_keys($settings)), $settings); ++ $field_types[$field_type]['enhancer']['settings'] = $settings; ++ } ++ } ++ ++ // Convert the comma-separated string to an array and trim whitespace. ++ $includedFieldTypes = array_map('trim', explode(',', $values['included_field_types'])); ++ ++ $config = $this->configManager->getEditable('jsonapi_extras.jsonapi_field_type_config'); ++ $config->set('resourceFields', $field_types); ++ $config->set('includedFieldTypes', $includedFieldTypes); ++ $config->save(); ++ } ++ ++ /** ++ * @return array ++ */ ++ public function getUniqueFieldTypes(): array { ++ $field_types = $this->fieldManager->getFieldMap(); ++ $unique_field_types = []; ++ foreach ($field_types as $fields) { ++ foreach ($fields as $field_info) { ++ $unique_field_types[$field_info['type']] = $field_info['type']; ++ } ++ } ++ ++ // Sort field types alphabetically by key. ++ ksort($unique_field_types); ++ return $unique_field_types; ++ } ++ ++} +diff --git a/src/Normalizer/FieldItemNormalizer.php b/src/Normalizer/FieldItemNormalizer.php +index 8882870..8b4c467 100644 +--- a/src/Normalizer/FieldItemNormalizer.php ++++ b/src/Normalizer/FieldItemNormalizer.php +@@ -3,6 +3,7 @@ + namespace Drupal\jsonapi_extras\Normalizer; + + use Drupal\Core\Cache\CacheableMetadata; ++use Drupal\Core\Config\ConfigFactoryInterface; + use Drupal\Core\Entity\EntityTypeManagerInterface; + use Drupal\jsonapi\Normalizer\FieldItemNormalizer as JsonapiFieldItemNormalizer; + use Drupal\jsonapi\Normalizer\Value\CacheableNormalization; +@@ -29,6 +30,13 @@ class FieldItemNormalizer extends JsonApiNormalizerDecoratorBase { + */ + protected $enhancerManager; + ++ /** ++ * The config manager. ++ * ++ * @var \Drupal\Core\Config\ConfigFactoryInterface ++ */ ++ protected $configManager; ++ + /** + * Constructs a new FieldItemNormalizer. + * +@@ -38,11 +46,14 @@ class FieldItemNormalizer extends JsonApiNormalizerDecoratorBase { + * The entity type manager. + * @param \Drupal\jsonapi_extras\Plugin\ResourceFieldEnhancerManager $enhancer_manager + * The field enhancer manager. ++ * @param \Drupal\Core\Config\ConfigFactoryInterface $config_manager ++ * The config manager. + */ +- public function __construct(JsonapiFieldItemNormalizer $inner, EntityTypeManagerInterface $entity_type_manager, ResourceFieldEnhancerManager $enhancer_manager) { ++ public function __construct(JsonapiFieldItemNormalizer $inner, EntityTypeManagerInterface $entity_type_manager, ResourceFieldEnhancerManager $enhancer_manager, ConfigFactoryInterface $config_manager) { + parent::__construct($inner); + $this->entityTypeManager = $entity_type_manager; + $this->enhancerManager = $enhancer_manager; ++ $this->configManager = $config_manager; + } + + /** +@@ -51,15 +62,42 @@ class FieldItemNormalizer extends JsonApiNormalizerDecoratorBase { + public function normalize($object, $format = NULL, array $context = []) { + // First get the regular output. + $normalized_output = parent::normalize($object, $format, $context); ++ + // Then detect if there is any enhancer to be applied here. + /** @var \Drupal\jsonapi_extras\ResourceType\ConfigurableResourceType $resource_type */ + $resource_type = $context['resource_object']->getResourceType(); + $enhancer = $resource_type->getFieldEnhancer($object->getParent()->getName()); +- if (!$enhancer) { +- return $normalized_output; +- } ++ ++ // Begin building the cacheability metadata. + $cacheability = CacheableMetadata::createFromObject($normalized_output) + ->addCacheTags(['config:jsonapi_resource_config_list']); ++ ++ if (!$enhancer) { ++ // Look for default field type enhancer. ++ $config = $this->configManager->get('jsonapi_extras.jsonapi_field_type_config'); ++ $field_type = $object->getFieldDefinition()->getType(); ++ ++ // Check to see if the field type is included in the includedFieldTypes list. ++ $included_field_types = $config->get('includedFieldTypes'); ++ if (!in_array($field_type, $included_field_types)) { ++ return $normalized_output; ++ } ++ ++ // Look for default field type enhancer. ++ $field_type_config = $config->get('resourceFields')[$field_type]; ++ if (!empty($field_type_config['enhancer']['id'])) { ++ // Get the enhancer instance. ++ /** @var \Drupal\jsonapi_extras\Plugin\ResourceFieldEnhancerInterface $enhancer */ ++ $enhancer = $this->enhancerManager->createInstance( ++ $field_type_config['enhancer']['id'], ++ (array) $field_type_config['enhancer']['settings'] ++ ); ++ ++ // Add the cache tags for the field type config. ++ $cacheability->addCacheTags(['config:jsonapi_extras.jsonapi_field_type_config']); ++ } ++ } ++ + // Apply any enhancements necessary. + $context = new Context($context); + $context->offsetSet('field_item_object', $object); +diff --git a/src/Plugin/DateTimeEnhancerBase.php b/src/Plugin/DateTimeEnhancerBase.php +index 770efe3..df02bdf 100644 +--- a/src/Plugin/DateTimeEnhancerBase.php ++++ b/src/Plugin/DateTimeEnhancerBase.php +@@ -38,7 +38,7 @@ abstract class DateTimeEnhancerBase extends ResourceFieldEnhancerBase { + '#type' => 'textfield', + '#title' => $this->t('Format'), + '#description' => $this->t('Use a valid date format.'), +- '#default_value' => $settings['dateTimeFormat'], ++ '#default_value' => $settings['dateTimeFormat'] ?? $this->defaultConfiguration()['dateTimeFormat'], + ], + ]; + } +diff --git a/src/Plugin/jsonapi/FieldEnhancer/SingleNestedEnhancer.php b/src/Plugin/jsonapi/FieldEnhancer/SingleNestedEnhancer.php +index c712bf5..b570fad 100644 +--- a/src/Plugin/jsonapi/FieldEnhancer/SingleNestedEnhancer.php ++++ b/src/Plugin/jsonapi/FieldEnhancer/SingleNestedEnhancer.php +@@ -82,7 +82,7 @@ class SingleNestedEnhancer extends ResourceFieldEnhancerBase { + '#type' => 'textfield', + '#title' => $this->t('Path'), + '#description' => $this->t('A dot separated path to extract the sub-property.'), +- '#default_value' => $settings['path'], ++ '#default_value' => $settings['path'] ?? $this->defaultConfiguration()['path'], + ], + ]; + } +diff --git a/src/Plugin/jsonapi/FieldEnhancer/UrlLinkEnhancer.php b/src/Plugin/jsonapi/FieldEnhancer/UrlLinkEnhancer.php +index 0cf8ba5..ece4bcb 100644 +--- a/src/Plugin/jsonapi/FieldEnhancer/UrlLinkEnhancer.php ++++ b/src/Plugin/jsonapi/FieldEnhancer/UrlLinkEnhancer.php +@@ -94,7 +94,7 @@ class UrlLinkEnhancer extends ResourceFieldEnhancerBase implements ContainerFact + $form['absolute_url'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Get Absolute Urls'), +- '#default_value' => $settings['absolute_url'], ++ '#default_value' => $settings['absolute_url'] ?? $this->defaultConfiguration()['absolute_url'], + ]; + + return $form; diff --git a/simplesamlphp-config-metadata/config/config.php b/simplesamlphp-config-metadata/config/config.php index 19d0448b1..1103d1cf3 100644 --- a/simplesamlphp-config-metadata/config/config.php +++ b/simplesamlphp-config-metadata/config/config.php @@ -1,15 +1,19 @@ 'https://'. $_SERVER['HTTP_HOST'] .'/simplesaml/', + 'baseurlpath' => 'https://' . $_SERVER['HTTP_HOST'] . '/simplesaml/', /* * The 'application' configuration array groups a set configuration options * relative to an application protected by SimpleSAMLphp. */ - 'application' => [ + 'application' => [ /* * The 'baseURL' configuration option allows you to specify a protocol, * host and optionally a port that serves as the canonical base for all @@ -52,7 +56,7 @@ * need to compute the right URLs yourself and pass them dynamically * to SimpleSAMLphp's API. */ - //'baseURL' => 'https://example.com', + // 'baseURL' => 'https://example.com', ], /* @@ -66,9 +70,9 @@ * When specified as a relative path, this is relative to the SimpleSAMLphp * root directory. */ - 'loggingdir' => 'log/', - 'datadir' => 'data/', - 'tempdir' => '/tmp/simplesaml', + 'loggingdir' => 'log/', + 'datadir' => 'data/', + 'tempdir' => '/tmp/simplesaml', /* @@ -89,7 +93,7 @@ * directory. Note that locations with no prefix included will be treated * as file locations. */ - 'certdir' => '/certs/', + 'certdir' => '/certs/', /* To load a certificate or key from the database, it should be specified * as 'pdo://' where is the identifier in the database table that @@ -115,19 +119,18 @@ * Defaults are shown below, to change them, uncomment the line and update as * needed */ - //'cert.pdo.table' => 'certificates', - //'cert.pdo.keytable' => 'private_keys', - //'cert.pdo.apply_prefix' => true, - //'cert.pdo.id_column' => 'id', - //'cert.pdo.data_column' => 'data', - + // 'cert.pdo.table' => 'certificates', + // 'cert.pdo.keytable' => 'private_keys', + // 'cert.pdo.apply_prefix' => true, + // 'cert.pdo.id_column' => 'id', + // 'cert.pdo.data_column' => 'data', /* * Some information about the technical persons running this installation. * The email address will be used as the recipient address for error reports, and * also as the technical contact in generated metadata. */ - 'technicalcontact_name' => 'VA.gov Administrator', - 'technicalcontact_email' => 'support@va-gov.atlassian.net', + 'technicalcontact_name' => 'VA.gov Administrator', + 'technicalcontact_email' => 'support@va-gov.atlassian.net', /* * (Optional) The method by which email is delivered. Defaults to mail which utilizes the @@ -135,8 +138,7 @@ * * Valid options are: mail, sendmail and smtp. */ - //'mail.transport.method' => 'smtp', - + // 'mail.transport.method' => 'smtp', /* * Set the transport options for the transport method specified. The valid settings are relative to the * selected transport method. @@ -156,15 +158,14 @@ 'mail.transport.options' => [ 'path' => '/usr/sbin/sendmail' // optional: defaults to php.ini path ], - */ + */ /* * The envelope from address for outgoing emails. * This should be in a domain that has your application's IP addresses in its SPF record * to prevent it from being rejected by mail filters. */ - //'sendmail_from' => 'no-reply@example.org', - + // 'sendmail_from' => 'no-reply@example.org', /* * The timezone of the server. This option should be set to the timezone you want * SimpleSAMLphp to report the time in. The default is to guess the timezone based @@ -172,12 +173,12 @@ * * See this page for a list of valid timezones: http://php.net/manual/en/timezones.php */ - 'timezone' => null, + 'timezone' => NULL, /********************************** - | SECURITY CONFIGURATION OPTIONS | + * | SECURITY CONFIGURATION OPTIONS | **********************************/ /* @@ -188,7 +189,7 @@ * A possible way to generate a random salt is by running the following command from a unix shell: * LC_ALL=C tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' /dev/null;echo */ - 'secretsalt' => 'p97p6wmkz8flefjij0v4q1z643gxpa5j', + 'secretsalt' => getenv('SIMPLESAMLPHP_SECRETSALT'), /* * This password must be kept secret, and modified from the default value 123. @@ -196,18 +197,18 @@ * metadata listing and diagnostics pages. * You can also put a hash here; run "bin/pwgen.php" to generate one. */ - 'auth.adminpassword' => 'drupal8', + 'auth.adminpassword' => getenv('SIMPLESAMLPHP_ADMIN_PASSWORD'), /* * Set this option to true if you want to require administrator password to access the metadata. */ - 'admin.protectmetadata' => true, + 'admin.protectmetadata' => TRUE, /* * Set this option to false if you don't want SimpleSAMLphp to check for new stable releases when * visiting the configuration tab in the web interface. */ - 'admin.checkforupdates' => true, + 'admin.checkforupdates' => TRUE, /* * Array of domains that are allowed when generating links or redirects @@ -231,7 +232,7 @@ * Example: * 'trusted.url.domains' => ['sp.example.com', 'app.example.com'], */ - 'trusted.url.domains' => [], + 'trusted.url.domains' => [], /* * Enable regular expression matching of trusted.url.domains. @@ -242,7 +243,7 @@ * If enabled, the start and end delimiters ('^' and '$') will be added to * all regular expressions in trusted.url.domains. */ - 'trusted.url.regex' => false, + 'trusted.url.regex' => FALSE, /* * Enable secure POST from HTTPS to HTTP. @@ -255,7 +256,7 @@ * https://idp.example.org/ssp/, then * http://idp.example.org/ssp/module.php/core/postredirect.php must be accessible. */ - 'enable.http_post' => false, + 'enable.http_post' => FALSE, /* * Set the allowed clock skew between encrypting/decrypting assertions @@ -266,11 +267,11 @@ * Allowed range: 180 - 300 * Defaults to 180. */ - 'assertion.allowed_clock_skew' => 180, + 'assertion.allowed_clock_skew' => 180, /************************ - | ERRORS AND DEBUGGING | + * | ERRORS AND DEBUGGING | ************************/ /* @@ -304,11 +305,11 @@ * If you want to disable debugging completely, unset this option or set it to an * empty array. */ - 'debug' => [ - 'saml' => false, - 'backtraces' => true, - 'validatexml' => false, - ], + 'debug' => [ + 'saml' => FALSE, + 'backtraces' => TRUE, + 'validatexml' => FALSE, + ], /* * When 'showerrors' is enabled, all error messages and stack traces will be output @@ -317,8 +318,8 @@ * When 'errorreporting' is enabled, a form will be presented for the user to report * the error to 'technicalcontact_email'. */ - 'showerrors' => true, - 'errorreporting' => true, + 'showerrors' => TRUE, + 'errorreporting' => TRUE, /* * Custom error show function called from SimpleSAML\Error\Error::show. @@ -330,7 +331,7 @@ /************************** - | LOGGING AND STATISTICS | + * | LOGGING AND STATISTICS | **************************/ /* @@ -349,8 +350,8 @@ * must exist and be writable for SimpleSAMLphp. If set to something else, set * loggingdir above to 'null'. */ - 'logging.level' => SimpleSAML\Logger::NOTICE, - 'logging.handler' => 'syslog', + 'logging.level' => Logger::NOTICE, + 'logging.handler' => 'syslog', /* * Specify the format of the logs. Its use varies depending on the log handler used (for instance, you cannot @@ -378,8 +379,7 @@ * - %msg: the message to be logged. * */ - //'logging.format' => '%date{M j H:i:s} %process %level %stat[%trackid] %msg', - + // 'logging.format' => '%date{M j H:i:s} %process %level %stat[%trackid] %msg', /* * Choose which facility should be used when logging with syslog. * @@ -391,24 +391,24 @@ * * The default is to use LOG_LOCAL5 if available, and fall back to LOG_USER if not. */ - 'logging.facility' => defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER, + 'logging.facility' => defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER, /* * The process name that should be used when logging to syslog. * The value is also written out by the other logging handlers. */ - 'logging.processname' => 'simplesamlphp', + 'logging.processname' => 'simplesamlphp', /* * Logging: file - Logfilename in the loggingdir from above. */ - 'logging.logfile' => 'simplesamlphp.log', + 'logging.logfile' => 'simplesamlphp.log', /* * This is an array of outputs. Each output has at least a 'class' option, which * selects the output. */ - 'statistics.out' => [ + 'statistics.out' => [ // Log statistics to the normal log. /* [ @@ -428,7 +428,7 @@ /*********************** - | PROXY CONFIGURATION | + * | PROXY CONFIGURATION | ***********************/ /* @@ -437,19 +437,19 @@ * Example: * 'proxy' => 'tcp://proxy.example.com:5100' */ - 'proxy' => null, + 'proxy' => NULL, /* * Username/password authentication to proxy (Proxy-Authorization: Basic) * Example: * 'proxy.auth' = 'myuser:password' */ - //'proxy.auth' => 'myuser:password', + // 'proxy.auth' => 'myuser:password', /************************** - | DATABASE CONFIGURATION | + * | DATABASE CONFIGURATION | **************************/ /* @@ -463,29 +463,29 @@ * Ensure that you have the required PDO database driver installed * for your connection string. */ - 'database.dsn' => 'mysql:host=localhost;dbname=saml', + 'database.dsn' => 'mysql:host=localhost;dbname=saml', /* * SQL database credentials */ - 'database.username' => 'simplesamlphp', - 'database.password' => 'secret', - 'database.options' => [], + 'database.username' => 'simplesamlphp', + 'database.password' => 'secret', + 'database.options' => [], /* * (Optional) Table prefix */ - 'database.prefix' => '', + 'database.prefix' => '', /* * (Optional) Driver options */ - 'database.driver_options' => [], + 'database.driver_options' => [], /* * True or false if you would like a persistent database connection */ - 'database.persistent' => false, + 'database.persistent' => FALSE, /* * Database secondary configuration is optional as well. If you are only @@ -497,7 +497,7 @@ * options for the primary (shown above) with the exception of the table * prefix and driver options. */ - 'database.secondaries' => [ + 'database.secondaries' => [ /* [ 'dsn' => 'mysql:host=mysecondary;dbname=saml', @@ -511,7 +511,7 @@ /************* - | PROTOCOLS | + * | PROTOCOLS | *************/ /* @@ -519,8 +519,8 @@ * one of the functionalities below, but in some cases you could run multiple functionalities. * In example when you are setting up a federation bridge. */ - 'enable.saml20-idp' => true, - 'enable.adfs-idp' => false, + 'enable.saml20-idp' => TRUE, + 'enable.adfs-idp' => FALSE, /* * Whether SimpleSAMLphp should sign the response or the assertion in SAML 1.1 authentication * responses. @@ -529,11 +529,11 @@ * option to TRUE. It can also be overridden on a pr. SP basis by adding an option with the * same name to the metadata of the SP. */ - 'shib13.signresponse' => true, + 'shib13.signresponse' => TRUE, /*********** - | MODULES | + * | MODULES | ***********/ /* @@ -548,40 +548,43 @@ * ], */ - 'module.enable' => [ - 'exampleauth' => false, - 'core' => true, - 'admin' => true, - 'saml' => true - ], + 'module.enable' => [ + 'exampleauth' => FALSE, + 'core' => TRUE, + 'admin' => TRUE, + 'saml' => TRUE, + ], /************************* - | SESSION CONFIGURATION | + * | SESSION CONFIGURATION | *************************/ /* * This value is the duration of the session in seconds. Make sure that the time duration of * cookies both at the SP and the IdP exceeds this duration. */ - 'session.duration' => 8 * (60 * 60), // 8 hours. + // 8 hours. + 'session.duration' => 8 * (60 * 60), /* * Sets the duration, in seconds, data should be stored in the datastore. As the data store is used for * login and logout requests, this option will control the maximum time these operations can take. * The default is 4 hours (4*60*60) seconds, which should be more than enough for these operations. */ - 'session.datastore.timeout' => (4 * 60 * 60), // 4 hours + // 4 hours + 'session.datastore.timeout' => (4 * 60 * 60), /* * Sets the duration, in seconds, auth state should be stored. */ - 'session.state.timeout' => (60 * 60), // 1 hour + // 1 hour + 'session.state.timeout' => (60 * 60), /* * Option to override the default settings for the session cookie name */ - 'session.cookie.name' => 'SimpleSAMLSessionID', + 'session.cookie.name' => 'SimpleSAMLSessionID', /* * Expiration time for the session cookie, in seconds. @@ -591,7 +594,7 @@ * Example: * 'session.cookie.lifetime' => 30*60, */ - 'session.cookie.lifetime' => 0, + 'session.cookie.lifetime' => 0, /* * Limit the path of the cookies. @@ -601,7 +604,7 @@ * Example: * 'session.cookie.path' => '/simplesaml/', */ - 'session.cookie.path' => '/', + 'session.cookie.path' => '/', /* * Cookie domain. @@ -611,7 +614,7 @@ * Example: * 'session.cookie.domain' => '.example.org', */ - 'session.cookie.domain' => '.va.gov', + 'session.cookie.domain' => '.va.gov', /* * Set the secure flag in the cookie. @@ -620,7 +623,7 @@ * through https. If the user can access the service through * both http and https, this must be set to FALSE. */ - 'session.cookie.secure' => true, + 'session.cookie.secure' => TRUE, /* * Set the SameSite attribute in the cookie. @@ -639,19 +642,19 @@ * Example: * 'session.cookie.samesite' => 'None', */ - 'session.cookie.samesite' => $httpUtils->canSetSameSiteNone() ? 'None' : null, + 'session.cookie.samesite' => $httpUtils->canSetSameSiteNone() ? 'None' : NULL, /* * Options to override the default settings for php sessions. */ - 'session.phpsession.cookiename' => 'SimpleSAML', - 'session.phpsession.savepath' => null, - 'session.phpsession.httponly' => true, + 'session.phpsession.cookiename' => 'SimpleSAML', + 'session.phpsession.savepath' => NULL, + 'session.phpsession.httponly' => TRUE, /* * Option to override the default settings for the auth token cookie */ - 'session.authtoken.cookiename' => 'SimpleSAMLAuthToken', + 'session.authtoken.cookiename' => 'SimpleSAMLAuthToken', /* * Options for remember me feature for IdP sessions. Remember me feature @@ -666,9 +669,9 @@ * It's advised to use remember me feature with session checking function * defined with 'session.check_function' option. */ - 'session.rememberme.enable' => false, - 'session.rememberme.checked' => false, - 'session.rememberme.lifetime' => (14 * 86400), + 'session.rememberme.enable' => FALSE, + 'session.rememberme.checked' => FALSE, + 'session.rememberme.lifetime' => (14 * 86400), /* * Custom function for session checking called on session init and loading. @@ -681,7 +684,7 @@ /************************** - | MEMCACHE CONFIGURATION | + * | MEMCACHE CONFIGURATION | **************************/ /* @@ -767,11 +770,11 @@ * ], * */ - 'memcache_store.servers' => [ + 'memcache_store.servers' => [ [ ['hostname' => 'localhost'], ], - ], + ], /* * This value allows you to set a prefix for memcache-keys. The default @@ -781,7 +784,7 @@ * than one instance is using memcache, you probably want to assign * a unique value per instance to this setting to avoid data collision. */ - 'memcache_store.prefix' => '', + 'memcache_store.prefix' => '', /* * This value is the duration data should be stored in memcache. Data @@ -798,41 +801,42 @@ * Note: The oldest data will always be deleted if the memcache server * runs out of storage space. */ - 'memcache_store.expires' => 36 * (60 * 60), // 36 hours. + // 36 hours. + 'memcache_store.expires' => 36 * (60 * 60), /************************************* - | LANGUAGE AND INTERNATIONALIZATION | + * | LANGUAGE AND INTERNATIONALIZATION | *************************************/ /* * Languages available, RTL languages, and what language is the default. */ - 'language.available' => [ - 'en', 'no', 'nn', 'se', 'da', 'de', 'sv', 'fi', 'es', 'ca', 'fr', 'it', 'nl', 'lb', - 'cs', 'sk', 'sl', 'lt', 'hr', 'hu', 'pl', 'pt', 'pt-br', 'tr', 'ja', 'zh', 'zh-tw', - 'ru', 'et', 'he', 'id', 'sr', 'lv', 'ro', 'eu', 'el', 'af', 'zu', 'xh', 'st', - ], - 'language.rtl' => ['ar', 'dv', 'fa', 'ur', 'he'], - 'language.default' => 'en', + 'language.available' => [ + 'en', 'no', 'nn', 'se', 'da', 'de', 'sv', 'fi', 'es', 'ca', 'fr', 'it', 'nl', 'lb', + 'cs', 'sk', 'sl', 'lt', 'hr', 'hu', 'pl', 'pt', 'pt-br', 'tr', 'ja', 'zh', 'zh-tw', + 'ru', 'et', 'he', 'id', 'sr', 'lv', 'ro', 'eu', 'el', 'af', 'zu', 'xh', 'st', + ], + 'language.rtl' => ['ar', 'dv', 'fa', 'ur', 'he'], + 'language.default' => 'en', /* * Options to override the default settings for the language parameter */ - 'language.parameter.name' => 'language', - 'language.parameter.setcookie' => true, + 'language.parameter.name' => 'language', + 'language.parameter.setcookie' => TRUE, /* * Options to override the default settings for the language cookie */ - 'language.cookie.name' => 'language', - 'language.cookie.domain' => '', - 'language.cookie.path' => '/', - 'language.cookie.secure' => true, - 'language.cookie.httponly' => false, - 'language.cookie.lifetime' => (60 * 60 * 24 * 900), - 'language.cookie.samesite' => $httpUtils->canSetSameSiteNone() ? 'None' : null, + 'language.cookie.name' => 'language', + 'language.cookie.domain' => '', + 'language.cookie.path' => '/', + 'language.cookie.secure' => TRUE, + 'language.cookie.httponly' => FALSE, + 'language.cookie.lifetime' => (60 * 60 * 24 * 900), + 'language.cookie.samesite' => $httpUtils->canSetSameSiteNone() ? 'None' : NULL, /** * Custom getLanguage function called from SimpleSAML\Locale\Language::getLanguage(). @@ -847,19 +851,19 @@ */ /************** - | APPEARANCE | + * | APPEARANCE | **************/ /* * Which theme directory should be used? */ - 'theme.use' => 'default', + 'theme.use' => 'default', /* * Set this option to the text you would like to appear at the header of each page. Set to false if you don't want * any text to appear in the header. */ - //'theme.header' => 'SimpleSAMLphp', + // 'theme.header' => 'SimpleSAMLphp', /** * A template controller, if any. @@ -868,8 +872,7 @@ * the 'theme.controller' configuration option to a class that implements the * \SimpleSAML\XHTML\TemplateControllerInterface interface to use it. */ - //'theme.controller' => '', - + // 'theme.controller' => '', /* * Templating options * @@ -877,15 +880,14 @@ * Set 'template.cache' to an absolute path pointing to a directory that * SimpleSAMLphp has read and write permissions to. */ - //'template.cache' => '', - + // 'template.cache' => '', /* * Set the 'template.auto_reload' to true if you would like SimpleSAMLphp to * recompile the templates (when using the template cache) if the templates * change. If you don't want to check the source templates for every request, * set it to false. */ - 'template.auto_reload' => false, + 'template.auto_reload' => FALSE, /* * Set this option to true to indicate that your installation of SimpleSAMLphp @@ -897,22 +899,22 @@ * * Defaults to true. */ - 'production' => true, + 'production' => TRUE, /* * SimpleSAMLphp modules can host static resources which are served through PHP. * The serving of the resources can be configured through these settings. */ - 'assets' => [ + 'assets' => [ /* * These settings adjust the caching headers that are sent * when serving static resources. */ - 'caching' => [ + 'caching' => [ /* * Amount of seconds before the resource should be fetched again */ - 'max_age' => 86400, + 'max_age' => 86400, /* * Calculate a checksum of every file and send it to the browser * This allows the browser to avoid downloading assets again in situations @@ -921,33 +923,33 @@ * * Defaults false */ - 'etag' => false, - ], + 'etag' => FALSE, ], + ], /** * Set to a full URL if you want to redirect users that land on SimpleSAMLphp's * front page to somewhere more useful. If left unset, a basic welcome message * is shown. */ - //'frontpage.redirect' => 'https://example.com/', + // 'frontpage.redirect' => 'https://example.com/', /********************* - | DISCOVERY SERVICE | + * | DISCOVERY SERVICE | *********************/ /* * Whether the discovery service should allow the user to save his choice of IdP. */ - 'idpdisco.enableremember' => true, - 'idpdisco.rememberchecked' => true, + 'idpdisco.enableremember' => TRUE, + 'idpdisco.rememberchecked' => TRUE, /* * The disco service only accepts entities it knows. */ - 'idpdisco.validate' => true, + 'idpdisco.validate' => TRUE, - 'idpdisco.extDiscoveryStorage' => null, + 'idpdisco.extDiscoveryStorage' => NULL, /* * IdP Discovery service look configuration. @@ -959,18 +961,18 @@ * * Options: [links,dropdown] */ - 'idpdisco.layout' => 'dropdown', + 'idpdisco.layout' => 'dropdown', /************************************* - | AUTHENTICATION PROCESSING FILTERS | + * | AUTHENTICATION PROCESSING FILTERS | *************************************/ /* * Authentication processing filters that will be executed for all IdPs */ - 'authproc.idp' => [ + 'authproc.idp' => [ /* Enable the authproc filter below to add URN prefixes to all attributes 10 => [ 'class' => 'core:AttributeMap', 'addurnprefix' @@ -980,19 +982,19 @@ 20 => 'core:TargetedID', */ - // Adopts language from attribute to use in UI - 30 => 'core:LanguageAdaptor', + // Adopts language from attribute to use in UI. + 30 => 'core:LanguageAdaptor', - 45 => [ - 'class' => 'core:StatisticsWithAttribute', - 'attributename' => 'realm', - 'type' => 'saml20-idp-SSO', - ], + 45 => [ + 'class' => 'core:StatisticsWithAttribute', + 'attributename' => 'realm', + 'type' => 'saml20-idp-SSO', + ], /* When called without parameters, it will fallback to filter attributes 'the old way' * by checking the 'attributes' parameter in metadata on IdP hosted and SP remote. */ - 50 => 'core:AttributeLimit', + 50 => 'core:AttributeLimit', /* * Search attribute "distinguishedName" for pattern and replaces if found @@ -1005,7 +1007,7 @@ 'subject' => 'distinguishedName', '%replace', ], - */ + */ /* * Consent module is enabled (with no permanent storage, using cookies). @@ -1017,15 +1019,15 @@ 'focus' => 'yes', 'checked' => true ], - */ + */ // If language is set in Consent module it will be added as an attribute. - 99 => 'core:LanguageAdaptor', - ], + 99 => 'core:LanguageAdaptor', + ], /* * Authentication processing filters that will be executed for all SPs */ - 'authproc.sp' => [ + 'authproc.sp' => [ /* 10 => [ 'class' => 'core:AttributeMap', 'removeurnprefix' @@ -1047,21 +1049,21 @@ ], */ - // Adopts language from attribute to use in UI - 90 => 'core:LanguageAdaptor', - ], + // Adopts language from attribute to use in UI. + 90 => 'core:LanguageAdaptor', + ], /************************** - | METADATA CONFIGURATION | + * | METADATA CONFIGURATION | **************************/ /* * This option allows you to specify a directory for your metadata outside of the standard metadata directory * included in the standard distribution of the software. */ - 'metadatadir' => 'metadata', + 'metadatadir' => 'metadata', /* * This option configures the metadata sources. The metadata sources is given as an array with @@ -1147,9 +1149,9 @@ * ['type' => 'flatfile'] * ], */ - 'metadata.sources' => [ + 'metadata.sources' => [ ['type' => 'flatfile'], - ], + ], /* * Should signing of generated metadata be enabled by default. @@ -1157,7 +1159,7 @@ * Metadata signing can also be enabled for a individual SP or IdP by setting the * same option in the metadata for the SP or IdP. */ - 'metadata.sign.enable' => false, + 'metadata.sign.enable' => FALSE, /* * The default key & certificate which should be used to sign generated metadata. These @@ -1169,14 +1171,14 @@ * the 'certificate' and 'privatekey' option in the metadata will be used. * if those aren't set, signing of metadata will fail. */ - 'metadata.sign.privatekey' => null, - 'metadata.sign.privatekey_pass' => null, - 'metadata.sign.certificate' => null, - 'metadata.sign.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256', + 'metadata.sign.privatekey' => NULL, + 'metadata.sign.privatekey_pass' => NULL, + 'metadata.sign.certificate' => NULL, + 'metadata.sign.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256', /**************************** - | DATA STORE CONFIGURATION | + * | DATA STORE CONFIGURATION | ****************************/ /* @@ -1189,7 +1191,7 @@ * * The default datastore is 'phpsession'. */ - 'store.type' => 'sql', + 'store.type' => 'sql', /* * The DSN the sql datastore should connect to. @@ -1197,29 +1199,29 @@ * See http://www.php.net/manual/en/pdo.drivers.php for the various * syntaxes. */ - 'store.sql.dsn' => "sqlite:{$_SERVER['DOCUMENT_ROOT']}/../samlsessiondb.sq3", + 'store.sql.dsn' => "sqlite:{$_SERVER['DOCUMENT_ROOT']}/../samlsessiondb.sq3", /* * The username and password to use when connecting to the database. */ - 'store.sql.username' => null, - 'store.sql.password' => null, + 'store.sql.username' => NULL, + 'store.sql.password' => NULL, /* * The prefix we should use on our tables. */ - 'store.sql.prefix' => 'SimpleSAMLphp', + 'store.sql.prefix' => 'SimpleSAMLphp', /* * The driver-options we should pass to the PDO-constructor. */ - 'store.sql.options' => [], + 'store.sql.options' => [], /* * The hostname and port of the Redis datastore instance. */ - 'store.redis.host' => 'localhost', - 'store.redis.port' => 6379, + 'store.redis.host' => 'localhost', + 'store.redis.port' => 6379, /* * The credentials to use when connecting to Redis. @@ -1232,8 +1234,8 @@ * Redis 6+) then you should provide both a username and a password. * See https://redis.io/docs/manual/security/acl/ */ - 'store.redis.username' => '', - 'store.redis.password' => '', + 'store.redis.username' => '', + 'store.redis.password' => '', /* * Communicate with Redis over a secure connection instead of plain TCP. @@ -1241,31 +1243,31 @@ * This setting affects both single host connections as * well as Sentinel mode. */ - 'store.redis.tls' => false, + 'store.redis.tls' => FALSE, /* * Verify the Redis server certificate. */ - 'store.redis.insecure' => false, + 'store.redis.insecure' => FALSE, /* * Files related to secure communication with Redis. * * Files are searched in the 'certdir' when using relative paths. */ - 'store.redis.ca_certificate' => null, - 'store.redis.certificate' => null, - 'store.redis.privatekey' => null, + 'store.redis.ca_certificate' => NULL, + 'store.redis.certificate' => NULL, + 'store.redis.privatekey' => NULL, /* * The prefix we should use on our Redis datastore. */ - 'store.redis.prefix' => 'SimpleSAMLphp', + 'store.redis.prefix' => 'SimpleSAMLphp', /* * The master group to use for Redis Sentinel. */ - 'store.redis.mastergroup' => 'mymaster', + 'store.redis.mastergroup' => 'mymaster', /* * The Redis Sentinel hosts. @@ -1279,10 +1281,10 @@ * Use 'tls' instead of 'tcp' in order to make use of the additional * TLS settings. */ - 'store.redis.sentinels' => [], + 'store.redis.sentinels' => [], /********************* - | IdP/SP PROXY MODE | + * | IdP/SP PROXY MODE | *********************/ /* @@ -1291,5 +1293,5 @@ * processed by the IdP/SP proxy or if it will be passed to the SP behind * the IdP/SP proxy. */ - 'proxymode.passAuthnContextClassRef' => false, + 'proxymode.passAuthnContextClassRef' => FALSE, ]; diff --git a/tests/cypress/integration/features/content_type/facilities/vamc/health_care_local_health_service.feature b/tests/cypress/integration/features/content_type/facilities/vamc/health_care_local_health_service.feature index 3b395d6e9..d74139c8a 100644 --- a/tests/cypress/integration/features/content_type/facilities/vamc/health_care_local_health_service.feature +++ b/tests/cypress/integration/features/content_type/facilities/vamc/health_care_local_health_service.feature @@ -42,3 +42,16 @@ Scenario: Log in and create VAMC Facility Health Service as a non-Lovell editor Then I click the button with selector "#edit-group-health-service-and-facilit" Then I select option "Brockton VA Medical Center | VA Boston health care" from dropdown with selector "#edit-field-facility-location" Then I select option "Audiology and speech at VA Boston health care" from dropdown with selector "#edit-field-regional-health-service" + +Scenario: Editors should not be able to rename a VAMC Facility Health Service + Given I am logged in as a user with the roles "vamc_content_creator, content_publisher, content_editor, content_admin" + # VA Iron Mountain health care + And my workbench access sections are set to "350" + # Primary care - Marquette VA Clinic + When I am at "node/30733/edit" + And I click to expand "Health service and facility basic info" + Then an element with the selector 'select[data-drupal-selector^="edit-field-facility-location"]' should be disabled + And an element with the selector 'select[data-drupal-selector^="edit-field-regional-health-service"]' should be disabled + Then I scroll to position "bottom" + And I click the "Unlock" link + And I click the "Confirm break lock" button diff --git a/tests/cypress/integration/features/content_type/facilities/vba/vba_facility.feature b/tests/cypress/integration/features/content_type/facilities/vba/vba_facility.feature index c464663a9..a1fea145f 100644 --- a/tests/cypress/integration/features/content_type/facilities/vba/vba_facility.feature +++ b/tests/cypress/integration/features/content_type/facilities/vba/vba_facility.feature @@ -76,3 +76,6 @@ Feature: CMS User may effectively interact with the VBA Facility form And I check the "Display a banner alert on this facility" checkbox Then an element with the selector "#edit-field-banner-title-0-value" should be empty And the option "- Select a value -" from dropdown with selector "#edit-field-alert-type" should be selected + And I scroll to position "bottom" + And I click the "Unlock" link + And I click the "Confirm break lock" button diff --git a/tests/cypress/integration/features/content_type/facilities/vet_center/vet_center_facility_service.feature b/tests/cypress/integration/features/content_type/facilities/vet_center/vet_center_facility_service.feature new file mode 100644 index 000000000..9f2c81dec --- /dev/null +++ b/tests/cypress/integration/features/content_type/facilities/vet_center/vet_center_facility_service.feature @@ -0,0 +1,34 @@ +@content_type__vet_center_facility_health_servi +Feature: CMS Users may effectively interact with the Vet Center - Facility Service form + In order to confirm that cms users have access to the necessary functionality + As anyone involved in the project + I need to have certain functionality available + +Scenario: Editors should not be able to rename a Vet Center - Facility Service + Given I am logged in as a user with the roles "content_creator_vet_center, content_publisher, content_editor, content_admin" + # Escanaba Vet Center + And my workbench access sections are set to "392" + # Escanaba Vet Center - Telehealth + When I am at "node/17927/edit" + And an element with the selector 'select[data-drupal-selector^="edit-field-service-name-and-descripti"]' should be disabled + Then I scroll to position "bottom" + And I click the "Unlock" link + And I click the "Confirm break lock" button + +Scenario: Administrators should be able to rename a Vet Center - Facility Service + Given I am logged in as a user with the "administrator" role + # Escanaba Vet Center - Telehealth + When I am at "node/17927" + Then I should see "Escanaba Vet Center - Telehealth" + + Then I click the edit tab + Then an element with the selector 'select[data-drupal-selector^="edit-field-office"]' should not be disabled + And an element with the selector 'select[data-drupal-selector^="edit-field-service-name-and-descripti"]' should not be disabled + + # Duluth Vet Center + Then I select option '3751' from dropdown with selector 'select[data-drupal-selector^="edit-field-office"]' + # Women Veteran Care + And I select option '57' from dropdown with selector 'select[data-drupal-selector^="edit-field-service-name-and-descripti"]' + And I fill in field with selector "#edit-revision-log-0-value" with value "[Test Data] Revision log message." + And I save the node + Then I should see "Duluth Vet Center - Women Veteran care" diff --git a/tests/phpunit/API/JsonApiRequestTest.php b/tests/phpunit/API/JsonApiRequestTest.php index 80c324ba6..c49acc48d 100644 --- a/tests/phpunit/API/JsonApiRequestTest.php +++ b/tests/phpunit/API/JsonApiRequestTest.php @@ -2,6 +2,7 @@ namespace tests\phpunit\API; +use Drupal\paragraphs\Entity\Paragraph; use Http\Client\Exception\RequestException; use Tests\Support\Classes\VaGovExistingSiteBase; @@ -13,6 +14,53 @@ */ class JsonApiRequestTest extends VaGovExistingSiteBase { + /** + * The user info to use for the tests. + * + * @var array + */ + protected $userInfo; + + /** + * The config factory. + * + * @var \Drupal\Core\Config\ConfigFactoryInterface + */ + protected $configFactory; + + /** + * {@inheritdoc} + */ + public function setUp(): void { + parent::setUp(); + + $user = $this->createUser(); + $user->addRole('content_api_consumer'); + $user->setPassword('t3st0ma4tic'); + $user->save(); + + $this->userInfo = [ + 'name' => $user->getAccountName(), + 'password' => 't3st0ma4tic', + ]; + + // Load config for jsonapi_extras.jsonapi_field_type_config. + /** @var \Drupal\Core\Config\Config $config */ + $this->configFactory = \Drupal::service('config.factory'); + } + + /** + * {@inheritdoc} + */ + public function tearDown(): void { + parent::tearDown(); + + // Reset the absolute URL setting. + $config = $this->configFactory->getEditable('jsonapi_extras.jsonapi_field_type_config'); + $config->set('resourceFields.link.enhancer.settings.absolute_url', 0); + $config->save(); + } + /** * Provides list of resource routes for the JSON:API response tests. */ @@ -51,16 +99,7 @@ public function testJsonApiResponseExcludesFields($route) { 'content_translation_outdate', ]; - $user = $this->createUser(); - $user->addRole('content_api_consumer'); - $user->setPassword('t3st0ma4tic'); - $user->save(); - - $userInfo = [ - 'name' => $user->getAccountName(), - 'password' => 't3st0ma4tic', - ]; - $json_string = $this->getBodyFromPath("$route?page[limit]=5", $userInfo); + $json_string = $this->getBodyFromPath("$route?page[limit]=5", $this->userInfo); $collectionData = json_decode($json_string, TRUE); // Ensure that the collection respects the limit parameter. @@ -74,7 +113,7 @@ public function testJsonApiResponseExcludesFields($route) { // Pick an ID to check from the collection. $nodeUuid = $collectionData['data'][1]['id']; - $nodeResponse = $this->getBodyFromPath("$route/$nodeUuid", $userInfo); + $nodeResponse = $this->getBodyFromPath("$route/$nodeUuid", $this->userInfo); $nodeData = json_decode($nodeResponse, TRUE); // Assert that fields are not present in the individual node response. @@ -84,6 +123,88 @@ public function testJsonApiResponseExcludesFields($route) { ); } + /** + * Test JSON:API responses respect field type enhancers. + * + * @group services + * @group all + */ + public function testFieldEnhancerResponses() { + // Create a paragraph of type react_widget. + $paragraph = Paragraph::create([ + 'type' => 'react_widget', + 'field_cta_widget' => FALSE, + 'field_default_link' => [ + 'uri' => 'internal:/pension/application/527EZ', + 'title' => 'Apply for Veterans Pension Benefits', + 'options' => [], + ], + 'field_error_message' => [ + 'value' => 'We’re sorry. Something went wrong when we tried to load your saved application.
              Please try refreshing your browser in a few minutes.', + 'format' => 'rich_text', + 'processed' => 'We’re sorry. Something went wrong when we tried to load your saved application.
              Please try refreshing your browser in a few minutes.', + ], + 'field_loading_message' => 'Checking your application status.', + 'field_timeout' => 20, + 'field_widget_type' => 'health-care-app-status', + ]); + $paragraph->save(); + + // Get uuid of the paragraph. + $uuid = $paragraph->uuid(); + + // Get the JSON:API response for the paragraph. + $json_string = $this->getBodyFromPath("/jsonapi/paragraph/react_widget/$uuid", $this->userInfo); + + // Decode the JSON:API response. + $paragraphData = json_decode($json_string, TRUE); + + // Assert that the field enhancer has been applied to the paragraph. + // The enhancer always adds a 'url' key to the field_default_link field. + $this->assertArrayHasKey('url', $paragraphData['data']['attributes']['field_default_link']); + + // Load config for jsonapi_extras.jsonapi_field_type_config. + $config = $this->configFactory->getEditable('jsonapi_extras.jsonapi_field_type_config'); + + // Check to see the absolute URL setting is not enabled. + $absolute_url_enabled = $config->get('resourceFields.link.enhancer.settings.absolute_url'); + $this->assertEquals(0, $absolute_url_enabled); + + // Check that the "url" key does not have https:// or http://. + $this->assertThat( + $paragraphData['data']['attributes']['field_default_link']['url'], + $this->logicalNot( + $this->logicalOr( + $this->stringContains('http://'), + $this->stringContains('https://') + ) + ) + ); + + // Enable the absolute URL setting. + $config->set('resourceFields.link.enhancer.settings.absolute_url', TRUE); + $config->save(); + + // Get the JSON:API response for the paragraph again. + $json_string = $this->getBodyFromPath("/jsonapi/paragraph/react_widget/$uuid", $this->userInfo); + + // Decode the JSON:API response. + $paragraphData = json_decode($json_string, TRUE); + + // Assert that the field enhancer has been applied to the paragraph. + // The enhancer always adds a 'url' key to the field_default_link field. + $this->assertArrayHasKey('url', $paragraphData['data']['attributes']['field_default_link']); + + // Check that the field_default_link "url" key has https:// or http://. + $this->assertThat( + $paragraphData['data']['attributes']['field_default_link']['url'], + $this->logicalOr( + $this->stringContains('http://'), + $this->stringContains('https://') + ) + ); + } + /** * Helper function to retrieve JSON:API response from a path. */ From 7f375952e72383298424ff79395084726bab9594 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 19:37:48 +0000 Subject: [PATCH 2/2] Bump tar from 6.1.13 to 6.2.1 in /docroot/themes/custom/vagovclaro Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.13 to 6.2.1. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/isaacs/node-tar/compare/v6.1.13...v6.2.1) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] --- .../custom/vagovclaro/package-lock.json | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docroot/themes/custom/vagovclaro/package-lock.json b/docroot/themes/custom/vagovclaro/package-lock.json index 33a1d1b17..8d40467f2 100644 --- a/docroot/themes/custom/vagovclaro/package-lock.json +++ b/docroot/themes/custom/vagovclaro/package-lock.json @@ -9833,16 +9833,16 @@ } }, "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "optional": true, "peer": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -9882,9 +9882,9 @@ } }, "node_modules/tar/node_modules/minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, "optional": true, "peer": true, @@ -18163,25 +18163,25 @@ "dev": true }, "tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "optional": true, "peer": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { "minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, "optional": true, "peer": true