管理パネルは、EmDashサイトに含まれる編集インターフェースです。Astroアプリケーションによって/_emdash/admin/で提供され、公開ページと同じデータベース、メディアストレージ、コンテンツモデル、プラグインを使用します。
新しいサイトの管理ルートへの最初の訪問時にセットアップウィザードが開きます。セットアップ後、サインインしたユーザーの権限によって、利用可能なコンテンツと管理ツールが決まります。
作業エリア
ナビゲーションは、サイトのコレクションとインストールされたプラグインに適応します。エディターまたは管理者に表示される主なエリアは次のとおりです:
| エリア | 用途 |
|---|---|
| ダッシュボード | サイトとプラグインのウィジェットを含む開始ビュー |
| コレクション名(例:投稿) | エントリーの一覧表示、作成、編集、公開、ゴミ箱への移動 |
| コレクショングループ | グループを共有するコレクションを含む折りたたみ可能なフォルダと、そのフォルダ内のコレクションにのみ割り当てられたタクソノミー |
| メディア | ファイルのアップロード、検索、検査、置換、削除 |
| タクソノミーと署名 | コンテンツの整理とクレジット付き著者の管理 |
| メニューとウィジェットエリア | サイトでレンダリングされるナビゲーションとエディター制御領域の管理 |
| コメント | コレクションが有効にした場合のコメントのレビューとモデレート |
| コンテンツタイプ | コレクションとフィールドの作成と設定の変更 |
| プラグイン | プラグインのインストール、設定、プラグイン提供ページを開く |
| 設定 | サイト、認証、バックアップ、サイト転送、メール、検索、その他のサービスの設定 |
このインターフェースはデータと設定を管理します。Astroページとコンポーネントは引き続き公開レイアウトを定義します。管理画面でメニュー項目やウィジェットを追加しても、Astroコンポーネントがそのメニューまたはウィジェットエリアをクエリしてレンダリングする場合にのみ公開サイトが変更されます。
コンテンツエディター
コンテンツエディターは、選択されたコレクションからフォームを構築します。短いテキストフィールドはテキスト入力になり、portableTextフィールドはリッチテキストエディターになり、メディアフィールドはメディアピッカーを開き、参照フィールドではエディターが別のエントリーを選択できます。コレクション設定により、該当する場合は公開、プレビュー、リビジョン、コメント、検索コントロールが追加されます。
リッチテキストエディターは、見出し、リスト、引用、コード、リンク、画像、登録されたカスタムブロックをサポートします。インポートされたコンテンツにエディターが表示できないブロックが含まれている場合、EmDashは次回の保存時にそれを削除するのではなく、保存されたブロックを保持します。
下書きを含むコレクションの場合、保存と公開は別の状態です。保存は現在の作業を下書きとして保存します。公開または変更を公開は、その保存されたバージョンを公開クエリで利用可能にします。スケジューリングは、下書きまたは保留中の変更がいつ公開されるべきかを記録します。
コレクションで編集ロックが有効になっている場合、エントリーを開くとそのエディターのロックが保持されます。ロックがアクティブな間、他のライターは黙ってエントリーを上書きするのではなく拒否されます。エディターがエントリーを読み込んだ後にエントリーが変更された場合、EmDashは古い保存も拒否するため、エディターは上書きする代わりに新しいバージョンを再読み込みできます。
ロールと権限
EmDashには5つのロールが含まれます:購読者、コントリビューター、著者、エディター、管理者。権限はロールレベルが上がるにつれて構築されますが、コンテンツとメディアのアクションには所有権も重要です。たとえば、著者は自分のエントリーを編集して公開できますが、エディターは任意のエントリーに対してそれを行えます。
管理エリアには個別の権限チェックがあります:
- エディターは、タクソノミー、メニュー、署名、ウィジェット、セクション、他の著者のコンテンツを管理できます。
- 管理者は、コンテンツモデル、ユーザー、プラグイン、リダイレクト、バックアップ、設定を変更でき、サイト全体をエクスポートまたはインポートでき、ゴミ箱のコンテンツを完全に削除できます。
- サーバーは各アクションの権限をチェックします。ナビゲーション項目を非表示にすることはセキュリティ境界ではありません。
アカウントセットアップと完全なロール説明については、認証とユーザーロールをお読みください。
メディア
メディアライブラリは、ファイルをグリッドまたはリストで表示し、検索してフィルタリングし、メタデータを表示し、複数アイテムのアクションを実行できます。アップロード動作は、設定されたストレージアダプターに依存します。アダプターが署名付きアップロードをサポートしている場合、ブラウザは短期間の署名付きURLを使用してファイルをストレージに送信し、EmDashで完了したアップロードを確認します。
メディアアイテムを削除すると、それを参照するエントリーに影響を与える可能性があります。公開ページで使用されているアセットを削除する前に、メディア使用情報と置換ツールを使用してください。アップロード、置換、削除のワークフローについては、メディアライブラリを参照してください。
プラグインインターフェース
プラグインは、ダッシュボードウィジェット、設定セクション、エディターコントロール、または完全な管理ページを追加できます。プラグインページはそのプラグイン自身の管理ルートの下にマウントされます。コア管理画面を置き換えることはできません。管理リンクが特定のロールにのみ表示される場合でも、プラグインは保護されたアクションにサーバー側の権限チェックが必要です。
拡張機能を追加するには、プラグインのインストールをお読みください。インターフェースを構築するサイト開発者は、コア管理アプリケーションを変更するのではなく、ネイティブプラグイン管理APIを使用する必要があります。
設定要件
管理画面はReactアプリケーションであるため、Astroプロジェクトは@astrojs/react、react、react-domをインストールし、astro.config.mjsでreact()を登録する必要があります。サイトには、サーバー出力、データベース、メディアストレージも必要です。既存のAstroプロジェクトにEmDashを追加するでは、完全なローカル設定が示されています。