Overview

IIIF Viewers is one of the modules for Omeka S.

https://github.com/omeka-j/Omeka-S-module-IiifViewers

The latest release is available here:

https://github.com/omeka-j/Omeka-S-module-IiifViewers/releases/latest

I made several updates this time, so this is a memorandum.

Universal Viewer Version Update

I updated Universal Viewer to v4.0.25.

Additionally, I documented how to update Universal Viewer in the following section of README.md:

https://github.com/omeka-j/Omeka-S-module-IiifViewers?tab=readme-ov-file#compilation-of-universal-viewer

This was based on the documentation in the following module:

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

I also documented how to update Mirador, but since the latest version was already installed, no update was performed.

Bug Fixes

In addition to the following, minor bugs were fixed.

Module.php

The following error was occurring:

Deprecated: Creation of dynamic property IiifViewers\Module::$dependencies is deprecated in /var/www/html/modules/IiifViewers/Module.php on line 147

It was fixed as follows:

namespace IiifViewers;

use Omeka\Module\AbstractModule;
use IiifViewers\Form\ConfigForm;
use Laminas\Mvc\Controller\AbstractController;
use Laminas\EventManager\Event;
use Laminas\EventManager\SharedEventManagerInterface;
use Laminas\Mvc\MvcEvent;
use Laminas\View\Renderer\PhpRenderer;
use Laminas\ServiceManager\ServiceLocatorInterface;
use Omeka\Module\Exception\ModuleCannotInstallException;
use Omeka\Stdlib\Message;

class Module extends AbstractModule
{
    protected $dependencies = []; // Define the property at the beginning

    // Rest of your code...

iiif-viewers.phtml

The following Warning messages were occurring, and all of them were fixed.

Warning: Undefined array key "viewer_lang" in /var/www/html/modules/IiifViewers/view/common/helper/iiif-viewers.phtml on line 34

Warning: Undefined array key "viewer_value" in /var/www/html/modules/IiifViewers/view/common/helper/iiif-viewers.phtml on line 35

...

PHP CS Fixer Update and Using Git Pre-commit Hooks

The PHP CS Fixer in use was v2, so I updated it to v3.

I also configured Git pre-commit hooks to run ./vendor/bin/php-cs-fixer fix before each commit.

Removal of Test-Related Scripts

Since I had not been able to use the test-related scripts effectively, I removed them for now. I plan to reintroduce them in the future.

Automating the Asset Release Process with GitHub Actions

I set up asset releases using the following GitHub Actions:

https://github.com/omeka-j/Omeka-S-module-IiifViewers/blob/master/.github/workflows/release.yml

Since having a distributable zip file is convenient for Omeka S themes and modules, automating the release process seems effective.

Summary

I hope this serves as a useful reference for developing Omeka S themes and modules.