103 views
owned this note
# Tools for collaborative edition - authoring part
Now let's discuss which tools to create this web document. Basically any kind of CMS - Content management system - could do the job. Let's try first to describe the requirements for this CMS, and then discuss about the possibilities with current tools.
## Requirements
We want to:
- capture the necessary metadata
- render these metadata as json-ld+schema.org+html human readable
- collaborate in real time
- track changes / revert changes
There are 2 main challenges:
- make metadata user friendly (UX)
- collaborative edition vs track changes
### UX for metadata
Writing json-ld by hand and respect schema.org like [here](https://schema.org/Event#Event-gen-178) is not user friendly ;) .
We need to figure out a way to make it more user friendly.
One option would be to use templates, with forms to help end users to populate common terms for different objects.
For instance
- On a UI, I have a list of different types of documents I can:
- create a project
- find common properties wich are already filled for me and I'm offered to fill a form to complete the other ones
- fill a content field where I describe my projects and put various links to it
### sync vs async edition
We think that the lifetime of documents are usually started on a pad (codiMD, etherpad, prosemirror) and then moved to a more long term storage like git. Ideally the tool would allow that lifecycle, and even better if it goes both ways - from git to the pad and pad to the git.
These requiremements are already partly [documented here](https://iilab.github.io/contentascode/).
## Solutions
We think that there are currently no free software tools that match all of these requirements.
But let's explore the tools we currently use today:
### Mediawiki
#### Pros
- it is already deployed and used to document many commons.
- you have the possibility to create templates
- we are quite sure that you can create json-ld
- easy to revert a change
#### Cons
- when you edit, there is a lock on the document
- no collaborative editing
### CodiMD
#### Pros
- amazing collaborative editing experience
- manages front matter
- md support (which might be a cons for some)
#### Cons
- no form support
- no templates support
- no folder hierarchy to explore documents
- no proper API
### Nextcloud
There is a MD editor in Nextcloud now that is collaborative
#### Pros
- integration in Nc
- manages permissions of each document or folder of documents
#### Cons
- really basic
- MD support, but basic
### ProseMirror
Nc editor is based on ProseMirror which is a building block for collaborative edition
### Git
#### Pros
- perfect to track changes
- developer friendly
#### Cons
- difficult for normal users
### Netlyfy
You can try it out here:
https://cms-demo.netlify.com
#### Pros
- nice UI for templates and forms
#### Cons
- no collaborative editing