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.
- Runner
- Authentication
- Editor
- Submitter
- Hosting
- Deployments
- API and Adapter
- Backend Services
- Admin Features
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.
- Change the Form Name
- Regenerate Google Refresh Token
- Maintainance Mode
- Regenerating MS Lists
- Admin Tasks
- Using git-crypt
- Databases
- Delayed Job Failures
- Resending Submissions
- Reviewing Kibana Logs
- Rotate Service Token Cache Bearer Token
- Alerts Quick Guide
- Editor’s Delayed Job Failures
- Update GOV.Notify API Key
- 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-001 - Record architecture decisions ♻️ (Amended)
ADR-002 - Secure JSON Output ✅ (Accepted)
ADR-003 - Files in JSON Output ✅ (Accepted)
ADR-004 - Microservice authentication ✅ (Accepted)
ADR-005 - Integration with Github ⌛️ (Superseded)
ADR-006 - Reduce the number of emails per submission ✅ (Accepted)
ADR-007 - Replacing the storage ✅ (Accepted)
ADR-008 - The Runner ✅ (Accepted)
ADR-009 - The Online Editor ✅ (Accepted)
ADR-010 - Testing the Editor Pipeline ✅ (Accepted)
ADR-011 - Improving the Anti-virus ⌛️ (Superseded)
ADR-012 - Autocomplete Editor Data Storage ✅ (Accepted)
ADR-013 - Autocomplete Runner Data Retrieval ✅ (Accepted)
ADR-014 - Save And Return ✅ (Accepted)
ADR-015 - Monitoring and Testing MS List Submission ✅ (Accepted)
ADR-016 - Using Gov.Notify in the Editor ✅ (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
