From c761f2c1dbe9be46a34d0a8853e17fdaf7f9bc37 Mon Sep 17 00:00:00 2001 From: Michelle Middaugh <55411834+mmiddaugh@users.noreply.github.com> Date: Mon, 1 Jul 2024 16:36:10 -0600 Subject: [PATCH 01/11] Update runbook-vet-center-new.md (#17689) Co-authored-by: Tim Cosgrove --- .../ISSUE_TEMPLATE/runbook-vet-center-new.md | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md b/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md index 322133071d..abdf025fe3 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md +++ b/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md @@ -8,7 +8,8 @@ assignees: '' --- ## Description -Use this runbook if: a Vet Centers, Mobile Vet Centers, Vet Center Outstations is flagged as New, OR if an existing facility is flagged as New with a new Facility API ID. (This may happen if a Vet Center moves districts, or a Mobile Vet Center is reallocated to a different Vet Center.) +Use this runbook if: a Vet Center, Mobile Vet Center, or Vet Center Outstation is flagged as New, OR if an existing facility is flagged as New with a new Facility API ID. +- This may also occur when an Outstation is promoted to main Vet Center or if an existing Mobile Vet Center is reallocated to a different Vet Center ## Intake - [ ] What triggered this runbook? (Flag in CMS, Help desk ticket, Product team, VHA Digital Media) @@ -20,7 +21,7 @@ Help desk ticket: - [ ] Name of submitter (if applicable) Submitter: -- [ ] If the submitter is an editor, send them links to any relevate KB articles for the Vet Center product. +- [ ] If the submitter is an editor, send them links to any relevant KB articles for the Vet Center product. KB articles: - [ ] Link to facility in production: @@ -36,20 +37,22 @@ Facility API ID: **Note: If the help desk is waiting on information from the facility staff or editor, add the `Awaiting editor` flag to the facility** with a log message that includes a link to this ticket. Remove the flag when the ticket is ready to be worked by the Facilities team. **Be sure to preserve the current moderation state of the node when adding or removing the flag.** **If a Mobile Vet Center:** -- [ ] Confirm what Vet Center it belongs to, and set the "Main Vet Center location" field. The parent location may be derived by the Facility ID. +- [ ] Confirm the Vet Center to which it belongs and and set the "Main Vet Center location" field. The parent location may be derived by the Facility ID. +- [ ] Follow up with Barb Kuhn/RCS Central office to let her know we've identified this new Mobile unit and confirm the District, Vet Center Director, and Outreach Specialist (names/email addresses) who will be responsible for updates - [ ] Contact the Vet Center editor to remind them to (1) add a photo of the Mobile Vet Center and then they can publish when ready and (2) remind them that if this Mobile Vet Center is used by any other facilities to communicate with those Vet Center editors -- [ ] Consider: Following up with Barb/RCS Central office to be sure that she's aware that the mobile Vet Center is in-flight **If a Outstation:** -- [ ] Confirm what Vet Center it belongs to, and set the "Main Vet Center location" field. The parent location may be derived by the Facility ID. -- [ ] Contact the Vet Center editor to remind them to (1) add a photo of the Outstation and then they can publish when ready -- [ ] Consider: Following up with Barb/RCS Central office to be sure that she's aware that the Outstation is in-flight +- [ ] Become aware that the new facility is now on the Facility API (typically, via a Flag). +- [ ] Confirm the Vet Center to which it belongs and set the "Main Vet Center location" field. The parent location may be derived by the Facility ID. +- [ ] Follow up with Barb Kuhn/RCS Central office to let her know we've identified the new Outstation and confirm the District, Vet Center Director, and Outreach Specialist (names/email addresses) who will be responsible for updates +- [ ] Contact the Vet Center editor to remind them to (1) add a photo of the Outstation +- [ ] If the new Outstation replaces a CAP, the editor should consider updating the operating status for the CAP to direct Veterans to the new location with “as of” date and set a reminder on the calendar to archive the CAP 30 days after the new location has opened **If a Vet Center:** -- [ ] 1. Become aware that the new facility is now on the Facility API (typically, via a Flag). -- [ ] 2. Check with Readjustment Counseling Services to (1) confirm what district the Vet Center belongs and (2) Identify the Vet Center Director and Outreach Specialist (names/email addresses) -- [ ] 3. In [Sections taxonomy](https://prod.cms.va.gov/admin/structure/taxonomy/manage/administration/overview), move the Vet Center Section to the appropriate district. -- [ ] 4. Create accounts (or restrict existing accounts) with editor rights only for Vet Center Director and Outreach Specialist so that they cannot publish on their own. +- [ ] Become aware that the new facility is now on the Facility API (typically, via a Flag). +- [ ] Check with Readjustment Counseling Services to (1) confirm what district the Vet Center belongs, (2) identify the Vet Center Director and Outreach Specialist (names/email addresses), (3) confirm the new location isn't a replacement for an existing Outstation +- [ ] In [Sections taxonomy](https://prod.cms.va.gov/admin/structure/taxonomy/manage/administration/overview), move the Vet Center Section to the appropriate district. +- [ ] Create account access as directed by RCS. If editors are new to Drupal, create accounts with editor rights only for Vet Center Director and Outreach Specialist so that they cannot publish on their own. - [ ] 5. Contact Vet Center Director and Outreach specialist to onboard for training [@TODO write sample email - SEE runbook-vamc-facility-new] **Note: this should include instructions for adding content and preparing for publishing and RCS Central Office should be included as CC** - [ ] 6. Add flag `Awaiting editor` to this facility. Note: This is now blocked until RCS Central office approves. - [ ] 7. **Once approved by RCS Central Office as complete, proceed to Drupal Admin publishing steps** From 12ccfa8350d02166c272f2652717b5b514e8d86c Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Wed, 3 Jul 2024 10:56:09 -0500 Subject: [PATCH 02/11] VACMS-17885: Create facility services links on VBA Facility page (#18442) * VACMS-17885: Entity prepopulate config set * VACMS-17885: Population of the link is working * VACMS-17885: Updates comments * VACMS-17885: Adds another null check * VACMS-17885: Updates config * VACMS-17885: Adds second link * VACMS-17885: Updates link language per UX review * Updates config * VACMS-17885: Removing unnecessary periods * VACMS-17885: Updates for readability after PR review * VACMS-17885: Reformatting * VACMS-17885: Updates function name and comments. * VACMS-17855: Updates config with new function name --- ...form_display.node.vba_facility.default.yml | 5 +- ..._facility_service.field_administration.yml | 5 +- ...node.vba_facility_service.field_office.yml | 5 +- .../EventSubscriber/VbaFacilitySubscriber.php | 52 ++++++++++++++++--- 4 files changed, 57 insertions(+), 10 deletions(-) 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 a4f2a334ed..187982671e 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 @@ -344,7 +344,7 @@ third_party_settings: show_empty_fields: '1' show_label: '1' tooltip_description: '' - description: 'Facility services are created on a different page.' + description: 'Adds a link to create a VBA Facility service. The actual content is overridden by createLinksFacilityServices() in va_gov_vba_facility/src/EventSubscriber/VbaFacilitySubscriber.php' required_fields: '1' id: facility-services classes: 'not-editable centralized' @@ -392,7 +392,8 @@ content: type: address_default weight: 11 region: content - settings: { } + settings: + wrapper_type: fieldset third_party_settings: { } field_administration: type: options_select diff --git a/config/sync/field.field.node.vba_facility_service.field_administration.yml b/config/sync/field.field.node.vba_facility_service.field_administration.yml index 5e510bce4a..dc83c47d1a 100644 --- a/config/sync/field.field.node.vba_facility_service.field_administration.yml +++ b/config/sync/field.field.node.vba_facility_service.field_administration.yml @@ -9,14 +9,17 @@ dependencies: module: - entity_reference_validators - epp + - tmgmt_content third_party_settings: entity_reference_validators: circular_reference: false circular_reference_deep: false duplicate_reference: true epp: - value: '' + value: '[current-page:query:field_administration]' on_update: 0 + tmgmt_content: + excluded: false id: node.vba_facility_service.field_administration field_name: field_administration entity_type: node diff --git a/config/sync/field.field.node.vba_facility_service.field_office.yml b/config/sync/field.field.node.vba_facility_service.field_office.yml index bad74f3b24..301ea85a82 100644 --- a/config/sync/field.field.node.vba_facility_service.field_office.yml +++ b/config/sync/field.field.node.vba_facility_service.field_office.yml @@ -9,14 +9,17 @@ dependencies: module: - entity_reference_validators - epp + - tmgmt_content third_party_settings: entity_reference_validators: circular_reference: false circular_reference_deep: false duplicate_reference: false epp: - value: '' + value: '[current-page:query:field_office]' on_update: 0 + tmgmt_content: + excluded: false id: node.vba_facility_service.field_office field_name: field_office entity_type: node diff --git a/docroot/modules/custom/va_gov_vba_facility/src/EventSubscriber/VbaFacilitySubscriber.php b/docroot/modules/custom/va_gov_vba_facility/src/EventSubscriber/VbaFacilitySubscriber.php index ace35421b7..368cab86df 100644 --- a/docroot/modules/custom/va_gov_vba_facility/src/EventSubscriber/VbaFacilitySubscriber.php +++ b/docroot/modules/custom/va_gov_vba_facility/src/EventSubscriber/VbaFacilitySubscriber.php @@ -64,7 +64,7 @@ public function __construct( UserPermsService $user_perms_service, EntityTypeManagerInterface $entity_type_manager, RendererInterface $renderer - ) { + ) { $this->stringTranslation = $string_translation; $this->userPermsService = $user_perms_service; $this->entityTypeManager = $entity_type_manager; @@ -90,7 +90,7 @@ public static function getSubscribedEvents(): array { * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event * The entity view alter service. */ - public function entityViewAlter(EntityViewAlterEvent $event):void { + public function entityViewAlter(EntityViewAlterEvent $event): void { $this->appendServiceTermDescriptionToVbaFacilityService($event); } @@ -100,7 +100,7 @@ public function entityViewAlter(EntityViewAlterEvent $event):void { * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event * The entity view alter service. */ - public function appendServiceTermDescriptionToVbaFacilityService(EntityViewAlterEvent $event):void { + public function appendServiceTermDescriptionToVbaFacilityService(EntityViewAlterEvent $event): void { $display = $event->getDisplay(); if (($display->getTargetBundle() === 'vba_facility_service') && ($display->getOriginalMode() === 'full')) { $build = &$event->getBuild(); @@ -119,7 +119,8 @@ public function appendServiceTermDescriptionToVbaFacilityService(EntityViewAlter 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; @@ -136,6 +137,43 @@ public function alterVbaFacilityNodeForm(FormIdAlterEvent $event): void { $this->addStateManagementToBannerFields($event); $this->changeBannerType($event); $this->changeDismissibleOption($event); + $this->createLinksFacilityServices($event); + } + + /** + * Adds links for creating and managing facility services. + * + * One link prepopulates the section and facility for editorial convenience. + * One link goes to the content search page, passing in the facility name. + * + * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event + * The event. + */ + protected function createLinksFacilityServices(FormIdAlterEvent $event): void { + $form = &$event->getForm(); + + if (!isset($form["#fieldgroups"]["group_facility_services"])) { + return; + } + + $form_state = $event->getFormState(); + /** @var \Drupal\Core\Entity\EntityFormInterface $form_object */ + $form_object = $form_state->getFormObject(); + $entity = $form_object->getEntity(); + $section_tid = $entity->field_administration->target_id; + $facility_nid = $entity->nid->value; + $create_service_url = "/node/add/vba_facility_service?field_administration=$section_tid&field_office=$facility_nid"; + $create_service_text = $this->t('Create a new service for this facility (opens in new window)'); + $encoded_facility_name = urlencode($entity->title->value); + $manage_services_url = "/admin/content?title=$encoded_facility_name&type=vba_facility_service&moderation_state=All&owner=All"; + $manage_services_text = $this->t('Manage existing services for this facility (opens in new window)'); + + if (isset($form["#fieldgroups"]["group_facility_services"]->format_settings["description"])) { + $form["#fieldgroups"]["group_facility_services"]->format_settings["description"] = " +

$create_service_text

+

$manage_services_text

+ "; + } } /** @@ -254,8 +292,10 @@ public function entityPresave(EntityPresaveEvent $event): void { protected function clearBannerFields(EntityInterface $entity): void { /** @var \Drupal\node\NodeInterface $entity */ if ($entity->bundle() === "vba_facility") { - if ($entity->hasField('field_show_banner') - && $entity->field_show_banner->value == FALSE) { + if ( + $entity->hasField('field_show_banner') + && $entity->field_show_banner->value == FALSE + ) { if ($entity->field_alert_type) { $entity->field_alert_type->value = NULL; } From 2b98b91d3857c265152804ea86e70a6932ff81cc Mon Sep 17 00:00:00 2001 From: Steve Rancour Date: Wed, 3 Jul 2024 12:54:13 -0400 Subject: [PATCH 03/11] [DOCS] Create collab-cycle-accessibility.md Recommendations for collab cycle --- .../collab-cycle-accessibility.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 READMES/cms-collab-cycle/collab-cycle-accessibility.md diff --git a/READMES/cms-collab-cycle/collab-cycle-accessibility.md b/READMES/cms-collab-cycle/collab-cycle-accessibility.md new file mode 100644 index 0000000000..4fa965982f --- /dev/null +++ b/READMES/cms-collab-cycle/collab-cycle-accessibility.md @@ -0,0 +1,47 @@ +# CMS Collaboration Cycle Accessibility Discovery and Recomendations + +## Discovery + +Currently, the Platform Collaboration Cycle incorporates Accessibility throughout all touch points from Design Intent, Midpoint Review, and Staging Review. At both the Midpoint Review and Staging Review they have the following testing and artifacts: + +1. Midpoint Review + + 1. **Finalized design prototype - Required** + + - Desktop and mobile prototypes including accessibility annotations. + +1. Staging Review + + 1. **Foundational accessibility tests - Required** + - [Use of color and color contrast](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#use-of-color) + - [Automated testing with axe by Deque](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#axe) + - [Content zoom and reflow](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#content-zoom) + - [Keyboard navigation](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#keyboard-nav) + + 2. **Foundational testing artifact - Required** + - The [accessibility testing artifact](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#artifact) is required and must be submitted prior to each staging review. It documents the results of their foundational testing. + + 3. **Advanced accessibility testing - Recommended** + - [WAVE spot checks](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#wave) + - [Code quality review](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#code-quality) + - [Mouse-only and touchscreen](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#mouse-and-touch) + - [Screen readers](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#screen-readers) + - [Voice commands](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#voice) + +Talking with Laura, sitewide teams are only building cypress tests when it's appropriate, but not accessibility specific tests. + +## Recommendations for Collab cycle changes + +1. **Mouse-only and touchscreen checks** + - For CMS specifically Instead of `using a mobile device` the bullet point `Using a mobile device, make sure you can use the full functionality of a feature with only one finger to gesture (tapping, swiping, etc.)` should only need to say `change the view in developer tools to be mobile` since Drupal is not accessible via mobile devices unless they have a GFE phone. The test should still be done for those users who want to use tablets or phones to access Drupal. This could also be done through a special rule for Drupal specifically. + +## Recommendations for future work + +1. **Automated testing with axe by Deque** + 1. Tasks for CMS team: + - Investigate why axe-core is being used instead of the perfered Attest mentioned in the [508-ds-process memo](https://github.com/department-of-veterans-affairs/va.gov-team-sensitive/blob/master/Administrative/memos/508-ds-process.md#automated-and-integrated-508-compliance-tests-and-digital-service-reviews) (dated 2016 and added to github in 2019) found under the [axe scans in end-to-end tests heading](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/prepare-for-an-accessibility-staging-review#Prepareforanaccessibilitystagingreview-axescansinend-to-endtests) on the Prepare for an accessibility staging review page. + - Currently Platform teams are only using axe-core and all documentation points to axe-core despite the memo. Speaking with Brian DeConinck that's the only reference he knows of to Attest. + - Better understand what automated tests are running in the code. This will need to be a collaboration between Accessibility and QA. Once this is understood, devs will need to augment their required QA tests to make sure they are testing their builds for accessibility using the [axe checks](https://depo-platform-documentation.scrollhelp.site/developer-docs/accessibility-testing-helper-functions). + - Currently in the [accessibility.js](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/tests/cypress/support/accessibility.js) file we're only testing for `values: ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa"]`. This should be expanded to the 22a and 22aa rules like the Platform team is planning on doing for the [conten-build testing rules](https://github.com/department-of-veterans-affairs/va.gov-team/issues/45693). + 2. Tasks for teams in collab cycle: + - Teams need to start adding accessibility checks into each cypress test written. From 7c8b91178db02806b36d487d0f05b4e71681f508 Mon Sep 17 00:00:00 2001 From: Steve Rancour Date: Wed, 3 Jul 2024 13:37:31 -0400 Subject: [PATCH 04/11] [DOCS] Update collab-cycle-accessibility.md --- READMES/cms-collab-cycle/collab-cycle-accessibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMES/cms-collab-cycle/collab-cycle-accessibility.md b/READMES/cms-collab-cycle/collab-cycle-accessibility.md index 4fa965982f..0c500fce60 100644 --- a/READMES/cms-collab-cycle/collab-cycle-accessibility.md +++ b/READMES/cms-collab-cycle/collab-cycle-accessibility.md @@ -33,7 +33,7 @@ Talking with Laura, sitewide teams are only building cypress tests when it's app ## Recommendations for Collab cycle changes 1. **Mouse-only and touchscreen checks** - - For CMS specifically Instead of `using a mobile device` the bullet point `Using a mobile device, make sure you can use the full functionality of a feature with only one finger to gesture (tapping, swiping, etc.)` should only need to say `change the view in developer tools to be mobile` since Drupal is not accessible via mobile devices unless they have a GFE phone. The test should still be done for those users who want to use tablets or phones to access Drupal. This could also be done through a special rule for Drupal specifically. + - For CMS specifically, since Drupal is not accessible via mobile devices unless they have a GFE phone, we need a secondary way of completing the step of `Using a mobile device, make sure you can use the full functionality of a feature with only one finger to gesture (tapping, swiping, etc.)` by being able to `change the view in developer tools to be mobile`. The test should still be done for those users who want to use GFE tablets or phones to access Drupal. ## Recommendations for future work From d08f703e04bde0a0d4d1a7e90fa2880eb09c1054 Mon Sep 17 00:00:00 2001 From: Dave Pickett <51967950+davidmpickett@users.noreply.github.com> Date: Wed, 3 Jul 2024 17:07:34 -0500 Subject: [PATCH 05/11] [Docs] changed default labels on issue template --- .github/ISSUE_TEMPLATE/taxonomy-add-term.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/taxonomy-add-term.yml b/.github/ISSUE_TEMPLATE/taxonomy-add-term.yml index cefd288fd5..58e6a6f885 100644 --- a/.github/ISSUE_TEMPLATE/taxonomy-add-term.yml +++ b/.github/ISSUE_TEMPLATE/taxonomy-add-term.yml @@ -2,7 +2,7 @@ name: "Taxonomy - Add Term" description: "Use this template when adding terms to the Service or Benefit taxonomy." title: "[ADD] (Term name) to (taxonomy name)" -labels: Content, Content governance +labels: Content, sitewide body: @@ -90,7 +90,7 @@ body: - [ ] Term is reviewed by relevant taxonomy governance body - [ ] Term is either approved for addition, or denied with an explanation - [ ] If approved, a Drupal admin from Product team may add the term to the taxonomy - - [ ] Content for subfields is drafted in Drupal by Product team + - [ ] Content for subfields is updated in Drupal by Product team - [ ] (List any necessary review and approval steps here) - [ ] Term is published validations: From 0e3d7e40f040dc9dd127ab52e9696d2fd50ab503 Mon Sep 17 00:00:00 2001 From: Dave Pickett <51967950+davidmpickett@users.noreply.github.com> Date: Wed, 3 Jul 2024 17:08:12 -0500 Subject: [PATCH 06/11] [Docs] updated default label on issue template --- .github/ISSUE_TEMPLATE/taxonomy-update-term.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/taxonomy-update-term.yml b/.github/ISSUE_TEMPLATE/taxonomy-update-term.yml index 9fe7d60585..bfa0f0070a 100644 --- a/.github/ISSUE_TEMPLATE/taxonomy-update-term.yml +++ b/.github/ISSUE_TEMPLATE/taxonomy-update-term.yml @@ -2,7 +2,7 @@ name: "Taxonomy - Update Term" description: "Use this template when updating an existing terms in the Service or Benefit taxonomy." title: "[UPDATE] (Term name) in (taxonomy name)" -labels: Content, Content governance +labels: Content, sitewide body: From a486d4c26c7a8b293b5de05d855a1d763211426a Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Fri, 5 Jul 2024 14:16:46 -0500 Subject: [PATCH 07/11] [DOCS] Update runbook-vamc-facility-new.md Accounting for new VA Mobile Clinics --- .github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md index 314fe25c4a..0d25bfefca 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md @@ -32,6 +32,7 @@ Please refer to the Knowledge Base article titled "How do I add a facility to my #### CMS help desk steps **Note: If the help desk is waiting on information from the facility staff or editor, add the "Awaiting editor" flag to the facility with a log message that includes a link to this ticket. Remove the flag when the ticket is ready to be worked by the Facilities team. Be sure to preserve the current moderation state of the node when adding or removing the flag.** - [ ] Become aware that the new facility is now on the Facility API (typically, via a Flag, but this may come in as a helpdesk ticket). +- [ ] **If the facility is a VA Mobile clinic, the "New facility" flag can be removed and the page archived with no further work needed. (Note, there are required fields that will need to be filled in before doing so.)** - [ ] If the editor has followed the steps from the above Knowledge Base article and included which section and VAMC the facility belongs to (i.e. VA Pittsburgh), great! - If not, please check with the editor or VHA digital media regarding what section and VAMC it belongs to. - [ ] Update the Section (default is "VAMC facilities", but it should be a VAMC system in a VISN) and VAMC system field accordingly. From 0e683c033a8a17e62e46a545ecc6dba808620bce Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Fri, 5 Jul 2024 14:26:27 -0500 Subject: [PATCH 08/11] [DOCS] Update runbook-vamc-facility-new.md --- .github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md index 0d25bfefca..216a0f72b0 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md +++ b/.github/ISSUE_TEMPLATE/runbook-vamc-facility-new.md @@ -61,7 +61,6 @@ Please let us know when your draft content is complete, so that we can wrap up t - [ ] Update the facility **Meta description** field, using the following format: "Get address and hours, parking and transportation information, and health services offered at [facility name]." - [ ] Move the facility link in the health care system menu to its place in the alphabetized list (medical centers first, then clinics). - [ ] Drupal Admin bulk publishes nodes and facility. -- [ ] Drupal Admin edit facility node and remove `New facility` flag and save node. - [ ] Contact Lighthouse via Slack at #cms-lighthouse channel that this facility requires a canonical link in the following format (replacing the placeholder data with the actual API Id and VA.gov URL): - `vha_691GM,https://www.va.gov/greater-los-angeles-health-care/locations/oxnard-va-clinic/` - [ ] Add the "Awaiting CSV" flag to the facility node with a revision log message that includes a link to this ticket. @@ -70,7 +69,7 @@ Please let us know when your draft content is complete, so that we can wrap up t #### Wait (days or weeks, potentially) - [ ] After the canonical link has been added to the websites.csv and you have confirmation from Lighthouse that the CSV has been deployed, validate that the change has deployed by checking that the Facility Locator has been updated with the new url. - [ ] Update this ticket with a comment that the CSV change has been deployed. -- [ ] Remove the "Awaiting CSV" flag to the facility node with a revision log message that includes a link to this ticket. +- [ ] Edit facility node and remove `New facility` and "Awaiting CSV" flags with a revision log message that includes a link to this ticket. #### CMS Help desk (wrap up) - [ ] Notify editor and any other stakeholders. From 43a1965b85a44d1d97af5ea7e27618c3037a5a84 Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Fri, 5 Jul 2024 14:28:07 -0500 Subject: [PATCH 09/11] [DOCS] Update runbook-vet-center-new.md --- .../ISSUE_TEMPLATE/runbook-vet-center-new.md | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md b/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md index abdf025fe3..ccf5c93b6b 100644 --- a/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md +++ b/.github/ISSUE_TEMPLATE/runbook-vet-center-new.md @@ -53,15 +53,23 @@ Facility API ID: - [ ] Check with Readjustment Counseling Services to (1) confirm what district the Vet Center belongs, (2) identify the Vet Center Director and Outreach Specialist (names/email addresses), (3) confirm the new location isn't a replacement for an existing Outstation - [ ] In [Sections taxonomy](https://prod.cms.va.gov/admin/structure/taxonomy/manage/administration/overview), move the Vet Center Section to the appropriate district. - [ ] Create account access as directed by RCS. If editors are new to Drupal, create accounts with editor rights only for Vet Center Director and Outreach Specialist so that they cannot publish on their own. -- [ ] 5. Contact Vet Center Director and Outreach specialist to onboard for training [@TODO write sample email - SEE runbook-vamc-facility-new] **Note: this should include instructions for adding content and preparing for publishing and RCS Central Office should be included as CC** -- [ ] 6. Add flag `Awaiting editor` to this facility. Note: This is now blocked until RCS Central office approves. -- [ ] 7. **Once approved by RCS Central Office as complete, proceed to Drupal Admin publishing steps** +- [ ] Contact Vet Center Director and Outreach specialist to onboard for training [@TODO write sample email - SEE runbook-vamc-facility-new] **Note: this should include instructions for adding content and preparing for publishing and RCS Central Office should be included as CC** +- [ ] Add flag `Awaiting editor` to this facility. Note: This is now blocked until RCS Central office approves. +- [ ] **Once approved by RCS Central Office as complete, proceed to Drupal Admin publishing steps** **Drupal Admin steps** -- [ ] 8. Bulk publish the nodes and facility. -- [ ] 9. Edit the facility node: remove the `New facility` and `Awaiting editor` flags, save the node. -- [ ] 10. Let Help desk know this has been done. +- [ ] Bulk publish the nodes and facility. +- [ ] Contact Lighthouse via Slack at #cms-lighthouse channel that this facility requires a canonical link in the following format (replacing the placeholder data with the actual API Id and VA.gov URL): + - `vha_691GM,https://www.va.gov/greater-los-angeles-health-care/locations/oxnard-va-clinic/` +- [ ] Add the "Awaiting CSV" flag to the facility node with a revision log message that includes a link to this ticket. +- [ ] Let Help desk know this has been done, if not done by Help desk. + +#### Wait (days or weeks, potentially) +- [ ] After the canonical link has been added to the websites.csv and you have confirmation from Lighthouse that the CSV has been deployed, validate that the change has deployed by checking that the Facility Locator has been updated with the new url. +- [ ] Update this ticket with a comment that the CSV change has been deployed. +- [ ] Edit facility node and remove `New facility` and "Awaiting CSV" flags with a revision log message that includes a link to this ticket. +- [ ] Let Help desk know this has been done, if not done by Help desk. #### CMS Help desk (wrap up) - [ ] 11. Upgrade the Vet Center Director and Outreach Specialist accounts to the publisher role for that Vet Center. From 4c36d789edc91986742093792eea93110ff35957 Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Fri, 5 Jul 2024 15:39:30 -0500 Subject: [PATCH 10/11] [DOCS] Update runbook-facility-url-change.md --- .../runbook-facility-url-change.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md b/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md index 2d7c59dcc7..d273beb305 100644 --- a/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md +++ b/.github/ISSUE_TEMPLATE/runbook-facility-url-change.md @@ -16,12 +16,12 @@ When does this request need to be live: (Note: This issue will be used from initial request through implementation to ensure all individuals working on this are notified of status updates. Please do not create multiple issues to track different steps.) - [ ] Notify VA stakeholders as appropriate. - [ ] 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` +- [ ] Create a URL redirect in the [vsp-platform-revproxy](https://github.com/department-of-veterans-affairs/vsp-platform-revproxy) repo in `template-rendering/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 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. +- [ ] Notify helpdesk via comment on ticket or Slack message in #cms-support that changes are ready for review. #### URL Redirect | Current URL | Redirect Destination or New URL | @@ -29,32 +29,32 @@ When does this request need to be live: | current URL | new URL | ## Use one of the following: -### 1. Canonical URL change or -### 2. Canonical URL removal (if removed from VAST) +### 1. Canonical URL change + **Note: Canonical URL changes do not block the completion of the parent ticket. Once the URL redirect above has been deployed, the value to the Veteran is delivered. This ticket should be kept open until the URL change is verified, except in the case of a removal (as described below).** ### Instructions for canonical URL change - [ ] Verify that the new URL for the facility is published and accessible on VA.gov. -- [ ] Update the [CSV in Lighthouse](https://github.com/department-of-veterans-affairs/lighthouse-facilities/blob/master/facilities/src/main/resources/websites.csv) with the changed URL, maintaining the sorted order of the Facility API IDs. -- [ ] Create a PR in the [lighthouse-facilities repo](https://github.com/department-of-veterans-affairs/lighthouse-facilities), tagging the Lighthouse team. -- [ ] Post a message in the #cms-lighthouse channel in Slack, with an @mention to a Lighthouse team member. +- [ ] Contact Lighthouse via Slack at #cms-lighthouse channel that this facility requires a canonical link in the following format (replacing the placeholder data with the actual API Id and VA.gov URL): + - `vha_691GM,https://www.va.gov/greater-los-angeles-health-care/locations/oxnard-va-clinic/` - [ ] Add the "Awaiting CSV" flag to the facility node with a revision log message that includes a link to this ticket. -- [ ] Validate that the change has deployed by checking that the Facility Locator has been updated with the new url. -- [ ] Update this ticket with a comment that the CSV change has been deployed. -- [ ] Remove the "Awaiting CSV" flag to the facility node with a revision log message that includes a link to this ticket. - +- [ ] Let Help desk know this has been done, if not done by Help desk. +#### Wait (days or weeks, potentially) +- [ ] After the canonical link has been added to the websites.csv and you have confirmation from Lighthouse that the CSV has been deployed, validate that the change has deployed by checking that the Facility Locator has been updated with the new url. +- [ ] Update this ticket with a comment that the CSV change has been deployed. #### URL change example (update with actual ID and URL) | Facility API ID | Full VA.gov URL | | --- | --- | | vha_691GM | https://www.va.gov/greater-los-angeles-health-care/locations/oxnard-va-clinic/ | +### 2. Canonical URL removal (if removed from VAST) ### Instructions for canonical URL removal - [ ] Try to find the facility via the Facility Locator, using the Facility API ID (e.g. https://va.gov/find-locations/facility/"facility_api_id"). If it is not available, proceed. -- [ ] Update the [CSV in Lighthouse](https://github.com/department-of-veterans-affairs/lighthouse-facilities/blob/master/facilities/src/main/resources/websites.csv) removing the row with the Facility API ID. -- [ ] Create a PR in the [lighthouse-facilities repo](https://github.com/department-of-veterans-affairs/lighthouse-facilities), tagging the Lighthouse team. -- [ ] Post a message in the #cms-lighthouse channel in Slack, with an @mention to a Lighthouse team member. +- [ ] Contact Lighthouse via Slack at #cms-lighthouse channel that this facility requires a canonical link to be removed in the following format (replacing the placeholder data with the actual API Id and VA.gov URL): + - `vha_691GM,https://www.va.gov/greater-los-angeles-health-care/locations/oxnard-va-clinic/` + **Note: there's no check to see if it's not returning anything, as it should already be not showing anything in the Facility Locator.** #### URL removal example (update with actual ID and URL to remove) From de3a8d9274261cd2e595087f70b720c07a505580 Mon Sep 17 00:00:00 2001 From: Amanda Nantais-Austin Date: Mon, 8 Jul 2024 13:23:42 -0400 Subject: [PATCH 11/11] VACMS-18306: Upgraded Drupal diff and fixed two patches. (#18472) Co-authored-by: Tim Cosgrove --- composer.json | 4 ++-- composer.lock | 38 +++++++++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index 55c2569640..afc6f334ae 100644 --- a/composer.json +++ b/composer.json @@ -409,8 +409,8 @@ "3111456 - Unable to resolve path on node in other language than default": "https://www.drupal.org/files/issues/2022-12-01/decouple_router-3111456-resolve-language-issue-58--get-translation.patch" }, "drupal/diff": { - "3228798 - Make revisions overview page accessible": "https://www.drupal.org/files/issues/2022-01-21/diff-a11y-3228798-15.patch", - "2834253 - Missing column headings in Revisions list": "https://www.drupal.org/files/issues/2021-08-19/diff-missing-column-headers-2834253-15.patch" + "3228798 - Make revisions overview page accessible": "https://www.drupal.org/files/issues/2024-05-14/diff-3228798-17.patch", + "2834253 - Missing column headings in Revisions list": "https://www.drupal.org/files/issues/2024-05-09/diff-missing_column_headers-2834253-23.patch" }, "drupal/entity_browser": { "2856138 - Entity browser cardinality validation": "https://www.drupal.org/files/issues/0001-Issue-2856138-by-gordon-Error-messages-are-not-being.patch", diff --git a/composer.lock b/composer.lock index 8e802248ed..6fb6683832 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": "d4a8e6fee6064073a5f736e456c263c9", + "content-hash": "bc01a325471df223b116eb6cced175e2", "packages": [ { "name": "asm89/stack-cors", @@ -4825,27 +4825,38 @@ }, { "name": "drupal/diff", - "version": "1.1.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/diff.git", - "reference": "8.x-1.1" + "reference": "8.x-1.7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "b7558b0f431d5945289829946e0beba61bf7ae18" + "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.7.zip", + "reference": "8.x-1.7", + "shasum": "d282bdf3350ac71f95b38576a9f397bdbab8d249" }, "require": { - "drupal/core": "^9.3 || ^10", - "mkalkbrenner/php-htmldiff-advanced": "~0.0.8" + "drupal/core": "^10 || ^11", + "mkalkbrenner/php-htmldiff-advanced": "~0.0.8", + "php": "^8.1" + }, + "require-dev": { + "jangregor/phpstan-prophecy": "dev-master", + "mglaman/phpstan-drupal": "^1.2.10", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "*", + "phpstan/phpstan-phpunit": "1.4.x-dev", + "phpstan/phpstan-strict-rules": "^1@stable", + "previousnext/coding-standard": "^1" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1665437355", + "version": "8.x-1.7", + "datestamp": "1718073570", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4882,6 +4893,11 @@ "homepage": "https://www.drupal.org/u/realityloop", "role": "Maintainer" }, + { + "name": "Adam Bramley (acbramley)", + "homepage": "https://www.drupal.org/u/acbramley", + "role": "Maintainer" + }, { "name": "lhangea", "homepage": "https://www.drupal.org/user/2743803" @@ -4910,7 +4926,7 @@ "description": "Compares two entity revisions", "homepage": "https://www.drupal.org/project/diff", "support": { - "source": "http://cgit.drupalcode.org/diff", + "source": "https://git.drupalcode.org/project/diff", "issues": "https://www.drupal.org/project/issues/diff" } },