Skip to content

guardian/editorial-collaboration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Editorial Collaboration

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.

Local development

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/setup

And then:

./scripts/start

Testing

Tests for the API are written using Jest. To run the tests, run the following command from the collab directory:

npm run test

Or for live updates:

npm run test-watch

Architecture & Technology

The 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
Loading

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:

About

A home for shared collaboration tools for editorial

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10