Omeka Sで非公開サイトを共有する

2025/03/13に公開

概要

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

  • 公開サイト + 非公開サイト + 非公開ページ + 非公開リソースを閲覧可能
  • 用途: 非公開リソースを含む、特定のコンテンツを許可されたゲストユーザーだけに見せたい場合。

質問: 非公開サイトに指定したユーザーだけ閲覧できるようにしたい

解決策

  1. Guest Private モジュールをインストールする
    → 通常の Guest モジュールでは非公開サイトの閲覧ができないため、Guest Private が必要。

  2. ユーザーに guest_private_site または guest_private のロールを割り当てる

    • サイト全体の閲覧許可のみguest_private_site
    • 非公開ページやリソースも見せたいguest_private
  3. サイトの設定

    • Omeka S の サイト設定 でサイトを「非公開」に設定する。
    • 一般の guest ユーザーはアクセスできなくなる。
    • guest_private_site または guest_private のユーザーのみ閲覧可能になる

まとめ

ロール 公開サイト 非公開サイト 非公開ページ・リソース
guest
guest_private_site
guest_private

「非公開サイトに特定ユーザーのみアクセス可能にしたい」場合は guest_private_siteguest_private を使うのがベストです。

適用

上記に従い、Guest Private モジュールをインストールしました。

https://github.com/Daniel-KM/Omeka-S-module-GuestPrivate

そして、以下のようにユーザを追加します。役割にguest_private_siteを与えます。

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

まとめ

Omeka Sの利用にあたり、参考になりましたら幸いです。

Discussion