コミック @ ReferenceIndex

概要

漫画の表紙のようなもの。作家が作成して公開し、読者が読む。

コミックはコミストを媒介としてストーリーを差し込むための台帳である。漫画を物語として表現するときは、コミックにストーリーを差し込み、順序を並び替えて話の流れを作る。

作品タイトルとあらすじを設定できる。

機能

基本的にはAPIの命名規則(AboutController)に従う。重要なもの、例外的なものについて示す。

一覧表示及びカウント

読者を対象とした機能。 新着コミックを一覧形式(ActionList)で表示する。ただし、作者によって非公開にされたコミックはオーナーの要求であっても含まない。

API

画面

Feed

詳細の表示

読者を対象とした機能。 IDで指定したコミックを詳細形式(ActionShow)で表示する。公開されたコミックであれば読者のすべてが利用できる。非公開のコミックは、オーナーであれば利用できる。

API

画面

コミック周辺情報を表示したい。プレイリストよりも詳しい情報が表示されるはず。話数を始め、更新履歴やコメントなども表示されるはず。

エディタ

オーナー向けに編集機能も提供される。編集フォームへのリンク、削除ボタンが表示される。

ストーリーの追加と並び替えはプレイリストで行うので、そちらのエディタに遷移するためのリンクを用意する。

プレイリスト

読者を対象とした機能。 IDで指定したコミックをプレイリスト形式(ActionPlay)で表示する。公開されたコミックであれば読者のすべてが利用できる。非公開のコミックは、オーナーであれば利用できる。

このプレイリストはページをくぎらない。いくら長編マンガでも百話を超える事はないだろうし、仮にあったとしても、第二部・第三部といった具合に展開していくだろうから、全件取得の方が使いやすいと思う。パラメータでページ数や件数を指定しても無視される。

API

リクエストの対象はコミックであるが、返されるのはコミストのリストである。くれぐれも間違えないように。

画面

ボディ

ストーリーのタイトルを表示する。

オペレーターがコミックのオーナーであれば、リーフを並び替えることができる。もちろん削除することもできる。オーナーだけはタイトルに加え、オーダーフォームを表示する。

画面に表示されるのはコミストではなく、ストーリーなので、ストーリーの公開フラグも確認して表示することになる。コミストリストそのものは、たとえ読者であってもコミックさえ公開されていれば、そのコミックに紐付いたコミスト全てを返してくる。非公開にしてあったストーリーまで見えてしまうのは困るので、ストーリーの公開フラグのチェックを怠らないこと。もちろん、オーナーであればフラグを無視して表示させる。ここでフラグを尊重してしまうと、順序の並び替えがおかしくなってしまう。また、オーナーがストーリーを並び替える時、公開フラグを情報として参照したくなると思う。並び替えフォームに公開フラグを表示しよう。

エディタ

表示中のコミックにストーリーを紐付ける機能も提供される。自分が最近更新したストーリーを5件程度ずつリストアップし、「このコミックに追加」ボタンをクリックすることでそのストーリーを紐付ける。

他人のストーリーは流用できないので、フレッシュリストは表示しない。

作家フィルタ一覧及びカウント

読者を対象とした機能。 興味のある作家が作成したコミックを一覧形式(ActionList)で表示する。ただし、作者によって非公開にされたコミックはオーナーの要求であっても含まない。

API

画面

ストーリーフィルタ一覧及びカウント

読者を対象とした機能。 興味のあるストーリー を利用しているコミックを一覧形式(ActionList)で表示する。ただし、作者によって非公開にされたコミックはオーナーの要求であっても含まない。

ストーリーをいくつかのコミックで使いまわす事はほとんど想定されていないので、実質不要な機能だと思う。

API

画面

新規作成

作家を対象とした機能。 IDで指定したコミックを新規作成形式(ActionNew)で表示する。ただし、作家登録していないユーザは取得できない。

API

画面

編集

作家を対象とした機能。 IDで指定したコミックを編集形式(ActionEdit)で表示する。ただし、作家登録していないユーザは取得できない。

API

画面

テーブル

name和名typedefaultnulllimitnote
titleタイトルstringFALSE100作品名
descriptionあらすじstring
visible公開integer0false 公開フラグ
author_id作家integerfalse 作者の作家id
created_at作成datetime
updated_at更新datetime

マニフェスト

特筆すべきポイントだけを記す。それ以外はデフォルト値で動く。

ペタナイズ

コミストを閉じるためのバインダーである。

ブースト

特筆すべき注意事項はない。

コントローラ

コミック閲覧

コミストのプレイリストで一覧を取得する。

モデル

ComicModel

関連モデル

所属するモデル

  • 作家

複数持つモデル

  • コミスト
  • ストーリー

ローカルマニフェスト

特筆すべきポイントだけを記す。それ以外はデフォルト値で動く。

ファイラー

シンボル

コミックアイコンを表示する。将来的には作家が作品の世界観に合った素材をシンボル画像として選択できるようにしたい。

キャプション

キャプションは、titleカラムを利用し、クリックするとplayアクションに遷移する。

サマリ

誰が作ったか。どの程度の規模なのか。どの程度の評価なのか。

プロファイラー

カラム

カラムのうち、次のカラムは選択値にふさわしいテキストを備考として表示する。

  • visible

関連モデル

特にイレギュラーはない。モデルのマニフェストに記載した関連モデルの通りに表示する。

リストグループ

作家が投稿するコンテンツなので、作家にまつわるリストを用意する。また、パネルを差し込めるので、パネルにまつわるリストも用意する。

このリストグループのリストには、次のリスト名で一覧取得機能が定義されている。

  • public:公開されたアイテムの一覧
  • private:自分が投稿したアイテムの一覧
  • by_author:作家フィルタ
  • by_story:ストーリーフィルタ

入力フォーム

非表示

次のカラムはシステムが管理する情報として、入力フィールドを表示しない。

  • id
  • author_id

マルチライン

次のカラムは改行を含んだデータを扱えるようにマルチラインのテキストボックスを表示する。

  • description

選択値

次のカラムはマニフェストから選択肢を取得して、セレクトボックスを表示する。

  • visible