通过 CSV 大量创建类别

我一直在研究批量创建分类。

目前找到的最佳方案是:Administrative Bulk Operations

不过,为了批量创建新的自定义分类而手动编写这些 JSON 文件似乎相当繁琐,除非你拥有能够正确生成文件并分配 ID 的自定义构建工具。尤其是涉及子分类时,情况更是如此。

我认为,Discourse 若能支持通过 CSV 上传来批量创建分类,将是一个非常有用的功能。其方式可与标签上传类似,采用简单的格式。例如,如下所示:

分类 子分类 1 子分类 2 描述
我的自定义父分类 此分类为父分类
我的自定义父分类 我的自定义子分类 这是二级子分类
我的自定义父分类 我的自定义子分类 我的自定义子子分类 这是三级子分类

此外,也可以考虑扩展此格式以包含其他自定义选项或列。

以下是使用上述方法导出分类时的一个 JSON 条目示例:Administrative Bulk Operations

{
  "id": 1,
  "name": "Uncategorized",
  "color": "0088CC",
  "created_at": "2020-07-23T02:27:33.970Z",
  "user_id": -1,
  "slug": "uncategorized",
  "description": "",
  "text_color": "FFFFFF",
  "auto_close_hours": null,
  "position": 0,
  "parent_category_id": null,
  "auto_close_based_on_last_post": false,
  "topic_template": null,
  "all_topics_wiki": false,
  "permissions_params": {}
},
1 个赞

通常不需要创建大量分类,因此界面是否过于繁琐而失去实用价值的可能性很高。

我的建议是编写一个 Ruby 脚本,通过控制台来创建分类。你不需要任何 ID。我认为只需名称即可创建分类,但如果花些功夫,也可以加载描述和权限信息。

4 个赞

当我们这样做时,其中一位版主运行了一个脚本,使用 API 密钥批量创建这些条目。效果非常好,不过如果我没记错的话,权限部分有点奇怪。除此之外,这极大地节省了时间(我们需要创建 700 多个子类别)。

4 个赞