コンテンツ @ AboutPetanize

アイテムのうち、作家または絵師が投稿したものを「コンテンツ」と言う。

コンテンツのうち、作家が投稿したコンテンツを「作家コンテンツ」という。絵師が投稿したコンテンツを「絵師コンテンツ」という。

コンテンツを投稿した人をオーナーと呼び、コンテンツは必ず一人のオーナーを持たなければならない。

特徴

コンテンツはアイテムのオーナーを明確にしたもの。これによって、コンテンツはオーナーの意思によってアクセスコントロール(公開・非公開を選択する)ことができるようになる。

要件

必須カラム

  • オーナーID

表示・編集

コンテンツを表示・編集するときは、オペレーターがコンテンツオーナー定めた要件に適合していることを確認する必要がある。ここでは、そのための機能を追加する。

  • 表示取得・編集取得する条件には、オーナーIDが追加される。
  • リストを取得する条件には、オーナーIDが追加される。

オーナー判別と操作

  • オーナーIDを取得するには、コンテンツ種別を判別する。
    • 作家コンテンツは作家IDを持ち、絵師コンテンツは絵師IDを持つ。オーナーIDはこれらのIDによってコンテンツの種別を判別できる。

機能

表示・編集

public_list_where

edit content_id, operators

content?

visible? operators

コンテンツとエレメントで処理も違う。エレメントにはオーナーIDを入れる場所がないので、親に判定をしてもらわなければならない。エレメントの時親のオーナーなら許可。それ以外は個別に対応。原画の判定は管理者とオーナーだけ。

オーナー判別と操作

owner_type

owner_model

owner_column

operator operators

owner_model

own? operators

作家と絵師で処理が違う。作家向けコンテンツでは作家を取得してチェックし、絵師向けコンテンツでは絵師を取得してチェックしている。それよりも、ユーザーを取得して両方チェックした方が良いのでは?

また、コンテンツとエレメントで処理も違う。エレメントにはオーナーIDを入れる場所がないので、親に判定をしてもらわなければならない。