Title: Entry Class とは何ですか?

TeamPage では、様々な状況下でのエントリーの表示、処理、その他の処理方法を自由に設定でき、「エントリークラス」(EntryClass) は、その中心的な役割を担います。

エントリークラスは、SDK では com.traction.sdk.EntryClass で表され、config/entry/classes フォルダに設定ファイルが置かれます。

すべてのエントリーは、必ず 1 つのエントリクラスに属します。エントリーが特別なエントリークラスに属さない場合は、「_default」という名前の既定のエントリクラスに属します。

あるエントリーが属するエントリークラスを指定するためのよくある方法は、エントリープロパティの「_class」の値としてエントリークラスの名前を指定するものです。

エントリーに「_class」エントリープロパティが存在しない場合、または未定義のエントリークラス名を指定している場合、TeamPage は、その名前がカスタム・エントリー・タイプに一致するエントリークラスを探します。既定のエントリークラス名「_default」は、カスタム・エントリー・タイプとも一致しない場合に使用されます。

TeamPage では、エントリークラスを元に様々な動作を設定できます。



例えば、エントリークラスが「task」の場合、「タスク用の投稿/編集フォームを使い、開始日や締切日という日付情報を正しく解釈し、カレンダーには締切日を元に表示し、メールの件名に記事IDが記載されていたら当該プロジェクト紐付ける」などの動作が設定されています。

開発者は、エントリークラスの設定ファイルに色々な設定値(プロパティ)を記述することで独自の動作を追加することもできます。

エントリークラスの設定ファイルを作成する場合、真っ白な状態から作成する必要はなく、__inherits プロパティを使用して既存のエントリークラスの設定を引き継ぎ、必要なものだけを上書き設定したり追加したりすることができます。

例えば、タスクのエントリークラス設定を継承するには、次のように 1 行目に __inherits=task と記述し、「このエントリークラスの設定はタスクの設定を引き継ぎます」と宣言します。

# 例: plugins/com.example.foobar/config/entry/classes/foo.properties
# タスクのエントリークラスから設定を引き継ぐ
__inherits=task

# このエントリークラスの表示名
display_name=Foo Task

# 既定で、カスタムエントリータイプではなく
# エントリープロパティ「_class」を使用します。
prefer_custom_entry_type=false
 
# このカスタムエントリータイプに属する記事の投稿フォームを指定する。
# フォームの定義ファイルは config/data/forms に設置する。
newentry_form=foodialog
 
# このカスタムエントリータイプに属する記事の編集フォームを指定する。
editentry_form=foodialog
 
# このエントリークラスを識別するための名前
object_single_text=foo task
object_single_indefinite_text=a foo task


エントリークラスは、インデックス・エントリー・タイプがエントリーを「主張する」かどうかの既定の式でも使用され、開発者は特定のエントリークラスに属するすべてのエントリーを素早く取得する方法を簡単に作成できます。

関連記事



Custom Entry Types とは何ですか?

Index Entry Type とは何ですか?

カスタムエントリータイプ、エントリークラス、インデックスエントリータイプの確認方法



関連記事
参照している (1)
Article: DocSDK445 (permalink)
Categories: :DocJp:FAQ
Date: 2020/05/05; 16時52分06秒 JST
Author Name: TeamPage サポート
Author ID: jpbo