Overview
The goal of this epic is to provide a mean to easily build documents with following requirements:
- Easy to use.
- Based on -extended- markdown (to please tech people) but with WYSIWYG for the rest of the world.
- Concurrent edition in realtime (ie several people edits the same document in parallel).
There are two main strategy to address this need:
- Integrate an external tool (for instance CodiMD)
- Build it inside Tuleap
Integrate an external tool
At the moment, only one tool is listed because it was how the subject (collaborative edition) came on the table. If the integration is the way to go, a real market analysis should be conducted to ensure we select the appropriate solution. The following analysis is however built based on a potential CodiMD integration.
Pros:
Cons:
- Markdown support different from what Tuleap supports (if ppl need MathML in collaborative edition, it's likely they will need it in Trackers or Git as well, same for other extensions).
- Different permission model. It's the integration of a 3rd party, independent, app, not a blend/re-use (it's not the transparent usage of a lib as our support of mermaid for instance).
To be investigated:
Built-in
Pros:
- Better overhaul UX. Consistent UI, consistent markdown support on all Tuleap tools.
- More secure. No risks of data leak due to different permissions model.
- Easier to deploy (only Tuleap to deal with).
Cons:
- Most of the work needs to be done.
The top level idea so far is to:
- Build on top / replace the concept of "Embedded documents" in Document service
- Re-use the already existing markdown edition already available in Tuleap.
- The concurrent edition layer is managed with low level components like Yjs for CRDT and Mercure for realtime