CSVによる一括カテゴリ作成

一括カテゴリ作成について調べてみました。

現時点で最も優れているのは、この解決策です:Administrative Bulk Operations

ただし、新しいカスタムカテゴリを一括作成するためにこれらの JSON ファイルを作成するのは、それらを作成し、ID を正しく割り当てるためのカスタムビルダーを持っていない限り、非常に面倒です。特にサブカテゴリを扱う場合です。

タグのアップロードと同様に、CSV アップロードを通じて一括カテゴリ作成をサポートすることは、Discourse にとって有用な機能になると思います。フォーマットはシンプルで、例えば以下のような形です:

カテゴリ サブカテゴリ 1 サブカテゴリ 2 説明
my custom parent category このカテゴリは親カテゴリです
my custom parent category my custom subcategory これはレベル 2 のサブカテゴリです
my custom parent category my custom subcategory my custom sub-subcategory これはレベル 3 のサブカテゴリです

これに他のカスタムオプションや列を追加することも検討できます。

この方法でエクスポートされたカテゴリの 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