Skip to content

Commit fbcb234

Browse files
authored
Documentation updates (#16253)
* Update Readmes Fix some broken links * Update documentation * Update recommendations regarding forks vs branches * Add links to some orphan docs * Update documentation * Update * Move docs to vagov-team * Move two files back * Revert "Move docs to vagov-team" This reverts commit fede8a7b05b74fca286d750d515b774a72679576.
1 parent 31f735d commit fbcb234

15 files changed

+75
-68
lines changed

README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# VA.gov CMS
22

3-
This is the public/open documentation for the VA.gov Content Management System (CMS). The private/sensitive documentation is [here](https://github.com/department-of-veterans-affairs/va.gov-team-sensitive/tree/master/platform/cms). See [sensitive-guidance.md](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/policies-work-norms/sensitive-guidance.md) to read about what should be public vs. private. We follow the U.S. Digital Services Playbook and [default to open/public](https://playbook.cio.gov/#play13)).
3+
This is the public/open documentation for the VA.gov Content Management System (CMS) for development, QA and DevOps topics. For product, design, support, research and cross-team documentation, visit the [platform/cms docs](https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/platform/cms). For private/sensitive documentation, visit the [private docs repo](https://github.com/department-of-veterans-affairs/va.gov-team-sensitive/tree/master/platform/cms). See [sensitive-guidance.md](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/policies-work-norms/sensitive-guidance.md) to read about what should be public vs. private. We follow the U.S. Digital Services Playbook and [default to open/public](https://playbook.cio.gov/#play13)).
44

55
[VA.gov](https://www.va.gov) is constructed at the highest level by three projects:
66
- the **CMS** or **Content Management System**, in this repository
@@ -29,6 +29,7 @@ The VA.gov CMS Team
2929
1. [WEB & CMS Integration](READMES/unity.md)
3030
1. [Workflow](READMES/workflow.md)
3131
1. [Project Conventions](READMES/project-conventions.md)
32+
1. [Code Ownership](READMES/codeowners.md)
3233
1. [Environments](READMES/environments.md)
3334
1. [CI Environments](READMES/tugboat.md)
3435
1. [Local - DDEV](READMES/local.md)
@@ -45,26 +46,31 @@ The VA.gov CMS Team
4546
1. [Code Review](READMES/code-review.md)
4647
1. [Testing](READMES/testing.md)
4748
1. [Debugging](READMES/debugging.md)
48-
1. [Comparing GraphQL Output](READMES/graph_ql.md)
49+
1. [Comparing GraphQL Output](READMES/comparing-graphql-output.md)
50+
1. [Dependabot Alerts](READMES/dependabot-alerts.md)
4951
1. [Dependabot Updates](READMES/dependabot-updates.md)
52+
1. [Sentry](READMES/sentry.md)
53+
1. [Profiling with Blackfire](READMES/blackfire.md)
54+
1. [Scalability Testing](READMES/scalability-testing.md)
5055
1. **Release & Deployment**
5156
1. [The BRD System: Build, Release, Deploy](READMES/brd.md)
5257
1. [CMS Release Process](READMES/brd.md#cms-release-process)
5358
1. [CMS-CI Release Process (TODO)](READMES/brd.md#cmsci-release-process)
5459
1. **Architecture**
55-
1. Overview
5660
1. Drupal
5761
1. [Memcache](READMES/drupal-memcache.md)
5862
1. [Content Models and Documentation](READMES/content-models.md)
5963
1. [Centralized Content](READMES/content-model-centralized-content.md)
6064
1. MetalSmith
65+
1. [GraphQL](READMES/graph_ql.md)
6166
1. [Interfaces](READMES/interfaces.md) - APIs and Feature Flag
6267
1. Migrations (data imports)
6368
1. [Facility](READMES/migrations-facility.md)
6469
1. [Form](READMES/migrations-forms.md)
70+
1. [Removing deprecated fields](READMES/remove-deprecated-fields.md)
6571
1. [Security](READMES/security.md)
6672
1. [Upstream Dependencies](READMES/upstream-dependencies.md)
67-
1. [Downstream Dependencies](READMES/downstream-dependencies.md)
73+
1. [Downstream Dependencies](READMES/downstream_dependencies.md)
6874
1. **CMS Users**
6975
1. [Login / SSOi](READMES/cms-login.md)
7076
2. [CMS User Notification Systems](READMES/cms-editor-notifications.md)
@@ -138,6 +144,7 @@ This section outlines only the systems utilized by the CMS. See the READMEs in t
138144
- A single "mirror" environment is regularly populated with a sanitized production database copy.
139145
- Open Pull Requests get environments created automatically, cloned from the "mirror" environment, with URLs like:
140146
- [pr123-{hash}.ci.cms.va.gov](https://pr123-{hash}.ci.cms.va.gov) for the CMS
147+
- Cypress test logs and artifacts, see [Testing](READMES/testing.md) for details.
141148
- [web-{hash}.ci.cms.va.gov](http://web-{hash}.ci.cms.va.gov) for the frontend web build
142149
- [storybook-{hash}.ci.cms.va.gov](http://storybook-{hash}.ci.cms.va.gov) for design system documentation
143150
- Ad-hoc environments can be created and deleted at any time by any logged in user on [tugboat.vfs.va.gov/](https://tugboat.vfs.va.gov/):

READMES/alerts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
CMS Alerts are managed by [Sentry](https://sentry.vfs.va.gov/) and [DataDog](https://vagov.ddog-gov.com/).
66

7-
Runtime issues are reported to Sentry via the Raven module.
7+
[Runtime issues](READMES/sentry.md) are reported to Sentry via the Raven module.
88

99
Various metrics in the CI/CD phases and at runtime are reported to DataDog.
1010

READMES/blackfire.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ are used by PHP applications. It can be used to measure the performance of a
55
specific bit of code or an entire request. This allows us to measure the
66
performance impact of a code or platform change and debug performance issues.
77

8-
See also:
8+
See also:
99
* https://ddev.readthedocs.io/en/latest/users/debugging-profiling/blackfire-profiling
1010
* https://blackfire.io/docs/integrations/paas/ddev
1111
* https://blackfire.io/docs/up-and-running/installation (install instructions for non-DDEV environments)
@@ -69,9 +69,6 @@ Memory 3.62MB
6969
Network n/a n/a n/a
7070
SQL 1.72ms 5rq
7171
```
72-
## Credits
73-
74-
The `blackfire-init.sh` script is based on [this gist](https://gist.github.com/tylerssn/8923149702d4a796c5e103412c2370c3) by @tylerssn.
7572
7673
----
7774

READMES/codeowners.md

+4
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ The important ideas are:
2727
6. Viewing the CODEOWNERS file in GitHub should provide debugging information.
2828

2929
As with everything else in this project, CODEOWNERS is subject to continual refinement and development. Please raise issues and suggest improvements where appropriate.
30+
31+
----
32+
33+
[Table of Contents](../README.md)

READMES/comparing-graphql-output.md

+4
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,7 @@ jq -S '.data.nodeQuery.entities|=sort_by(.entityId)' pages2.json > pages3.json
5050
```
5151

5252
After processing both the "before" and "after" `pages.json` in this way, diffing the two should yield a far more useful visualization of the changes.
53+
54+
----
55+
56+
[Table of Contents](../README.md)

READMES/getting-started.md

+18-37
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,12 @@ See [the Codespaces README](./codespaces.md) to get a fully functional cloud-bas
1313

1414
## Step 1: Get Source Code / Git Setup
1515

16-
- Fork the repo by pressing the "Fork" button: [github.com/department-of-veterans-affairs/va.gov-cms](https://github.com/department-of-veterans-affairs/va.gov-cms)
17-
- Clone your fork.
16+
- Clone the repo: [github.com/department-of-veterans-affairs/va.gov-cms](https://github.com/department-of-veterans-affairs/va.gov-cms)
1817
```sh
19-
$ git clone [email protected]:YOUR-GITHUB-USERNAME/va.gov-cms.git
18+
$ git clone [email protected]:department-of-veterans-affairs/va.gov-cms.git
2019
$ cd va.gov-cms
2120
```
2221

23-
* Add upstream repo (Recommended):
24-
25-
```sh
26-
$ git remote add upstream [email protected]:department-of-veterans-affairs/va.gov-cms.git
27-
```
28-
* Optionally rename your fork so its name is more meaningful and ensures your upstream and origin are not misnamed.
29-
```sh
30-
$ git remote rename origin myfork
31-
```
32-
* Verify your remotes, it should list upstream and myfork/origin as remotes.
33-
```sh
34-
$ git remote -v
35-
36-
myfork [email protected]:YOUR_GIT_USERNAME/va.gov-cms.git (fetch)
37-
myfork [email protected]:YOUR_GIT_USERNAME/va.gov-cms.git (push)
38-
upstream [email protected]:department-of-veterans-affairs/va.gov-cms.git (fetch)
39-
upstream [email protected]:department-of-veterans-affairs/va.gov-cms.git (push)
40-
```
4122
* Make sure your local repo is aware of what's on the remotes.
4223
```sh
4324
$ git fetch --all
@@ -55,35 +36,35 @@ See [the Codespaces README](./codespaces.md) to get a fully functional cloud-bas
5536
$ git config --global branch.main.rebase true
5637
```
5738

58-
* Make branch main always pulls from the remote: upstream.
59-
```sh
60-
$ git checkout main
61-
$ git branch --set-upstream-to upstream/main
62-
```
63-
6439
* Make changes to simplesaml storage not be tracked locally.
6540

6641
```sh
6742
git update-index --skip-worktree samlsessiondb.sq3
6843
```
6944

70-
You should periodically update your branch from `upstream main` branch:
45+
You should periodically update your branch from `origin main` branch. This will rebase your current branch on top of new commits in main:
7146

7247
```sh
73-
$ git pull upstream main
48+
$ git pull origin main
7449
```
7550

7651
## Step 2: Launch development environment
7752

78-
1. [Install ddev](https://ddev.readthedocs.io/en/stable/#installation)
79-
2. Change into the project directory and run `ddev start`:
53+
1. Set ddev environment variables:
8054

81-
```bash
82-
$ cd va.gov-cms
83-
$ ddev start
84-
```
55+
```bash
56+
$ cd va.gov-cms
57+
$ cp .env.example .env
58+
```
59+
60+
2. [Install ddev](https://ddev.readthedocs.io/en/stable/#installation)
61+
3. Change into the project directory and run `ddev start`:
62+
63+
```bash
64+
$ ddev start
65+
```
8566

86-
The `ddev start` command will include the `composer install` command.
67+
The `ddev start` command will include the `composer install` command. Ensure that a CMS account is created and [Step 3](#step-3-sync-your-local-site-with-production-data) is run to sync login information before logging into the local CMS environment.
8768

8869
See [Environments: Local](./local.md) for more information on ddev.
8970

@@ -96,7 +77,7 @@ correct locations in your local development environment.
9677

9778
- `ddev pull va ` or `ddev pull va --skip-files`
9879

99-
NOTE: This command downloads and impoorts the db followed by any configuration import.
80+
NOTE: This command downloads and imports the db followed by any configuration import.
10081

10182
If you are not using ddev, the scripts will
10283
fail, but the files will still be available. The `sync-db.sh` script downloads the

READMES/github-workflows.md

+4
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@ Please follow the following guidelines:
2323
- If you need to check that a given workflow or action still triggers as expected, consider running the scripts `scripts/create-bad-test-files.sh` and `scripts/delete-bad-test-files.sh` to respectively create and delete files that can be used to test lints and checks.
2424

2525
See ["Security hardening for GitHub Actions"](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions) for more details concerning GitHub Actions and security.
26+
27+
----
28+
29+
[Table of Contents](../README.md)
File renamed without changes.

READMES/https.md

+15-9
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,21 @@ If you see a message from your browser like the following:
1414

1515
Click the "^" button and select "Keep."
1616

17-
### OSX
18-
1. Open Keychain Access
19-
1. Go to Certificates (under Category in left sidebar)
20-
2. Select "System" under Keychains (in sidebar)
21-
3. Select "Import Items..." from File menu. (Shift-Command-I)
22-
4. Select the three .cer files above.
23-
5. They should now appear in your list of certificates
24-
6. For each certificate: 1) File > Get info 2) Under Trust > When using this certificate, select "Always Trust". 3) Close the Get info window, which will prompt a password save.
25-
7. You may need to restart your browser.
17+
### macOS (as of 13.4)
18+
1. Import the certificates.
19+
1. Open Keychain Access
20+
1. Select "System" under System Keychains (in sidebar)
21+
<img src="images/macos-keychains.png" height="200">
22+
1. Select "Import Items..." from File menu. (Shift-Command-I)
23+
1. Select the three .cer files above.
24+
1. They should now appear in your list of certificates under the "Keychain Access" view
25+
1. Trust each certificate.
26+
1. For each of the three certificates, select it
27+
1. File > Get info (Command-I)
28+
1. Expand the "Trust" view
29+
1. In the "When using this certificate" popup button, select "Always Trust".
30+
1. Close the "Get Info" window, which will prompt a password save.
31+
1. You may need to restart your browser.
2632

2733
### Linux
2834

READMES/images/macos-keychains.png

44.3 KB
Loading

READMES/interfaces.md

+4
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ and common calls look like:
6363

6464
* Since this is a React widget displaying dynamic data it’s not using Metalsmith templates. The .jsx component files to support rendering are located in https://github.com/department-of-veterans-affairs/vets-website/tree/main/src/applications/facility-locator/components
6565

66+
## JSON API
67+
68+
See [JSON:API](jsonapi.md)
69+
6670
## Mirrors
6771

6872
There are environments which exist in [Tugboat](tugboat.md) that provide a mirror of Prod. The content and code are updated daily at 3am EST on the mirrors. The list of mirrors can be found in the "[Mirrors (refreshed daily from PROD at 3am ET)](https://tugboat.vfs.va.gov/6042eeed6a89945a99399d3d)" project in tugboat. Contact CMS Support in the #cms-support Slack channel to request a new mirror.

READMES/qa.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ This document will act as an in-repo collection of links while we attempt to boo
44

55
All of this is very much in flux at present.
66

7-
- [CMS-QA Confluence Space](https://va-gov.atlassian.net/wiki/spaces/CMSQA/overview?homepageId=1814626528)
8-
- [Strategy](https://va-gov.atlassian.net/wiki/spaces/CMSQA/pages/1814724630/Quality+Assurance+and+Testing+Strategy) -- an outline of the strategy we use to evaluate issues impacting QA, and how we address them in practice.
7+
- CMS-QA Confluence Space
8+
- [Strategy](https://vfs.atlassian.net/wiki/spaces/~821090906/pages/2304933915/Quality+Assurance+and+Testing+Strategy) -- an outline of the strategy we use to evaluate issues impacting QA, and how we address them in practice.
99
- [Current Challenges](https://va-gov.atlassian.net/wiki/spaces/CMSQA/pages/1812987905/Current+Challenges+Facing+the+Project) -- a survey of some of the more noteworthy QA challenges identified at this time, and how we're attempting to assess and deal with them.
1010

1111
[Table of Contents](../README.md)

READMES/security.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Security
2-
1. [Fortify Security Scans](testing.md#fortify-security-scans)
3-
2. [PII](#pii)
2+
3+
1. [PII](#pii)
44

55
## PII
66

7-
The Content API has no PII or PHI on it and is a replacement for the public, open source [content repo](https://github.com/department-of-veterans-affairs/vagov-content).
7+
The Content API has no PII or PHI on it and is a replacement for the public, open source [content repo](https://github.com/department-of-veterans-affairs/vagov-content).
88

9-
A sanitized database is available in a public S3 bucket (for open source development purposes) since all the configuration is already open source in [this repository](https://github.com/department-of-veterans-affairs/va.gov-cms/).
9+
A sanitized database is available in a public S3 bucket (for open source development purposes) since all the configuration is already open source in [this repository](https://github.com/department-of-veterans-affairs/va.gov-cms/).
1010

1111
The sanitized version removes all email addresses and resets to a commonly known development password.
1212

1313
## See Also
1414

15-
- Our [security policy](/security/policy).
15+
- Our [security policy](/SECURITY.md).
1616

1717
----
1818

READMES/sentry.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Sentry
22

3-
Sentry is used to track errors fom Drupal.
3+
Sentry is used to track errors fom Drupal.
44

55
URL: http://sentry.vfs.va.gov/
66
* Login using your Github Login

READMES/workflow.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
1. Write a manual to test ticket completion.
1818

1919
## Git
20-
To avoid cluttering up the repo with lots of branches, fork the repo and push your branches to your fork and make your pull request from your fork to the upstream repo. You can use the GitHub CLI, [`gh`](https://cli.github.com/), to make PRs from the command line much faster. Or after you push you will see a link in the output to ctrl + click and create a new PR from the branch you just pushed. [Getting started](./getting-started.md).
20+
In this repo, we recommend working in individual branches and creating PRs to merge the branches to main. You can use the GitHub CLI, [`gh`](https://cli.github.com/), to make PRs from the command line much faster. Or after you push you will see a link in the output to ctrl + click and create a new PR from the branch you just pushed. See [Getting started](./getting-started.md) for more details.
2121

2222
### Branches
2323
We are currently working off a single `main` branch. `main` is protected and requires both approval from code review and passing tests to be merged. Commits within pull requests are squashed and merged when they are accepted so that the only relate to one git commit, even if they originally contained multiple commits, the commit messages are added as a bulleted list so they are retained in the merge commit.
2424

2525
### Example Git workflow:
2626

2727
1. `git fetch --all`
28-
1. `git checkout -b <VACMS-000-name> upstream/main`
28+
1. `git checkout -b <VACMS-000-name> origin/main`
2929
1. `ddev composer install`
3030
1. `ddev start` or `ddev restart`
3131
1. `ddev pull va --skip-files` or `ddev pull va` idf you need managed files (images and pdfs)
@@ -34,15 +34,15 @@ We are currently working off a single `main` branch. `main` is protected and req
3434
1. Fix code formatting issues with CodeSniffer, Drupal standard (linters should run automatically upon trying to commit).
3535
1. Commit your changes. Each commit should be logically atomic (e.g. module adds in one commit, config in another, custom code in additional logical commits), and your commit messages should follow the pattern: "VACMS-123: A grammatically correct sentence starting with an action verb and ending with punctuation."
3636
_Example: VACMS-1234 Add configuration for menu reduction._
37-
1. Push work to your fork of the repository so a Pull Request may be created
38-
`git push myfork <branchname>`
37+
1. Push work in your branch to the remote repository so a Pull Request may be created
38+
`git push origin <branchname>`
3939
1. Once your PR is merged it will be automatically deployed to staging.cms.va.gov. If it is merged before 2:30pm ET and tests pass it will be in the daily, scheduled deploy to prod.cms.va.gov at 3:30pm ET.
4040

4141
While working on your own branch, you may have to rebase it on main which will make it out of sync with your remote branch and will require you to force push to your branch.
4242

4343
### When is it ok to do a force push (-f)?
4444

45-
On the upstream repo, never. On your own fork, it is perfectly acceptable to do force pushes. If you have recently rebased your branch on main, you may have to do a force push to your fork. When in doubt, ask in Slack.
45+
It is never ok to force push to the main branch or an integration branch where other folks may be working from. On your own branch, it is perfectly acceptable to do force pushes. If you have recently rebased your branch on main, you may have to do a force push to your branch. When in doubt, ask in Slack.
4646

4747
### Pull Request Norms
4848
* Pull requests should be made against the `main` branch.

0 commit comments

Comments
 (0)