# カスタムフィールドのタグ付け？

**URL:** <https://meta.discourse.org/t/tag-custom-fields/297798>\
**Category:** Development\
**Created:** [2024 年 3 月 4 日午後 12:50 UTC](https://meta.discourse.org/t/tag-custom-fields/297798 "2024-03-04T12:50:30Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)\
**Post date:** [2024 年 3 月 14 日午後 5:53 UTC](https://meta.discourse.org/t/tag-custom-fields/297798/7 "2024-03-14T17:53:01Z")

</div>

タグに関連付けられた ActivityPub データを、ActivityPub アクターの役割を果たすタグとして保存します。`discourse/discourse` のクライアントのどの部分にもシリアライズする必要はありません。ユーザーは通常の `discourse/discourse` クライアントのどの部分でもこのデータを見ることはありません。データは、プラグインが専用のプラグイン管理ルートで管理する他のデータと共に、管理クライアントにシリアライズされます。おっしゃる通り、既存の `discourse/discourse` タグルート（またはサイトシリアライザー）でのシリアライズは、様々な理由で困難であり、試したくないことなので、プリロードや編集可能な API メソッドを追加しませんでした。

安定した API を利用できることに加えて、ActivityPub プラグインでこれらが好ましい理由は、プラグインが ActivityPub アクティビティを `discourse_activity_pub_*` テーブルという別のデータモデルセットに保存し、それが定義されたプラグイン API とコアモデルのカスタムフィールドを介して `discourse/discourse` と統合されるためです。ここには、Discourse と ActivityPub の懸念事項を適切に分離するために、意図的な冗長性がいくつかあります。Discourse と ActivityPub には、関連しているが異なる概念とデータモデルのシリーズがあるため、`ActivityPub` データと `discourse/discourse` データの明確な区別を維持することは、大規模で複雑なプラグインの明瞭さ（そして正気）を保つために必要です。カスタムフィールドを統合ポイントとして使用することは、その分離をクリーンで安定した状態に保つのに非常に役立ちます。

これについての簡単な説明は、プラグインの README にあります。

> <https://github.com/discourse/discourse-activity-pub/blob/main/README.md>

---

_[View the full topic](https://meta.discourse.org/t/tag-custom-fields/297798)._
