Skip to content

Commit

Permalink
Merge branch 'main' into VACMS-15515-metatag-2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tjheffner authored Nov 9, 2023
2 parents 6e94e8a + ba007a6 commit 9f1605e
Show file tree
Hide file tree
Showing 93 changed files with 1,851 additions and 1,010 deletions.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/research-conversation-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Research Conversation Guide
about: Use this template when you are drafting a conversation guide
title: Draft [PRODUCT/INITIATIVE] conversation guide
labels: UX, Research
assignees: ''

---

## Description

### User story
**AS A** Researcher
**I WANT** to document the details for conducting [PRODUCT/INITIATIVE] research
**SO THAT** the research will achieve the stated goals and answer the research questions

### Templates

Use the appropriate template for the group you're conducting research with:
- [Editor-facing Conversation Guide Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/research/editor-moderation-guide.md)
- [Veteran-facing Conversation Guide Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/research/planning/conversation-guide-template.md)

## Suggested workflow/tasks:
- [ ] Brainstorm potential tasks
- [ ] Create initial draft of conversation guide
- [ ] Solicit review/feedback from Sitewide UX Lead
- [ ] Solicit review/feedback from Product Manager (PM) and/or other team members
- [ ] Solicit review/feedback from VA Product Owner (PO) async or in a meeting w/PM
- [ ] Test prototype(s) with conversation guide and align
- [ ] Post on github in project research folder for final approval before submitting to Research Review cycle

## Acceptance Criteria
- [ ] Conversation guide drafted
- [ ] Feedback incorporated from Sitewide UX Lead
- [ ] Feedback incorporated from PM and/or other team members
- [ ] Feedback incorporated from VA PO
- [ ] Conversation guide aligns with prototype(s)
- [ ] Conversation guide posted on github in project research folder
- [ ] Final approval obtained from VA PO and documented at the bottom of the file in preparation for Research Review cycle
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/research-discovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Research Discovery
about: Use this template when exploring if research is needed/viable
title: Discovery for [PRODUCT/INITIATIVE] research
labels: UX, Research
assignees: ''

---

## Description

Research Discovery is a time to establish the fundamental approach for a research initiative. Possible tasks may include:

**What do we want to know?**
- [ ] Align with Product Manager & Product Owner on the high-level purpose and scope of the research
- [ ] Review Product outline to understand background context
- [ ] Draft big picture research questions

**Has anyone else researched this before?**
- [ ] Review previous research on this Product (if available)
- [ ] Review Research Repo for previous relevant research from other teams
- [ ] Summarize findings from research review

**How might we learn more?**
- [ ] Consider methodologies - do we have the right tools to build a useful prototype?
- [ ] Consider participants - do we have access to the right users?
- [ ] Consider timeline - how long will this take? how much time do we have?

## Acceptance Criteria
- [ ] High-level scope of research is drafted and agreed upon
- [ ] Subsequent tickets are created

Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
---
name: Research Plan and Conversation Guide
about: Use this template when you are drafting a research plan & conversation guide
title: Draft [PRODUCT/INITIATIVE] Research Plan & Conversation Guide
name: Research Plan
about: Use this template when you are drafting a research plan
title: Draft [PRODUCT/INITIATIVE] research plan
labels: UX, Research
assignees: ''

---

## Description

Use the appropriate templates for the type of research you are conducting:
DEMO Use the appropriate templates for the type of research you are conducting:
- [Editor-facing Research Plan Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/research/sitewide-cms-editor-research-plan-template.md)
- [Editor-facing Conversation Guide Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/cms/research/editor-moderation-guide.md)
- [Veteran-facing Research Plan Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/research/research-plan-template.md)
- [Veteran-facing Conversation Guide Template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/research/planning/conversation-guide-template.md)

Suggested workflow:
- [ ] Create your initial drafts in Sharepoint for collaborative editing
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
name: Research Recruitment and Scheduling
about: Use this template when recruting and scheduling participants for a research
study
title: Recruit and schedule participants for [PRODUCT/INITIATIVE] research
labels: Design, Research
name: Research Prep Tasks
about: Use this template when prepping for a research study
title: Prep for [PRODUCT/INITIATIVE] research
labels: UX, Research
assignees: ''

---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
name: Research Readout and Documentation
about: Use this template when reporting your research via readouts and documentation.
title: Conduct [PRODUCT/INITIATIVE] Research Readout and Document Findings in Research
Repository
name: Research Readout and Post-Research tasks
about: Use this template when sharing your research via readouts and doing final clean-up tasks.
title: Conduct [PRODUCT/INITIATIVE] research readout and complete post-research tasks
labels: Research, UX
assignees: ''

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/research-sessions.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Research Sessions
about: Use this template when you are conducting research session
title: Conduct [PRODUCT/INITIATIVE] Research Sessions
title: Conduct [PRODUCT/INITIATIVE] research sessions
labels: UX, Research
assignees: ''

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
name: Research Synthesis and Topline Summary
about: Use this template when synthesizing your research and reporting the topline
findings.
title: Synthesize [PRODUCT/INITIATIVE] Research & Create Topline Summary
name: Research Synthesis and Reporting
about: Use this template when synthesizing your research and reporting the topline findings.
title: Synthesize [PRODUCT/INITIATIVE] research & create Topline Summary
labels: Research, UX
assignees: ''

Expand Down
21 changes: 10 additions & 11 deletions .github/ISSUE_TEMPLATE/runbook---ux-research.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,20 @@ assignees: ''

## Description

Here are the steps to follow when setting up a new UX research process:
**Pre-work**
- [ ] Align with Product Manager & Product Owner on the high-level purpose and scope of the research
- [ ] Review Research Repo for previous relevant research
- [ ] Read and understand [Platform's Research Guidleines](https://depo-platform-documentation.scrollhelp.site/research-design/). This runbook is meant help reduce time creating tickets, not to replace or overrule those guidelines.
Here are the steps to follow when setting up a new UX research epic:

**Setting up your Research Epic**
- [ ] Read and understand [Platform's Research Guidleines](https://depo-platform-documentation.scrollhelp.site/research-design/). This runbook is meant help reduce time creating tickets, not to replace or overrule those guidelines.
- [ ] Create a Research [Epic](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=Epic%2C+Needs+refining&template=cms-epic.md&title=%3CInsert+summary+of+epic%3E) for your product/initiative
- [ ] Create a Research Folder following [Platform's Research guidance](https://depo-platform-documentation.scrollhelp.site/research-design/research-checklist#ResearchChecklist-1.Planningforresearch)
- [ ] Create a [Research Plan & Conversation Guide](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-plan-and-conversation-guide.md&title=Draft+%5BPRODUCT%2FINITIATIVE%5D+Research+Plan+%26+Conversation+Guide) issue
- [ ] Create a [Research Review Cycle](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-review-cycle.md&title=Conduct+%5BPRODUCT%2FINITIATIVE%5D+Research+Review+Cycle) issue
- [ ] Create a [Research Recruitment & Scheduling](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-recruitment-and-scheduling.md&title=Recruit+and+schedule+participants+for+%5BPRODUCT%2FINITIATIVE%5D+research) issue
- [ ] Create a [Research Sessions](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-sessions.md&title=Conduct+%5BPRODUCT%2FINITIATIVE%5D+Research+Sessions) issue
- [ ] Create a [Research Synthesis & Topline Summary](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-synthesis-and-topline-report.md&title=Synthesize+%5BPRODUCT%2FINITIATIVE%5D+Research+%26+Create+Topline+Summary) issue
- [ ] Create a [Research Readout & Documentation](https://github.com/department-of-veterans-affairs/va.gov-cms/issues/new?assignees=&labels=UX%2C+Research&template=research-readout-and-documentation.md&title=Conduct+%5BPRODUCT%2FINITIATIVE%5D+Research+Readout+and+Document+Findings+in+Research+Repository) issue
- [ ] Create a [Research Discovery](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Plan](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Conversation Guide](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Review Cycle](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Prep](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Sessions](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Synthesis & Reporting](ADD LINK AS LAST STEP) issue
- [ ] Create a [Research Readout & Post-tasks](ADD LINK AS LAST STEP) issue
- [ ] Add all the above issues to the Research Epic and add dependencies

## Acceptance Criteria
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,9 @@ datadog-setup.php

# Ignore Next (next-build)
next
# Ignore oauth keys used for validating next-build preview api requests
public.key
private.key

# Temporary .deb packages
*.deb
Expand Down
16 changes: 14 additions & 2 deletions .tugboat/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@ services:
- cp "${TUGBOAT_ROOT}"/.tugboat/*.crt /usr/local/share/ca-certificates
- update-ca-certificates

# Write OAuth keys to files for next-build Preview Server validation
- echo "${OAUTH_PUBLIC_KEY}" >> ${TUGBOAT_ROOT}/public.key
- echo "${OAUTH_PRIVATE_KEY}" >> ${TUGBOAT_ROOT}/private.key

# Install drush-launcher, if desired.
- wget -O /usr/local/bin/drush https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar
- chmod +x /usr/local/bin/drush
Expand Down Expand Up @@ -233,9 +237,17 @@ services:
- find -L "${DOCROOT}/vendor/va-gov/content-build/node_modules/.bin" -type f -exec chmod +x {} \+
- find "${DOCROOT}/vendor/va-gov/content-build/script" -type f -exec chmod +x {} \+

# Build storybook and the frontends in parallel
# Put necessary env variables in place for next's Drupal Preview before building server
# Need to construct this way instead of TUGBOAT_DEFAULT_SERVICE_URL in order to drop the trailing /
- echo "NEXT_PUBLIC_DRUPAL_BASE_URL=https://cms-${TUGBOAT_SERVICE_TOKEN}.${TUGBOAT_SERVICE_CONFIG_DOMAIN}" >> ${TUGBOAT_ROOT}/next/envs/.env.tugboat
- echo "NEXT_IMAGE_DOMAIN=https://cms-${TUGBOAT_SERVICE_TOKEN}.${TUGBOAT_SERVICE_CONFIG_DOMAIN}" >> ${TUGBOAT_ROOT}/next/envs/.env.tugboat
- echo "DRUPAL_CLIENT_ID=${DRUPAL_CLIENT_ID}" >> ${TUGBOAT_ROOT}/next/envs/.env.tugboat
- echo "DRUPAL_CLIENT_SECRET=${DRUPAL_CLIENT_SECRET}" >> ${TUGBOAT_ROOT}/next/envs/.env.tugboat

# Build storybook and the frontends (web, next) in parallel
- bash -lc 'time task --taskfile=tugboat.yml'
# Build next build server

# Start the next build server
- bash -lc 'composer va:next:start'

memcache:
Expand Down
23 changes: 21 additions & 2 deletions READMES/drush.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ See [SiteStatusCommands.php](../docroot/modules/custom/va_gov_build_trigger/src/

### Content Release

There is a gradual migration taking place from the existing system to a refactored version intended to decouple behavior from environment, accomodate multiple frontends, etc.

#### Current

The current system's commands mostly relate to continuous builds and management of the content release state machine:

See [ContentReleaseCommands.php](../docroot/modules/custom/va_gov_build_trigger/src/Commands/ContentReleaseCommands.php).

- `va-gov:content-release:advance-state` -- Advance the state like an external system would do through HTTP.
Expand All @@ -22,19 +28,32 @@ See [ContentReleaseCommands.php](../docroot/modules/custom/va_gov_build_trigger/
- `va-gov:content-release:get-frontend-version` -- Get the frontend version that was requested by the user.
- `va-gov:content-release:get-state` -- Get the current release state.
- `va-gov:content-release:is-continuous-release-enabled` -- Check continuous release state.
- `va-gov:content-release:request-frontend-build` -- Request a frontend build (but do not initiate it).
- `va-gov:content-release:reset-frontend-version` -- Reset the content release frontend version.
- `va-gov:content-release:reset-state` -- Reset the content release state.
- `va-gov:content-release:toggle-continuous` -- Toggle continuous release.

#### New

Housed in the new system:

See [RequestCommands.php](../docroot/modules/custom/va_gov_content_release/src/Commands/RequestCommands.php).

- `va-gov-content-release:request:submit` -- Request a frontend build (but do not initiate it).

See [FrontendVersionCommands.php](../docroot/modules/custom/va_gov_content_release/src/Commands/FrontendVersionCommands.php).

- `va-gov-content-release:frontend-version:get` -- Get the currently selected version of the selected frontend (defaults to `content_build`).
- `va-gov-content-release:frontend-version:reset` -- Reset (to default, or `main`) the currently selected version of the selected frontend (defaults to `content_build`).
- `va-gov-content-release:frontend-version:set` -- Set the currently selected version of the selected frontend (defaults to `content_build`).

### Metrics

See [MetricsCommands.php](../docroot/modules/custom/va_gov_backend/src/Commands/MetricsCommands.php).

- `va-gov:metrics:send` -- Send various application metrics to DataDog.


### Outdated Content

See
[CMS Notification System](https://github.com/department-of-veterans-affairs/va.gov-cms/tree/main/docroot/modules/custom/va_gov_notifications/README.md) for commands to test or
execute the various outdated content sends.
10 changes: 5 additions & 5 deletions composer.lock
Original file line number Diff line number Diff line change
Expand Up @@ -18395,16 +18395,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.10.40",
"version": "1.10.41",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d"
"reference": "c6174523c2a69231df55bdc65b61655e72876d76"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/93c84b5bf7669920d823631e39904d69b9c7dc5d",
"reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76",
"reference": "c6174523c2a69231df55bdc65b61655e72876d76",
"shasum": ""
},
"require": {
Expand Down Expand Up @@ -18453,7 +18453,7 @@
"type": "tidelift"
}
],
"time": "2023-10-30T14:48:31+00:00"
"time": "2023-11-05T12:57:57+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
Expand Down
11 changes: 11 additions & 0 deletions config/sync/next.next_site.next_build_preview_server.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
uuid: 75dd1bfb-8507-4981-90b6-3830400e1434
langcode: en
status: true
dependencies: { }
id: next_build_preview_server
label: 'Next Build Preview Server'
base_url: 'http://localhost:3000'
preview_url: 'http://localhost:3000/api/preview'
preview_secret: secret
revalidate_url: ''
revalidate_secret: ''
4 changes: 4 additions & 0 deletions config/sync/next.settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@ site_previewer_configuration:
width: 100%
sync_route: false
sync_route_skip_routes: ''
preview_url_generator: simple_oauth
preview_url_generator_configuration:
secret_expiration: 300
debug: false
4 changes: 3 additions & 1 deletion config/sync/simple_oauth.settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ _core:
access_token_expiration: 300
authorization_code_expiration: 300
refresh_token_expiration: 1209600
remember_clients: true
token_cron_batch_size: 0
public_key: ../public.key
private_key: ../private.key
remember_clients: true
use_implicit: false
disable_openid_connect: false
11 changes: 9 additions & 2 deletions config/sync/user.role.next_js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,24 @@ langcode: en
status: true
dependencies:
module:
- content_moderation
- media
- node
- subrequests
- system
- va_gov_backend
third_party_settings:
va_gov_backend:
vgb_description: 'Role for Next.js JSON API data access.'
id: next_js
label: Next.js
weight: 8
weight: 7
is_admin: null
permissions:
- 'access content'
- 'access user profiles'
- 'bypass node access'
- 'issue subrequests'
- 'view all revisions'
- 'view any unpublished content'
- 'view latest version'
- 'view media'
2 changes: 1 addition & 1 deletion cypress.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const path = require("path");
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)

const BASE_URL = "http://va-gov-cms.ddev.site";
const BASE_URL = process.env.BASE_URL || "https://va-gov-cms.ddev.site";

async function setupNodeEvents(on, config) {
// This is required for the preprocessor to be able to generate JSON reports after each run, and more,
Expand Down
Loading

0 comments on commit 9f1605e

Please sign in to comment.