概要
Omeka Sで非公開サイトを共有する機会があったので、備忘録です。
関連モジュール
まず以下のモジュールを確認しました。
https://omeka.org/s/modules/Guest/
上記では、Guest Privateモジュールも紹介されており、使い分けの方法をChatGPTに問い合わせました。
Omeka S の Guest モジュール と Guest Private モジュール の使い分けについて説明します。
1. Guest モジュール
guestロール を追加し、ゲストユーザーとして登録できるようにする。- 管理画面へのアクセス権限はなし 。
- API経由でログイン・ログアウト・登録・パスワード更新などが可能。
- 公開サイトのみ閲覧可能 (非公開サイトや非公開ページは見られない)。
- 用途 : 公開サイトに一般ユーザーを登録させ、ログイン機能を提供する。
2. Guest Private モジュール
このモジュールを追加すると、さらに2つのロールが追加される:
(1) guest_private_site
- 公開サイト + 非公開サイトを閲覧可能 (ただし、非公開ページや非公開リソースは見られない)。
- 用途 : サイト全体を非公開にしつつ、特定のユーザーにサイトの閲覧権限を与えたい場合。
(2) guest_private
- 公開サイト + 非公開サイト + 非公開ページ + 非公開リソースを閲覧可能 。
- 用途 : 非公開リソースを含む、特定のコンテンツを許可されたゲストユーザーだけに見せたい場合。
質問: 非公開サイトに指定したユーザーだけ閲覧できるようにしたい
解決策
Guest Private モジュールをインストールする
→ 通常の Guest モジュールでは非公開サイトの閲覧ができないため、Guest Private が必要。ユーザーに
guest_private_siteまたはguest_privateのロールを割り当てる- サイト全体の閲覧許可のみ →
guest_private_site - 非公開ページやリソースも見せたい →
guest_private
- サイト全体の閲覧許可のみ →
サイトの設定
- Omeka S の サイト設定 でサイトを「非公開」に設定する。
- 一般の
guestユーザーはアクセスできなくなる。 guest_private_siteまたはguest_privateのユーザーのみ閲覧可能になる。
まとめ
| ロール | 公開サイト | 非公開サイト | 非公開ページ・リソース |
|---|---|---|---|
guest | ✅ | ❌ | ❌ |
guest_private_site | ✅ | ✅ | ❌ |
guest_private | ✅ | ✅ | ✅ |
「非公開サイトに特定ユーザーのみアクセス可能にしたい」場合はguest_private_site か guest_private を使うのがベストです。
適用
上記に従い、Guest Private モジュールをインストールしました。
https://github.com/Daniel-KM/Omeka-S-module-GuestPrivate
そして、以下のようにユーザを追加します。役割にguest_private_siteを与えます。

結果、非公開サイトにのみアクセスでき、管理画面等にはアクセスできない環境を実現することができました。これにより、指定したユーザのみが閲覧可能な非公開サイトの構築、などを行うことができます。
まとめ
Omeka Sの利用にあたり、参考になりましたら幸いです。