共享编辑改进

我们对 共享编辑模式 的一些异常行为进行了进一步的测试。以下是我们发现的一些情况:

请注意,该插件本身并不启用编辑权限。这意味着,如果您希望非版主用户能够协作编辑帖子,您还必须将该帖子设为维基(绿色,可选):

如果我启用了共享编辑,我也有选项将其设为维基。但是,如果通过“设为维基”选项操作,它仍然显示为“设为维基”。尽管它会进入维基模式,但无法撤销维基状态。

版主可以通过作曲栏上的齿轮图标切换主题上的共享编辑(红色)

我希望看到一个选项,将开始/停止共享编辑的权限与开始/结束维基的权限关联起来。这两项功能非常相似,为什么要选择不同的权限(仅限版主)?

现在这是一个关键问题:

  1. 我将帖子设置为维基启用共享编辑模式。
  2. 一些人开始在共享编辑作曲器中进行编辑。
  3. 同时,一些其他人使用“经典”维基编辑器——通过同一帖子上的修订链接:

然后点击底部的“编辑帖子”

现在情况变得非常糟糕。非常糟糕。大量内容被覆盖,更改未保存,出现修订冲突。我的理解是,共享编辑并非设计为与经典维基编辑同时工作(从技术角度来看完全可以理解)。

我认为解决这个问题的最佳方法是将“编辑帖子”按钮重定向到新的共享编辑作曲器?

由于共享编辑作曲器不提供编辑帖子元数据(标题、标签等)的选项,因此也需要对此提供解决方案。

有人可能会说“只需告诉用户远离修订铅笔”,但这行不通——我们的许多用户更喜欢这种方式,而不是滚动到长维基帖子的底部。

我意识到这可能不容易修复,但目前共享编辑功能存在严重问题。我们已在多个帖子中与不同用户进行了测试,并且总是会出现冲突。

9 个赞

有关于此事的任何消息吗?我们通过将以下内容添加到 CSS 中来“修复”它:

div#revision-footer-buttons button:nth-of-type(1) {
    display: none !important;
}

但很明显,这是一个修复,而不是解决方案……

3 个赞

您清晰地阐述了 wiki 功能和共享编辑是如何交互的。而且这并不好看。感谢您的变通方法/修复!!

我已将其整合到我的小型 Wikified Posts Component 中,因为它是对 wiki 功能的一个很好的小改进。

1 个赞

啊——我不知道我们的组件,非常有用(我刚刚用旧的来给 Wiki-帖子着色,现在将切换)。

2 个赞

您可以将此添加到您的主题的 common > header 选项卡中(或远程组件中的 /common/header.html),如果当前用户可以编辑共享编辑帖子,它将为共享编辑帖子添加 shared-edits-post 类。

<script type="text/discourse-plugin" version="0.8">
  api.addPostClassesCallback((attrs) => {
    if (attrs.shared_edits_enabled && attrs.canEdit) return ["shared-edits-post"];
  });
</script>

然后在 CSS 中

.shared-edits-post {
  // do some work
}
5 个赞

完成!!现在已全部整合到 Wikified Posts Component 中:


谢谢 Joe - 使一切成为可能!!

我真正需要定位的是第一个 revision-footer-button(带有“Edit Wiki”文本),并仅为 Shared Edits 帖子隐藏它。有什么方法可以使该类也覆盖修订面板/对话框?

3 个赞

我推送了一些更改。

此问题已修复。现在,在共享编辑帖子中切换 wiki 的开启/关闭将显示正确的标签。

此问题也已修复。如果您从修订历史记录模态框中单击该按钮,并且帖子设置为 shared-edit,它将打开共享编辑编辑器而不是默认编辑器。

我在插件中添加了该类。因此,您可以删除您添加的代码片段。该插件现在将添加该类,而无需进行任何修改。

我猜您之所以需要这样做是因为该按钮以前会打开默认编辑器?现在已修复,因此您不再需要隐藏它。

6 个赞

这对我们来说仍然是一个无法解决的问题:出于隐私原因,我们尽量减少版主的数量。因此,我们非常希望有一个选项,让任何能够启动维基的人也能启动共享编辑——基本上是相同的。顺便说一句:我们给这种模式命名为“WikiPad”——比共享编辑更引人注目。

4 个赞

当然,完全可以添加一个“允许发起共享编辑的组”的设置,默认设置为“staff”,但允许您根据需要进行更改。

8 个赞

这有多大可能实现?再说一次——这个小小的调整将彻底改变我们日常的工作。

5 个赞

感谢您提供的这个很棒的插件,它非常适合我们使用 Discourse 来协同记录笔记、头脑风暴等用例。在使用该插件的过程中,我偶尔会遇到一些故障,但遗憾的是很难稳定地重现。

我遇到的情况是,用户 A 所做的更改在用户 B 更新文档时被撤销了,而这两项更改都已通过“保存”按钮明确保存。我猜测这可能是由网络连接引起的,并设法通过以下方式重现了该行为:

我知道这看起来有些人为,但这似乎是我偶尔会遇到的唯一一种重现该行为的方式。其他人是否遇到过此问题?是否有可能修复它?

5 个赞

是的,我遇到过类似的问题,当时网络连接很差,有时会丢失很多编辑内容。这非常令人沮丧。也许可以实现某种断线检测,然后切换到 localStorage 缓冲区或其他东西。也许可以优先使用 localStorage,然后稍后同步……我不确定技术上是如何实现的,但肯定有些时候,将同步延迟几毫秒比丢失文本要好。

3 个赞

这仍然是我们网站上的一个巨大问题。也许这些信息会有帮助:请看历史记录中的这个编辑:

“system”是系统根帐户。为什么没有显示用户帐户?另一种变体是:

它仍然分配给系统,但带有额外的“由 xy 编辑”信息。奇怪。

1 个赞

你好 @Ralf_Stockmann :slight_smile:

我已经将你的帖子分到了一个新的 UX 主题中,以防止它们被主题计时器吞没。我认为其中可能包含一些值得单独跟踪的问题(我认为 @Johani 的修复处理了一些?)。如果是这样,请告诉我,我们可以为它们创建一个新的主题。:+1:

3 个赞

谢谢 - 但我现在找不到 @literarymachine 关于这个话题的帖子(他是我的一位同事),他在帖子中指出了这个插件的一些与网络相关的竞态条件,这些条件 a) 仍然没有修复,b) 使这个本已很棒的插件对于严肃的工作来说几乎毫无用处……?

3 个赞

我认为就这样了。:crossed_fingers:

3 个赞

这对我们来说非常有用。

提交一个 PR 会有帮助吗?像我这样的业余爱好者在官方插件 PR 方面会遇到很多困难,因为它们需要比我现有的知识和技能更多的设置和专业知识!

Tl4 现在可以切换共享编辑,这为您提供了更大的灵活性。

PR 欢迎将其切换为基于组的网站设置。

2 个赞

版主呢?还是他们需要被提升到 TL4?

既然他们无论如何都可以将自己提升到 TL4,那么授予他们激活共享编辑的所有能力是有意义的。

1 个赞