This is a monorepo for a set of tools related to collaboration in the newsroom.
It currently has one project (not in production), which will support displaying edit history and multi-user collaboration for a document.
The vision is it will be adopted into Composer (and perhaps other tools), improving the speed, efficiency and confidence in our text editors.
To run this locally you will need:
- Brew and Docker installed on your development machine
- AWS credentials for the Composer account.
Once you have these, run:
./scripts/setupAnd then:
./scripts/startTests for the API are written using Jest. To run the tests, run the following command from the collab directory:
npm run testOr for live updates:
npm run test-watchThe API is a Node server running on an EC2 instance. We persist steps in an RDS managed Postgres database.
flowchart LR
C["Client (e.g. Composer)"]
N["Collab API (<i>Node on EC2</i>)"]
P[("Postgres DB (<i>RDS</i>)")]
C<-->N
subgraph VPC
N <--read/writes--> P
end
We use Prosemirror as our rich text editor, which has a plugin to support collaborative editing in the browser.
For those new to Prosemirror and collaborative editing, here is some further reading/viewing, which may be of interest: