Content
View differences
Updated by Judith Roth 9 months ago
## Problem
To support BlockNote with an _optional_ YJS provider OpenProject would need to be able to:
* migrate data between YDoc and BlockNote formats
* handle conflict resolution when users edit the same document simultaneously (while the collaboration server is disabled)
## Context Contex
BlockNote editor supports [real time collaboration](https://www.blocknotejs.org/docs/features/collaboration) using YDocs and a YJS provider. To such feature on OpenProject we need to change the BlockNote setup considerably, including the type of data we persist. This is because YDocs need to store specific internal representations to be able to do diffing and keep history without a user overriding another.
We discussed this in different meetings but it was raised again in a recent comment about how the data will look like - [https://community.openproject.org/projects/communicator-stream/work\_packages/66600/activity#comment-1445225](https://community.openproject.org/projects/communicator-stream/work_packages/66600/activity#comment-1445225)
## Question
Should OpenProject support BlockNote without a YJS provider (collaboration server)?
## Considerations
* There might be a way of "converging" the data types between both formats. I have not explored this option enough.
* We already handle conflict resolution on work package descriptions when two users edit at the same time.
To support BlockNote with an _optional_ YJS provider OpenProject would need to be able to:
* migrate data between YDoc and BlockNote formats
* handle conflict resolution when users edit the same document simultaneously (while the collaboration server is disabled)
## Context
BlockNote editor supports [real time collaboration](https://www.blocknotejs.org/docs/features/collaboration) using YDocs and a YJS provider. To such feature on OpenProject we need to change the BlockNote setup considerably, including the type of data we persist. This is because YDocs need to store specific internal representations to be able to do diffing and keep history without a user overriding another.
We discussed this in different meetings but it was raised again in a recent comment about how the data will look like - [https://community.openproject.org/projects/communicator-stream/work\_packages/66600/activity#comment-1445225](https://community.openproject.org/projects/communicator-stream/work_packages/66600/activity#comment-1445225)
## Question
Should OpenProject support BlockNote without a YJS provider (collaboration server)?
## Considerations
* There might be a way of "converging" the data types between both formats. I have not explored this option enough.
* We already handle conflict resolution on work package descriptions when two users edit at the same time.