建议如何组织我的论坛分类和标签

你好。
我阅读了这里关于分类和标签组织的多个主题,但始终无法找到一个符合我需求的结构。

基本上,这是一个支持论坛,涵盖众多产品。大概有 50 到 100 种不同的产品,它们被归入大约 5 到 10 个“部门”中。

但我还想区分客户与非客户的权限。这意味着非客户仅拥有对“标准”支持的读写权限,以及对“VIP”支持的只读权限;而客户则对两者都拥有读写权限。

此外,我还想利用投票系统创建一个“功能请求”机制,让用户可以提出功能需求并进行投票(针对每个产品)。同样,只有客户才能提出功能请求和投票;普通用户仅能对功能请求进行投票,而不能对其他主题投票。当然,所有人都(包括员工和用户)应该能够轻松查看最受需求的功能。

最佳方案是什么?起初我考虑使用大量分类:

  • 部门 A
    • 产品 1
      • 功能请求
      • VIP
    • 产品 2
      • 功能请求
      • VIP
  • 部门 B
    • 产品 3
      • 功能请求
      • VIP
    • 产品 4
      • 功能请求
      • VIP

但这看起来分类太多了。
标签似乎在这种情况下有帮助,但它们该如何使用、强制执行、筛选以及应用权限呢?

我发现标签的一个主要缺点(除了权限问题之外)是,我访问的每一个将标签作为“示例”的 Discourse 论坛(例如“汽车对话”论坛,还有其他一些),最终看起来标签似乎根本没有被使用。只有极少数主题被打上了标签,所有内容最终都堆在同一个地方。

提前感谢。

我不确定这是否能满足您的需求,但我还是分享出来,希望其中的一些内容能对您有所帮助。

我们最近将运营了16年的社区从 SMF 迁移到了 Discourse。我们的用户群体一直习惯于多层级的分类、子分类以及众多的子版块。说实话,我们拥有的数量实在多得离谱。可怜的新用户常常在这些迷宫中迷失方向。

迁移到 Discourse 后,我们现在采用“分类 > 子分类 > 标签”的结构。标签取代了我们过去使用的 9172816 个子版块。

我强制要求发布主题时必须使用标签,并且用户只能从我为每个分类预设的标签中进行选择。

  • 将分类设置中的“主题所需最少标签数”设为 1
  • 为每个分类创建标签组,并在分类设置中取消勾选“也允许其他标签”:

我们在新年之际重新开放了论坛,因此目前仍在不断完善中。您可以在这里看到我的标签分组:the Lettuce Craft Forums

在创建主题的流程中,系统要求用户至少选择 1 个标签(最多也是 1 个)。我将提示语自定义为“现在请选择一个标签(子分类)”。我知道标签实际上并不是子分类,但这是我们目前用来帮助社区老用户适应新方式所需的措辞。

如果用户尝试跳过标签选择:

你们两位用清晰且信息丰富的帖子,让这个话题看起来像教程的开头。 :+1:

我写了这么长的回复,是因为我一直在思考如何规划新论坛的搭建。所以我想拿你的问题做个实验,看看能否整理出一些方案,并看看你是否觉得这有用。

我同意考虑使用标签(tags)而不是把所有内容都塞进分类(categories),我自己在一些私人论坛里就是这么做的。但你需要注意,目前分类有两个明显的优势:

  • 分类对于控制访问权限至关重要
  • 插件允许对分类进行更多的自定义

你可以看看 Is anyone else using tags on a Discourse forum in a big way?

新的标签功能 目前正处于频繁开发中,这将使标签的使用变得更加容易。其中包括:

这里的关键问题在于,你的哪些需求应该作为分类来处理,而不是标签。但我们不必一开始就做出决定。我们先设计那些功能较重的分类,然后再看看哪些可以转换为标签。

决策过程

设计分类有多种方法。当不考虑将标签作为主要机制时,我会按照以下步骤进行:

  1. 需要哪些分类?
  2. 哪些分类需要单独的用户访问控制?
  3. 我现在还需要默认分类吗?

这里采用的路线与通常不同,因为你可以看到最少的默认分类,这些分类可能允许你通过标签完成其他所有操作。

  1. 我需要默认分类吗?
  2. 哪些分类需要单独的用户访问控制?
  3. 还需要哪些不需要用户访问控制的其他分类?

A. 总体需求是什么?

首先,用于开发论坛结构的社区理念是什么——社区和论坛是不同的。

从你的第一篇文章中,我可以看出你的社区有以下需求:

  • 主要目的是 支持
  • 支持产品 驱动,即没有产品就没有客户,也不需要支持。
  • 支持客户状态 细分,即客户与非客户
  • 产品 还有额外的 功能请求 ——来自客户和非客户

论坛的额外需求是:

  • 部门 管理 产品,但客户/用户通过 产品 进行交互

备注:

  • 支持可能由部门管理,但客户/用户可能更关注他们使用的产品。因此,除非你的部门是品牌或子公司,且客户和用户在日常交往中几乎只认同这些部门,否则我不会通过包含你的组织结构来使论坛复杂化。
  • 我在这里使用 客户,因为对 VIP 的使用应有保留意见。它消除了后来创建 VIP 子客户组的可能性。我曾在面向社区专业人士的论坛中见过这个问题,因此我会将 VIP 保留用于进一步的细分。

B. 实现总体需求所需的最小分类有哪些?

1. 我需要默认分类吗?

我认为所有默认分类都是必不可少的,但你可能不需要。只需注意,默认设置是经过大量考虑,以满足平均论坛所有者和论坛用户的需求:

  • #lounge(休息室)
    默认情况下,这是针对信任等级 3 (TL3) 用户的。我建议将其保留为你最活跃的非客户的 奖励。你可能会 tempted 通过重命名它并降低访问所需的最低 TL 来将其用作 VIP 分类。不要这样做:保持你的 VIP 组和分类与默认组和分类分开。

  • Contribute > Site feedback(贡献:站点反馈)
    供所有用户提出改进建议或指出论坛中的问题。

  • #staff(员工)
    供管理员和版主使用,大多数用户不可见。

  • Uncategorized(未分类)
    默认设置为 允许未分类主题
    你可能希望禁用 抑制未分类徽章 设置,以使此类主题在主题列表中更显眼,从而更有可能被分配到更相关的分类。

    • 这会给版主和高 TL 用户增加一点工作量,但对于无法决定分类的新用户来说,这会容易得多。
    • 此分类是默认的 共享草稿分类,这也是保留它的一个原因。

示例

此时,你的最小分类将是:

  • Lounge(休息室)
  • Site Feedback(站点反馈)
  • Staff(员工)
  • Uncategorized(未分类)

2. 哪些分类需要用户访问控制?

唯一确定的需求是:

  • 支持客户状态 细分,即客户与非客户

你想将用户和客户分开,因此必须使用分类来实现这一点。任何其他方法都会非常痛苦。

这意味着你需要将客户和非客户分别放入单独的 Group(组)中,其中至少有一个分类满足:

  • 客户拥有 CRS(创建、读取、查看)访问权限
  • 非客户仅拥有 S(查看)访问权限。

示例

此时,你的最小分类将是:

  • Customer(客户)
  • Lounge(休息室)
  • Site Feedback(站点反馈)
  • Staff(员工)
  • Uncategorized(未分类)

3. 还需要哪些不需要用户访问控制的其他分类?

你的需求是:

  • 支持产品 驱动
  • 产品 有额外的 功能请求

即使没有你的需求,目前的结构看起来也相当不足,因为不清楚产品支持请求应该放在哪里。因此,你至少需要一个产品支持分类,而这又需要一个 Customer(客户)子分类。我会保留一个高级 Customer(客户)分类,用于处理仅与客户共享且可能仅对客户可见的问题。

你可以使用 功能排名插件 对产品功能请求进行排名。这是通过对分类中的主题进行排名来实现的,因此你至少需要一个分类。然后,你可能有两种选项来按产品显示排名:

  • 一个通过产品标签过滤视图的分类。 :warning: 据我所知,这 可能是一个阻碍,但我还没有尝试过。
  • 每个 Product(产品)分类下有一个 Feature Request(功能请求)子分类

无论选择哪种选项,将 Feature Request(功能请求)主题放在子分类中都会更容易。

没有单独 Product(产品)分类的示例

此时,你的最小分类将是:

  • Customer(客户)
  • Lounge(休息室)
  • Site Feedback(站点反馈)
  • Staff(员工)
  • Support(支持)
    • Customer(客户)
    • Feature Request(功能请求)
  • Uncategorized(未分类)

有单独 Product(产品)分类的示例

此时,你的最小分类将是:

  • Customer(客户)
  • Lounge(休息室)
  • Product 1(产品 1)
    • Customer(客户)
    • Feature Request(功能请求)
  • Product 100(产品 100)
    • Customer(客户)
    • Feature Request(功能请求)
  • Site Feedback(站点反馈)
  • Staff(员工)
  • Uncategorized(未分类)

现在出现了产品与使用者之间关系的问题。

问题 Support(支持)的一个分类 每个 Product(产品)的一个分类
大多数/所有客户是否使用大多数/所有产品?
大多数/所有客户是否与单个产品相关
核心 Discourse 中哪个支持更好 标签功能更有限 分类有更好的支持
插件中哪个支持更好 标签功能更有限 分类有更好的支持
分类管理是否更容易
视图和报告管理是否更容易
对新的 Discourse 用户是否更容易

总的来说,我认为你应该为每个产品使用单独的分类,因为这样可以工作,主要缺点是分类视图过长,以及在设置分类和子分类详情以及组访问权限时会度过一段无聊的时光。

有单独 Product(产品)分类的示例(如上所示)

此时,你的最小分类将是:

  • Customer(客户)
  • Lounge(休息室)
  • Product 1(产品 1)
    • Customer(客户)
    • Feature Request(功能请求)
  • Product 100(产品 100)
    • Customer(客户)
    • Feature Request(功能请求)
  • Site Feedback(站点反馈)
  • Uncategorized(未分类)

4. 还有哪些其他分类可能有用

我相信你知道你可能想要但未在此处指定的其他分类,例如:

  • 公司文档,例如适用于所有客户和产品的通用条款和条件
  • 产品文档,例如与产品相关的文档
  • 下载,例如与产品相关的软件,如旧版软件产品本身
  • 操作教程
  • 常见问题解答(FAQs)

C. 哪些功能应该是标签?

至于你应该使用哪些标签,我需要更多信息,例如部门如何管理支持。

起初,我会将 部门 排除在你的论坛之外,因为你可以根据 Product(产品)开发报告,并提供按 部门 的摘要,这不需要任何可见的标签。

我在这里引用现有的话题,让你了解在支持论坛中可以使用标签做什么。这些话题按从新到旧排列:

还有一些有用的插件:

以及一些有用的主题组件:

非常感谢 @soraiden@Remah 提供的如此详尽的回答。真的非常感激。
不过我目前仍未决定,确实很难抉择。

@Remah 的建议似乎更贴合我的情况,但当你提到“那么你将拥有文档、操作指南、常见问题解答等”时——这些难道不也与产品相关吗?
这让我更加觉得产品应该作为标签使用,否则我就不得不在各处重复创建子分类(比如建议中的“客户”和“功能请求”)。

另一方面,让每个客户针对不同产品拥有不同的访问权限是可取的,因为确实可能存在 Customer1 注册了 ProductA,而 Customer2 注册了 ProductB 的情况,且两者不同。尽管如果确实需要,我也可以接受没有这一功能。

我也担心如果基于标签来搭建系统,之后却发现某些关键功能仅支持分类而不支持标签……

关于 @Remah 的建议,有一点我不太理解:为什么需要顶层的“客户”分类,然后在每个产品下再设置一个“客户”子分类?

再次非常感谢你们如此详尽且有条理的回答。

你们启动这个论坛的筹备周期是多久?如果时间紧迫且有限,可能就没有机会尝试标签了。

顺便提一下,在测试过程中,你可以同时设置标签和分类。即使标签结构与分类结构重复,也不会影响使用。如果你使用分类,那么标签就不需要被使用,因此它们不会被看到,因为没人必须使用它们。

这也是我担心的问题。我的心告诉我尝试标签,但我的理智告诉我它们还不够成熟。我已经发现了一个使用标签的潜在障碍——我之前的帖子中提到的::warning: 按标签筛选功能与“功能排名”插件不兼容。不过,Discourse 团队有动力推动标签的广泛使用,因此他们可能会开发新功能来提供帮助。

你可以先使用标签而不是分类来构建论坛结构。如果目前无法实现你的目标,那么备选方案是创建所有产品分类和子分类。

务必记录下所有你无法实现或不太理解的功能。然后带着这些问题回到这个论坛,寻求解决方案。

分类非常显眼,并且独立于主题存在;而标签结构则不太显眼,标签只有在有主题使用它们时才会存在。因此,若要为论坛预设你想要的标签,你需要创建一些“示例”主题来使用这些标签,例如一个产品列表主题。

标签的另一个优势是你可以创建标签组,这样你的产品就可以按部门归入不同的标签组。部门标签组不需要直接添加到主题中,因为只要给主题添加产品标签,该标签组就会间接与该主题关联。因此,标签会提供一些使用分类无法实现的独特选项。

:+1: 是的,我认为这很有可能。但你还是应该仔细权衡每种方案的优缺点。

如果你为每个产品都设置一个“客户”子分类,那么那些与所有客户相关但不与所有用户相关的主题该放在哪里呢?这不一定需要是一个独立的分类,但值得思考你可能需要哪些功能,或者可以利用哪些现有机制来实现新的用途。

新论坛的建立是一个采用新工作方式的机会。

阅读关于标签当前状态的讨论。
https://meta.discourse.org/t/is-anyone-else-using-tags-on-a-discourse-forum-in-a-big-way/132555/10?u=remah

非常喜欢这篇写作。在设计论坛或社区时,我正是需要这种思维方式。