Omeka SのIIIF Serverモジュールを使用し、階層構造を持つ目次の記述方法について紹介します。
マニュアル#
やや複雑な記述になっていますが、以下に説明があります。
https://github.com/Daniel-KM/Omeka-S-module-IiifServer?tab=readme-ov-file#input-format-of-the-property-for-structures-table-of-contents
単純な目次#
「Toyo Bunko Media Repository」で公開されている以下を例とします。
https://app.toyobunko-lab.jp/s/main/document/9f9d95c2-d33d-7402-742b-47db12748688
以下のように、{RangeのID},{Rangeの名前},{Canvasのインデックス}を指定します。
これにより、以下のように目次が表示されます。

階層構造を持つ目次#
以下を例とします。
https://app.toyobunko-lab.jp/s/main/document/4797b8ca-530f-8aae-f252-7911ad64039b
階層構造を持つ目次を記述する場合には、以下のように4列でデータを用意します。
4列目に子要素となるRangeのIDを指定します。インデントを含めると、以下のような形になります。
これにより、以下のように目次の階層が表示されます。

IIIFマニフェストファイルに作成される目次のデータは以下です。注意点として、viewingHintにtopが与えられているはじめのRange「全体」については、ビューアでは表示されていません。
注意点#
上述しましたが、1行目に指定した目次については、viewingHintにtopが付与され、ビューア上は表示されません。
そのため、以下の例のように、1行目に全体を示す行を追加する必要があります。
以前のIIIFサーバモジュールでは、以下のように記載するだけで問題ありませんでしたが、どこかのタイミングのアップデートにより、1行目に対する処理が変更になったようです。
同様に、上記の例では3列となっていますが、当該アップデートにより、以下のような4列のデータが求められるようになりました。
そのため、旧式(3列)の記述では、3列目にCanvasのインデックスを指定しているr1,r3,r5は正しく表示されるが、3列目に下位のRangeのIDを指定しているr2とr4は正しく表示されない、という不具合が生じていました。
まとめ#
2025年6月時点で最新のIIIFサーバモジュールを使用して階層構造を持つ目次を記述する際、1行目の取り扱いと、4列でデータを記述する点に注意が必要です。
Omeka SのIIIFサーバモジュールの活用にあたり、参考になりましたら幸いです。