🙆‍♀️

Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する

2025/03/07に公開

概要

Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する方法に関する備忘録です。

ベースとするモジュール

Amazon S3との連携を可能にする以下のモジュールをベースとします。

https://omeka.org/s/modules/AmazonS3/

本モジュールでは、Omeka Sで取り扱う画像や動画といったメディアのファイルをAmazon S3に保存するための拡張機能を提供します。

一方、endpointの指定ができないため、mdx.jpのオブジェクトストレージなどを対象にすることはできませんでした。

モジュールのカスタマイズ

上述した背景を踏まえて、Amazon S3以外のオブジェクトストレージを利用できるように、モジュールをカスタマイズしました。カスタマイズした結果は、以下のリポジトリで公開しています。

https://github.com/nakamura196/Omeka-S-module-AmazonS3

なお、カスタマイズについては、エディタとしてCursorを使用し、s3互換のオブジェクトストレージにも対応したいという依頼をclaude-3.7-sonnetに提出し、その結果を反映しています。

結果、上記のモジュールを使用することにより、Omeka Sで登録したメディアが以下のようなURLでアクセス可能になりました。

https://s3ds.mdx.jp/<バケット名>/large/3e0a78e1cbc239f37cfff0e777c40c2f9b2f5c92.jpg

以下は、filesディレクトリを、mdx.jpに接続したCyberduckで表示した例です。

モジュールの設定内容は以下のとおりです。カスタムエンドポイントURLという項目が追加されており、https://s3ds.mdx.jpを指定することで、mdx.jpのオブジェクトストレージを利用できるようになりました。

なお、上記の画面キャプチャで表示されているとおり、mdx.jpのオブジェクトストレージにファイルが保存される設定をしても、現時点ではWrong region. Please use region of a bucket:と表示されてしまいます。この点は、今後修正予定です。

モジュールのインストール

今回フォークして作成したカスタムモジュールをインストールするには、以下の手順を踏む必要があります。

cd <モジュールが格納されているディレクトリ>
git clone https://github.com/nakamura196/Omeka-S-module-AmazonS3 AmazonS3
cd AmazonS3
composer install --no-dev

Omeka Sにおいて、ソースからモジュールを使用するには、おおよそ共通して上記のような手続きが必要になります。

参考

Omeka Sのモジュールにおいて、同様の機能を提供するものとして、Any Cloudがあります。

https://github.com/HBLL-Collection-Development/omeka-s-any-cloud

こちらもAmazon S3との接続機能を提供しており、またカスタイズを行う必要がなく、AWS Endpointを入力する項目が提供されていました。

ただ、これらの項目に先述したmdx.jpのオブジェクトストレージの情報を入力したところ、アイテムなどを登録する画面で以下のエラーが表示されました。

原因や対処方法については引き続き調査したいと思いますが、このエラーが遭遇したため、Any Cloudではなく、Amazon S3モジュールをカスタマイズする選択を行いました。

まとめ

2025年度からmdx.jpのオブジェクトストレージは無料で使用可能になるということで、デジタルアーカイブにおける公開画像の格納先や、また長期保存のためのストレージとしても有効な選択肢になるかと思います。

https://mdx.jp/mdx1/news/4839

デジタルアーカイブの構築や活用にあたり、参考になりましたら幸いです。

Discussion