By Daniel Berthereau Adds a guest role. Can’t access backend, but allows plugins to use an authenticated user and to request api without credentials but via session.

Guest (module for Omeka S)

New versions of this module and support for Omeka S version 3.0 and above are available on GitLab, which seems to respect users and privacy better than the previous repository.

Guest is a module for Omeka S that creates a role called guest, and provides configuration options for a login and registration screen. Guests become registered users in Omeka S, but have no other privileges to the admin side of your Omeka S installation. This module is thus intended to be a common module that other modules needing a guest user use as a dependency.

Guest users can use Omeka via the api too (login, logout, register…) with the module Guest Api.

The module is compatible with module UserNames.

The module includes a way to request api without credentials but via session, so it's easier to use ajax in public interface or web application (see omeka/pull/1714).

This module is based on a full rewrite of the plugin Guest User for Omeka Classic by BibLibre.


If the module GuestUser is installed, it is recommended to upgrade it first to version or higher, or to disable it. See more information to upgrade templates from module GuestUser.

Uncompress files in the module directory and rename module folder Guest.

Then install it like any other Omeka module and follow the config instructions.

See general end user documentation for Installing a module.


Guest login form

A guest login form is provided in /s/my_site/guest/login.

Main login form

In some cases, you may want to use the same login form for all users, so you may have to adapt it. You may use the navigation link too (in admin > sites > my-site > navigation).

if ($this->identity()):
    echo $this->hyperlink($this->translate('Logout'), $this->url()->fromRoute('site/guest/guest', ['site-slug' => $site->slug(), 'action' => 'logout']), ['class' => 'logout']);
    echo $this->hyperlink($this->translate('Login'), $this->url()->fromRoute('site/guest/anonymous', ['site-slug' => $site->slug(), 'action' => 'login']), ['class' => 'login']);

Terms agreement

A check box allows to force guests to accept terms agreement.

A button in the config forms allows to set or unset all guests acceptation, in order to allow update of terms.


  • Move pages to a standard page, in particular register page (see module ContactUs).


Use it at your own risk.

It’s always recommended to backup your files and your databases and to check your archives regularly so you can roll back if needed.


See online issues on the module issues page.


This plugin is published under the CeCILL v2.1 license, compatible with GNU/GPL and approved by FSF and OSI.

In consideration of access to the source code and the rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software’s author, the holder of the economic rights, and the successive licensors only have limited liability.

In this respect, the risks associated with loading, using, modifying and/or developing or reproducing the software by the user are brought to the user’s attention, given its Free Software status, which may make it complicated to use, with the result that its use is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the suitability of the software as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions of security. This Agreement may be freely reproduced and published, provided it is not altered, and that no provisions are either added or removed herefrom.


  • Copyright Biblibre, 2016-2017
  • Copyright Daniel Berthereau, 2017-2020 (see Daniel-KM on GitLab)
Version Released Minimum Omeka version 21, 2022 [info]^3.1.0 20, 2021 [info]^3.1.0 08, 2021 [info]^3.1.0 20, 2021 [info]^3.1.0 03, 2021 [info]^3.0.0 05, 2021 [info]^3.0.0 23, 2020 [info]^3.0.0 16, 2020 [info]^3.0.0 27, 2020 [info]^3.0.0 26, 2020 [info]^3.0.0 19, 2020 [info]^3.0.0 28, 2020 [info]^1.3.0 || ^2.0.0
3.4.9August 03, 2020 [info]^1.3.0 || ^2.0.0
3.4.8March 15, 2020 [info]^1.3.0 || ^2.0.0
3.4.7February 23, 2020 [info]^1.3.0 || ^2.0.0
3.4.5January 05, 2020 [info]^1.3.0 || ^2.0.0
3.4.4December 08, 2019 [info]^1.3.0 || ^2.0.0
3.4.3November 17, 2019 [info]^1.3.0 || ^2.0.0
3.4.1September 29, 2019 [info]^1.3.0
3.4.0August 18, 2019 [info]^1.3.0