📝

Omeka ClassicをHeadless CMSとして使用してみる。

2022/07/08に公開

概要

Omeka SおよびOmeka Classicは、デジタルアーカイブ構築および人文(情報)学研究において、とても便利なツールです。

https://omeka.org/

REST APIを標準搭載し、モジュールおよびプラグインの追加などによる高い拡張性を持ちます。またIIIF関連ツール、翻刻支援ツール、時空間情報を取り扱うツールなど、さまざまな既存資産を利用することができます。

一方、サイトの見た目を変更するテーマ開発などについては、PHPおよびOmekaに対する知識が求められ、比較的難易度が高いと(個人的に)感じています。この点について、昨今はバックエンドとフロンドエンドを分離したHeadless CMSという使い方も普及しつつあります。

そこでOmeka ClassicをHeadless CMSとして使用し、Nuxt 3を用いたフロントエンド開発を試みました。Omekaの活用方法の一例として参考になれば幸いです。

Omeka Classicの準備

APIの有効化

以下を参考に、APIの有効化を行います。

https://omeka.org/classic/docs/Admin/Settings/API_Settings/

Access-Control-Allow-Originヘッダーの追加

.htaccessファイルにAccess-Control-Allow-Originヘッダーを追加します。

Header set Access-Control-Allow-Origin "*" # 追加

# Omeka .htaccess: Apache configuration file
# This file is required for Omeka to function correctly.

# --------------- #
# Error Reporting #
...

Omeka ClassicのAPI

以下のページにAPIがまとめられています。

https://omeka.readthedocs.io/en/latest/Reference/api/index.html

例えば、以下のようなURLから、アイテムに対する簡易な検索が可能です。(Omeka Classicでは詳細な検索ができないようです。本格的な利用にあたっては、Omeka Sを使用する必要がありそうです。)

https://omeka.aws.ldas.jp/api/items?search=被

フロントエンドの開発

今回は勉強を兼ねて、Nuxt 3とVuetify 3を使ってみました。2022-07-08時点において、アプリの完成度は大変低いが、Omeka ClassicをHeadless CMSとして利用し得ることを確認できました。

https://omekac.netlify.app/

まとめ

Omeka(SおよびClassic)を用いたシステム開発における一例として、参考になりましたら幸いです。

Discussion