MOJ Forms Tech Docs
Who is this documentation for?
These Tech Docs are used and maintained by the MoJ Forms team and provide technical information for maintaining the services.
For more information on the product there is a product website.
MOJ Forms Platform
MOJ Forms is a tool for creating and publishing digital forms using components from the GOV.UK Design System.
The whole platform can be broken down into smaller parts.
- Admin Features
- Authentication
- Submitter
- Editor
- Backend Services
- Runner
- Deployments
- API and Adapter
- Hosting
How does MOJ Forms handle security?
High level overview on what is in place to cover security concerns.
Github Repositories
List of the github repositories for the MOJ Forms platform. Most are public, but some of these will be private.
Runbooks
Procedures and operations that the MoJ Forms Tech Team carry out, these can be used for reference also.
- Maintainance Mode
- Regenerate Google Refresh Token
- Resending Submissions
- Rotate Service Token Cache Bearer Token
- Change the Form Name
- Editor’s Delayed Job Failures
- Alerts Quick Guide
- Databases
- Delayed Job Failures
- Reviewing Kibana Logs
- Regenerating MS Lists
- Admin Tasks
- Using git-crypt
- Disaster Recovery
FAQs
Frequently asked questions - if the answer you’re looking for isn’t here, try #ask-formbuilder on slack
How We Work
Documentation on how the technical team works and the process for doing awesome work.
Incident Process
Our process for managing incidents
Architecture
Architecture Decision Records
To understand why we are recording decisions and how we are doing it, please see ADR-001.
[ADR-010 - Testing the Editor Pipeline](/documentation/adr/ADR-010-testing-the-editor-pipeline.html) ✅ (Accepted)
[ADR-002 - Secure JSON Output](/documentation/adr/ADR-002-secure-json-output.html) ✅ (Accepted)
[ADR-009 - The Online Editor](/documentation/adr/ADR-009-the-editor.html) ✅ (Accepted)
[ADR-015 - Monitoring and Testing MS List Submission](/documentation/adr/ADR-015-monitoring-and-testing-ms-list-integration.html) ✅ (Accepted)
[ADR-011 - Improving the Anti-virus](/documentation/adr/ADR-011-improving-the-antivirus.html) ⌛️ (Superseded)
[ADR-012 - Autocomplete Editor Data Storage](/documentation/adr/ADR-012-autocomplete-editor-data-storage.html) ✅ (Accepted)
[ADR-013 - Autocomplete Runner Data Retrieval](/documentation/adr/ADR-013-autocomplete-runner-data-retrieval.html) ✅ (Accepted)
[ADR-004 - Microservice authentication](/documentation/adr/ADR-004-microservice-authentication.html) ✅ (Accepted)
[ADR-014 - Save And Return](/documentation/adr/ADR-014-save-and-return.html) ✅ (Accepted)
[ADR-008 - The Runner](/documentation/adr/ADR-008-the-runner.html) ✅ (Accepted)
[ADR-006 - Reduce the number of emails per submission](/documentation/adr/ADR-006-reduce-number-of-emails-per-submission.html) ✅ (Accepted)
[ADR-007 - Replacing the storage](/documentation/adr/ADR-007-replacing-storage.html) ✅ (Accepted)
[ADR-005 - Integration with Github](/documentation/adr/ADR-005-Integration-with-Github.html) ⌛️ (Superseded)
[ADR-001 - Record architecture decisions](/documentation/adr/ADR-001-record-architecture-decisions.html) ♻️ (Amended)
[ADR-003 - Files in JSON Output](/documentation/adr/ADR-003-files-in-JSON-output.html) ✅ (Accepted)
Statuses: 🤔 Proposed ✅ Accepted ❌ Rejected ♻️ Amended ⌛️ Superseded
Architectural principles for MOJ Forms
Legacy Form Builder (decommissioned)
Jumping off point for the Legacy Form Builder Documentation [to be Archived]
The Legacy Form Builder Guide and Runbook [to be Archived]
Updating the Tech Docs
- Write content tips
- run local
- Raise PR
- Merge