📝

Omeka SのモジュールIIIF Viewersの更新

2024/02/05に公開

概要

IIIF ViewersはOmeka Sのモジュールの一つです。

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

最新版のリリースは以下です。

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

今回、いくつかの更新を行いましたので、備忘録です。

Universal Viewerのバージョン更新

Universal Viewerのバージョンをv4.0.25に更新しました。

合わせて、READEME.mdの以下の箇所に、Universal Viewerの更新方法を記載しました。

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

これは、以下のモジュールの記載を参考にしています。

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

また、Miradorの更新方法も記載しましたが、既に最新版が導入されていたので、更新は行われていません。

バグ修正

以下に加えて、細かなバグを修正しました。

Module.php

以下のエラーが生じていました。

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

以下のように修正しました。

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

以下のWarningが生じていたので、いずれも修正しました。

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の更新とGitのプレコミットフックの使用

使用しているPHP CS Fixerがv2だったため、v3に更新しました。

また、Gitのプレコミットフックを使用して、コミット前に./vendor/bin/php-cs-fixer fixを実行するように設定しました。

テスト関連スクリプトの削除

テストに関するスクリプトについて、これまでうまく使えていなかったため、いったん削除しました。今後、改めて導入したいと思います。

GitHub Actionsを用いたアセットのリリースプロセスの自動化

以下のGitHub Actionsを使ってアセットをリリースするようにしました。

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

Omeka Sのテーマやモジュールでは、配布用のzipファイルがあったほうが便利なため、リリースプロセスを自動化することは有効かと思います。

まとめ

Omeka Sのテーマやモジュール開発にあたり、参考になりましたら幸いです。

Discussion