ソース表示: AboutCabinet #92242

= キャビネット

== ファイルタイプ
キャビネットにはリストとファイルの2種類のアイテムが表示される。

ファイルは1件のデータ。リストは複数のファイルを束ねたデータで一般的なファイルシステムでは、ディレクトリと言われるものである。

ぺったんRはほんの少しだけリッチなので、ファイルごとに表示される内容が違うこともある。リストにはディレクトリとフォルダとショートカットがある。ファイルには作家、コミック、素材など様々な種類がある。この種類によって表示すべき内容が少しずつ変わる。例えば素材を表示するときはクレジット情報が表示される。
== 権限
ファイルは読み取りと編集の2つ。

読み取り権限がなければ、ファイルは一覧に表示されず、それを無理に表示しようとしても権限エラーが出る。編集権限がなければ、ファイルを更新あるいは削除することはできない。
=== read
実素材画像のように読み取り権限があっても画像だけは表示できないケースもある。

読み取り権限については、ログイン中のアカウントと作家活動を行っているかどうかのフラグなどを組み合わせて判定するので、モデルごとに判定処理を書かなければならない。
=== write
編集権限については、コンテンツのオーナーかどうかで判別する必要がある。モデルごとに判定処理を書かなければならない。
== 一覧の表示
一覧に含まれるすべてのアイテムを表示する。ただし、読み取り権限のないファイルは表示されない。
=== フェイス
 * ファイルを実行するためのボタン的な機能を持つエリアのこと。
 * ファイルの中身を一目で判別できるように、最も重要な項目を表示することができる。
 * シンボルとキャプションに分かれる

== リストについて詳しく
リストにはリモートフォルダとローカルフォルダとショートカットがある。

ぺったんRのデータ構造が気に入らなければ自由に組み合わせてもいいが、ユーザが混乱しないように、公式なルートとそれ以外のルートを見分けられるようにしておくべきだと考えて分けた。一覧表示では共通して次のように表示する。

 * アイコンはフォルダ風アイコンを表示する
 * タイトルはコントローラの名前を表示する
 * サマリーはフォルダの種類を表示する
 * クリックで実行したときは、一つ下の階層を一覧表示する
 * 
=== リモートフォルダ
ぺったんRサーバ上のコントローラである。通信してデータを取得する。rails的なurlと同じ構造

=== ローカルフォルダ
ぺったんRのディレクトリ構造を無視して自由にリンクを作成できる。ぺったんRのAPIでは「ある作家のコミック一覧」を表示するには、作家の詳細ページから進まなければならないが、キャビネットでは「コミックを読みたい」→ 「どの作家の? 」といった具合に、通常のAPIとは違ったパスからたどっていくことができる。機能別や逆引きでフレンドリーなUIを目指す。

=== ショートカット
クライアントが独自に構成するディレクトリへのリンク。これをクリックしたときは必ずリモートフォルダに移動する。
= 絞り込み
リッチなクライアントでは「状態」を保持しておくことができる。「コミックを読みたい」→ 「どの作家の? 」といった遷移は厳密に言えばリンクでは無い。どちらかといえば「条件を絞り込み」機能である。上記の例で言えば、 「コミック一覧が欲しい」けど条件があって「特定の作家だけに限る」リストを表示してね。といった具合になる。



= 実装
CabinetStandard