CMSとは
ひとことで言うと
CMS(Content Management System、コンテンツ管理システム)は、編集者が管理画面でコンテンツを書き、データベースに保存し、テンプレートがそれを読んでページにする仕組みです。WordPressもEmDashも、この3つの部分を持っています。
3つの部分の関係
図のテキストを読む
flowchart LR
ED["編集者"] --> AD["管理画面<br/>コンテンツを書く・公開する"]
AD -- "保存" --> DB["データベース<br/>コンテンツ・ユーザー・設定"]
TP["テンプレート<br/>ページの見た目を作る"] -- "読み込む" --> DB
VI["訪問者"] --> TP
WordPressとEmDashの対応
| 部分 | WordPress | EmDash |
|---|---|---|
| 管理画面 | wp-admin | EmDashの管理画面(/_emdash/admin)。wp-adminを見た目どおりに再現したものではない |
| コンテンツの種類 | 投稿タイプ | コレクション(管理画面の表示は「コンテンツタイプ」) |
| コンテンツの項目 | 投稿メタ | コレクションのフィールド |
| 分類 | カテゴリー、タグ | タクソノミー |
| テンプレート | テンプレート階層(PHPのファイル) | src/pages/ のファイル(Astro) |
| 共通のヘッダー・フッター | header.php、footer.php |
Astroのレイアウト |
| 機能の追加 | WordPressのプラグイン | サンドボックス型またはネイティブ型のEmDashプラグイン |
- 編集者が使う概念(名前の付いたコンテンツの種類、下書きと公開、階層のあるカテゴリー、タグ、メニュー、メディア、リビジョン)は、EmDashにも引き継がれています。
- 変わるのは開発の進め方です。EmDashでは、コードとデータベースのコンテンツを別々にデプロイします。
- EmDashのデータベースは、エントリーのほかに、コンテンツモデル(コレクションとフィールドの定義)、ユーザー、設定も保存します。アップロードしたファイルは、データベースではなくメディアの保存先に置かれます。
- EmDashは、PHP、WordPressのテーマ、WordPressのプラグインを実行しません。