Among the most mission-critical websites for service members of the United States is the website for the Department of Veterans' Affairs: VA.gov. Serving critical functions for those who serve our country, VA.gov consists of a compelling decoupled Drupal architecture that provides content to a Metalsmith static site generator through GraphQL. In conjunction with orchestration through Jenkins and CircleCI and tests driven by Tugboat and GitHub Actions, VA.gov is also one of the more robust and complex examples of decoupled Drupal in production today. Best of all, in accordance with the federal government's commitment to open source, the entire codebase for VA.gov is available on GitHub for any contributor to learn from, report issues, and provide feedback.
In this Tag1 Team Talks episode with Preston So (Editor in Chief, Tag1 Consulting) and Michael Meyers (Managing Director, Tag1 Consulting), we spoke with Neil Hastings (Technical Lead for the Core CMS team, VA.gov) about his team's groundbreaking work on architecting and implementing not only a rock-solid decoupled Drupal architecture with Metalsmith as the glass, but also some of the trailblazing features the VA.gov team has implemented to make content editors' jobs easier than ever at this crucial government agency. In the process, we talked about the challenges of open government technology, roadmap plans (including discussion of Gatsby), and Lighthouse, VA.gov's public APIs for developers building all manner of applications that interact with the Department of Veterans' Affairs rich content and data.
Additional information
- Open Architecture discussions:
- No Server(from their perspective). Load balancers, proxy routing, firewalls, etc. that are transparent to them https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/engineering/infrastructure/reverse_proxy.md
- Keeping documentation up to date: https://whimsical.com/va-gov-high-level-content-model-PyatLZVHkA8QPxzuAqUEe8
- https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/platform/cms
- See our readmes in va.gov-cms
- Keeping documentation up to date: https://whimsical.com/va-gov-high-level-content-model-PyatLZVHkA8QPxzuAqUEe8
- VA has a Drupal.org page - contribution first https://www.drupal.org/department-of-veterans-affairs
- Static site Roadmap
- Improve build system - refactor, 1 min build edit to live, incremental builds
- Upgrade MetalSmith (migrate to something else?)
- Drupal:
- EWA: editorial workflow and assignments, an auditable and revisionable editorial experience (workspaces), with real-time previews
- User research and what came out of it
For a transcript of this video, see Transcript: Static Site Generators at VA.gov: Metalsmith, Gatsby, and the Future of Static Sites.
Photo by israel palacio on Unsplash