问题标签 [collaborative-editing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
43 浏览

ms-word - 自定义 XML 部分在共同创作模式下被替换

onedrive for business用于共同创作文档,前提是我的文档包含 customXML,它与文档对象映射。

现在,当两个用户编辑纯文本时,他们的更改会实时保存。但是当用户编辑内容控件(与文档映射)时,最后保存的更改将替换之前保存的更改。

从技术上讲,document.xml 中的更改是实时保存的,或者我们必须说两个用户的 document.xml 正在合并,但 customXML 被完全替换,而不是它们应该被分割。

任何人都可以帮助我如何支持内容控件的共同创作?

提前致谢

0 投票
1 回答
2092 浏览

php - Docker Nextcloud 无法加载 Collabora Online - 请稍后再试

我有这个错误信息:

无法加载 Collabora Online - 请稍后重试

当我尝试打开文件时,在自托管 nextcloud 网站的右上角

欢迎来到 Nextcloud Hub.docx

在作为 docker 容器运行的 Nextcloud 中。

欢迎来到 Nextcloud Hub.docx作为示例文件位于文件 > 文档中。

截屏

我正在使用 我以这种方式启动的nextcloud:19-apache的官方图像:

我以这种方式检查日志:

除了这一条目之外,没有错误/警告:

AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 172.17.0.2。全局设置“ServerName”指令以禁止显示此消息

点击 nextcloud web Settings > apps 显示 Collabora 所需的两个应用均已安装:

在此处输入图像描述

但是,如果它们按应有的方式运行,则没有它们的状态。

所有正在运行的容器的状态:

如何使 Collabora 工作并打开该文档 docx?(打开 *.pdf 或 *.md 文件时没有问题,编辑它们并保存修订历史)

0 投票
0 回答
12 浏览

google-docs - 可以在网页中实现的开源协作编辑器

我正在寻找一个类似于 google-docs 的基于 OT 的文本编辑器,可以在现有网页中实现?

0 投票
1 回答
58 浏览

multiplayer - Raft 与 CRDT 在协作编辑方面如何比较?

我试图了解当状态只是一个可以包含数组的 JSON blob 时,Raft 对协作编辑有多好。

我的直觉是 Raft 是为安全而构建的,而 CRDT 是为速度而构建的(牺牲可用性)。想了解更多关于使用 Raft 进行协作编辑的可行性的意见。

0 投票
0 回答
36 浏览

javascript - 我可以停止在协作文本编辑器中重新呈现的这种默认行为吗?

所以我最近正在使用 React 和 socket.io开发这个协作式文本编辑器。

我的 app.js 看起来有点像这样:

}

发生了什么:每当房间中的任何人键入内容时,它都会发出一个套接字事件,然后房间中的每个客户端都会监听该事件,并且每个人都会更改 useState 内容的值,这会强制每个接收到内容的客户端的编辑器重新渲染,因此,实际上不可能在编辑器在您键入时将其值更改为新值的同时进行编写。

应该发生什么:房间里的所有客户都应该获取数据并在他们的编辑器上更新它,但所有人都应该能够同时编写,就像在谷歌文档上发生的那样。

我目前正在为此使用 react-draft-wysiwyg,我知道他们还有很多其他可用的文本编辑器,如果有任何一个可以帮助我解决这个问题,我完全可以更换编辑器。

你可以试试这个:https ://kalam-editor.herokuapp.com/opendocument 只需输入 docid:1234 和密码:1234。(如果显示 docid 不存在,只需单击打开文档按钮 2-3 次)

0 投票
0 回答
19 浏览

reactjs - 未捕获的类型错误:无法读取未定义的属性“CollaborativeTextEditor”

我正在进行协作编辑并将 html-text-collab-ext 用于 html textareas。下面是updateContent.tsx文件

我收到错误为Uncaught TypeError: Cannot read property 'CollaborativeTextEditor' of undefined

0 投票
1 回答
131 浏览

spring-boot - 如何在 WebDAV Server 中实现协作?

我需要从浏览器编辑我的 AWS-S3 上传的 MS Office 文档。因此,我们使用 httpd 扩展在 Apache 上创建了自己的 WebDAV 服务器。工作流程在下图和描述中进行了解释。

在此处输入图像描述

现在编辑工作得很好。我的 UI 客户端在 WebDAV 服务器上命中 Spring Boot API。它会将 abcd.docx -> S3 对象复制到 WebDAV 文件夹,比如 var/www/html/webdav。现在文件的路径变为 var/www/html/webdav/abcd.docx。我将文件路径发送到 UI 客户端,例如https://www.mywebdavserverxyz.com/webdav/abcd.txt。我在本地 Microsoft Office 应用程序中打开此文档,例如:

现在我的问题是,如果我想启用协作编辑,那么我有哪些选项,哪一个最好?目前,单个用户可以一次编辑文件,因为其他用户文件以只读模式打开。

0 投票
0 回答
17 浏览

google-docs - 如何在利用操作转换的协作编辑软件中解决冲突

场景 - 两个人(P1、P2)在 Google Docs 中编辑同一个 word 文档。在他们开始编辑之前,该文档包含一个词——“ADAM”。P1 决定删除第一个字符“A”,P2 决定在现有第一个字符前面添加另一个字符“A”。P1 和 P2 在完全相同的时间执行它们的操作(同时被定义为 Google Docs 服务器识别的时钟的最大精度)。我了解服务器和客户端在应用它们之前都会对其传入操作进行操作转换。
但是 Google Doc 服务器如何决定先执行哪个操作呢?注意 - 我对文档/全局真相的最终状态不感兴趣,但更重要的是,考虑到用户操作的相似时间戳,Google Docs 服务器将首先处理哪个用户的操作。