-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Enhancement] Follow-up plans #15
Comments
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
当前限制
|
后续工作对于上面的问题,为了能有更好的体验,我想可以按这样继续设计下去 由于目前只协同了文本编辑部分,因此决定Y.Map装着工作区的所有文件的文本(后期可以逐渐迁移到subdoc)。文件的作用仅仅只是用来获取文件信息,以及存储着某一时刻 记得把CRDT给持久化(目前只是in-memory。。) 根据目前对框架的大体理解,可以试着像下图这么做,加粗部分为暑假实现的部分。 暑假的实现是把协同编辑的功能的加载给套到不同事件上(设想给人穿外套:监听事件 TextModel与CRDT的绑定最好是在DocModel创建的时候,而不是在DocModel创建后进行绑定。因此下图,很有可能还要加上自己定义的 如果要有更好的体验,应该把下面的provider都实现一遍。 |
模块目前是用到了Websocket进行网络通讯,Y.Doc暂存到了node server内存上。目前来看,y-websocket提供的是网络通讯能力,暂存在内存相当于一种持久化。把这两件事抽离出来,得到两个问题如何进行网络通信如何持久化存储Y.Doc因此,可以假设,用户可以通过贡献点机制,往CollaborationContribution
中添加下面方法的具体实现从而使得模块变得更加灵活。2022/08/28 Update
见下面的comments,个人理解是先解决好协同状态下,文件以及DocModel的打开删除等操作过程,让这个模块更好地融入到该IDE框架。
The text was updated successfully, but these errors were encountered: