サイト構造
パーミッション
方針: ホワイトリスト方式
SB3のdefaultはモデレータ以上のみ編集可能になっている。特定のカテゴリにおいてのみサイトメンバ及びWikidotユーザのページ作成及び編集を許可する。
なお、閲覧権限については全カテゴリを全ユーザに解放されている。
ユーザパーミッション設定
黄色セルは現在未実装のカテゴリである。また権限も予定である。
一般ユーザの定義: Wikidotアカウント保持者
匿名ユーザ(Wikidot非サインインユーザ)はページオプション閲覧権限を持たない。閲覧権限は一般ユーザと同じである。
カテゴリ | 一般ユーザ権限 |
---|---|
portal |
該当ページの作成者のみ
|
draft |
該当ページ作成者のみ
|
component |
|
credit |
|
forum |
|
nav |
|
search |
|
system |
|
search |
|
deleted |
該当ページ作成者のみ
|
inc |
該当ページ作成者のみ
|
guideline |
|
下書きシステムの基本構造
CSSで図にできるならそうする。時間がかかりそうなら素直に画像をアップロードする
Portal
下書き作成
Draft
ステータス変更
下書き一覧
概要
SB3は下書きの批評依頼に特化システムをコンセプトとして作られており、本機能はSB3の根幹となる。下書き機能は以下の4つの要素で成り立つ。
- portal
- draft
- 下書き一覧
- 最近の下書き批評
portalは各ユーザが持つ自身の作成したdraftの管理ハブであり、下書き一覧及び最新コメント一覧は批評者が批評依頼が出ているdraftを見つける為のページである。
draftは実際に批評されるページである。ただし、draftを作成したまま批評依頼を出さない事も可能である。
portalとdraft
portal
SB3を利用するユーザは最初にportalを作成する必要がある。portalは1ユーザにつき1つのみ所有する事を想定している1portalは各ユーザの下書きページを集約するハブページであり、以下の機能を持つ。
- 新規下書き作成
- ステータス(後述)ごとの下書き一覧作成
新規下書き作成のリンクは該当のportal作成者が作ったdraftの個数が0である場合、純粋なaタグとなり1個以上draftがある場合はjavascript制御が行われているページを埋め込んだiframeとなる。この表示切り替えはCSSとListPagesモジュールを併用して実装されている。
なお、portalから新規のdraftを作成できるのは特殊な条件を除けば該当のportalページを作成したユーザのみである。
下記仕様変更の可能性あり
本ページは下書きを行うページではなくあくまでもハブページとして機能する。portalにはユーザが自由に文言を書き込めるフリースペースがあるが、上記のハブページとしての機能のみを考えて設計されている為、使用できるWikidot構文に制限が設けられている。
詳細仕様: sys-specification:sb3-portal
draft
実際に下書きを作成するページである。1ユーザが複数所有する事ができる。各draftページはそれぞれ下記の項目の設定を行う事ができる2。
1. ステータス定義(単一選択)
- 下書きを下記の状態に変更できる
- ステータス未定義
- 批評中
- 改稿中
- 批評終了
2. カテゴリ(単一選択)
- 作成した記事の種類を以下の中から選択できる
- SCP-JP
- Tale-JP
- GOI-フォーマット-JP
- 翻訳
3. ジャンル(複数選択)
- 下書きを批評してもらう上で、作品のコンセプトを伝えるものとして下記の設定を選択できる
- Joke
- ホラー
- SF
- オカルト・都市伝説
- サスペンス
- 感動系
- シュール
- メタフィクション
- コミカル
- 既存記事改稿
- コンテスト
- その他
上記の内、単一選択の項目は、該当の項目の値を1つしか持たない事を想定している(例えばステータス項目の「批評中」と「改稿中」を同時に持つ事ができない)。
複数選択の項目は該当項目の値を複数持つ事ができる(ジャンルの「Joke」と「ホラー」は同時に持つ事ができる。またジャンルの全値を所有する事もできる)。
draftの各項目の設定はタグによって行われる。上記の項目の値を持つという事はすなわち、該当の値を意味するタグがそのdraftに付与されている事と同じである。その為、単一選択の項目であっても本質的には複数所有する事が可能であるが、draftページに設けられたページコンソールを使用する事により、適切な形式で値を持つ事ができる。
詳細: SB3 仕様書 draft
下書き一覧
概要
下書き一覧はステータスが「批評中」であるdraftの一覧を表示するページである。1ページにつき10個のdraftを表示する事ができる。各下書きはカードを模した見た目で表示される。
下書き一覧は大別して以下の3つの機能を実装する。
- draft表示機能
- 並び替え機能
- カスタム検索機能
draft表示機能
draft表示機能はListPagesモジュールとCSSを組み合わせて実装したものであり、従ってListPagesの仕様上1つの並び順につきリストが所有できるdraftの最大総数は250ページまでとなる3。
下書きを表示する各カードには以下の値を格納する。
- カテゴリ
- draftページタイトル
- draft作成者
- 最新コメント "日時(コメント者)"の表示形式
- ジャンル
上記の内、「draftページタイトル」、「draft作成者」、「最新コメント」はListPagesから取得した値を表示する。「カテゴリ」及び「ジャンル」はListPagesから取得した値をhtml要素のクラス名として扱い、CSSの設定によって表示を制御する。
並び替え機能
この機能はhtmlブロックで作られている。ListPagesに対し、指定した並び順でdraftを表示させるパラメータを生成し、そのパラメータが含まれたURLに遷移するという動きを行う。
この時、現在のURLに後述のカスタム検索で設定されたtagパラメータが存在する場合にそのパラメータを消さないようにする為、現在のURLを取得し、分解した上で遷移先のURLの生成を行う。
カスタム検索
この機能はhtmlブロックで作られている。ListPagesに対し、指定したタグ条件でdraftを表示させるパラメータを生成し、そのパラメータが含まれたURLに遷移するという動きを行う。
この時、現在のURLに並び替え機能で設定されたorderパラメータが存在する場合にそのパラメータを消さないようにする為、現在のURLを取得し、分解した上で遷移先のURLの生成を行う。
またカスタム検索で設定する項目に応じて、下記の検索条件を選択する事ができる。
- カテゴリ
- OR検索4
- ジャンル検索
- OR検索
- AND検索
詳細: SB3 仕様書 下書き一覧
最近の下書き批評
直近で行われた各draftに対するコメントの一覧を表示する。批評者はこのページによって直近で行われた批評及び批評に対するレスポンスを確認できる。
RecentPostsモジュールを使用し、下記のコードで実装される。
[[module RecentPosts]]
[!-- please do not alter this page if you want to keep your forum working --]
Wikidotの標準機能である。