🐙

Omeka SのIIIF Serverモジュールを使用した階層構造を持つ目次の記述

に公開

概要

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のインデックス}を指定します。

r1,延享、寛延、宝暦,1
r2,明和,25
r3,安永一,55
r4,安永二,79
r5,天明一,110
r6,天明二,142
r7,寛政一,177
r8,寛政二,218
r9,享和,255
r10,文化一,279
r11,文化、文政、二,313

これにより、以下のように目次が表示されます。

階層構造を持つ目次

以下を例とします。

https://app.toyobunko-lab.jp/s/main/document/4797b8ca-530f-8aae-f252-7911ad64039b

階層構造を持つ目次を記述する場合には、以下のように4列でデータを用意します。

r0, 全体,-, r1;r2;r29;r55;r73
r1, 目次, 4-8, -
r2, 第一、 蒙疆政府ノ司法制度…一頁, -, r3;r4;r9;r14;r15
r3, 一、 司法制度ノ沿革…一, 8-10, -
r4, 二、 司法關係機關…四, -, r5;r6;r7;r8
r5, (一) 司法部…四, 10, -
r6, (二) 法院…四, 10-11, -
r7, (三) 縣旗司法機關…六, 11, -
r8, (四) 行刑機關…七, 11-12, -
r9, 三、 司法事務…八, -, r10;r11;r12;r13
r10, (一) 刑事事件…八, 12, -
r11, (二) 民事事件…九, 12, -
r12, (三) 行刑事務…九, 12-14, -
r13, (四) 登記…一二, 14-15, -
r14, 四、 司法經費…一四, 15-16, -

4列目に子要素となるRangeのIDを指定します。インデントを含めると、以下のような形になります。

r0, 全体,-, r1;r2;r29;r55;r73
    r1, 目次, 4-8, -
    r2, 第一、 蒙疆政府ノ司法制度…一頁, -, r3;r4;r9;r14;r15
        r3, 一、 司法制度ノ沿革…一, 8-10, -
        r4, 二、 司法關係機關…四, -, r5;r6;r7;r8
            r5, (一) 司法部…四, 10, -
            r6, (二) 法院…四, 10-11, -
            r7, (三) 縣旗司法機關…六, 11, -
            r8, (四) 行刑機關…七, 11-12, -
        r9, 三、 司法事務…八, -, r10;r11;r12;r13
            r10, (一) 刑事事件…八, 12, -
            r11, (二) 民事事件…九, 12, -
            r12, (三) 行刑事務…九, 12-14, -
            r13, (四) 登記…一二, 14-15, -
        r14, 四、 司法經費…一四, 15-16, -

これにより、以下のように目次の階層が表示されます。

IIIFマニフェストファイルに作成される目次のデータは以下です。注意点として、viewingHinttopが与えられているはじめのRange「全体」については、ビューアでは表示されていません。

{
  "structures": [
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r0",
      "@type": "sc:Range",
      "label": "全体",
      "viewingHint": "top",
      "ranges": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r1",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r2",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r29",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r55",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r73"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r1",
      "@type": "sc:Range",
      "label": "目次",
      "canvases": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p4",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p5",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p6",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p7",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p8"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r2",
      "@type": "sc:Range",
      "label": "第一、 蒙疆政府ノ司法制度…一頁",
      "ranges": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r3",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r4",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r9",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r14",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r15"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r3",
      "@type": "sc:Range",
      "label": "一、 司法制度ノ沿革…一",
      "canvases": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p8",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p9",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p10"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r4",
      "@type": "sc:Range",
      "label": "二、 司法關係機關…四",
      "ranges": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r5",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r6",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r7",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r8"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r5",
      "@type": "sc:Range",
      "label": "(一) 司法部…四",
      "canvases": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p10"
      ]
    },
    {
      "@id": "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/range/r6",
      "@type": "sc:Range",
      "label": "(二) 法院…四",
      "canvases": [
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p10",
        "https://app.toyobunko-lab.jp/iiif/2/4797b8ca-530f-8aae-f252-7911ad64039b/canvas/p11"
      ]
    }
  ]
}

注意点

上述しましたが、1行目に指定した目次については、viewingHinttopが付与され、ビューア上は表示されません。

そのため、以下の例のように、1行目に全体を示す行を追加する必要があります。

r0, 全体,-, r1;r2;r29;r55;r73

以前のIIIFサーバモジュールでは、以下のように記載するだけで問題ありませんでしたが、どこかのタイミングのアップデートにより、1行目に対する処理が変更になったようです。

r1, 目次, 4-8
r2, 第一、 蒙疆政府ノ司法制度…一頁,r3;r4;r9;r14;r15
r3, 一、 司法制度ノ沿革…一, 8-10
r4, 二、 司法關係機關…四,r5;r6;r7;r8
r5, (一) 司法部…四,10

同様に、上記の例では3列となっていますが、当該アップデートにより、以下のような4列のデータが求められるようになりました。

{RangeのID},{Rangeの名前},{Canvasのインデックス},{下位のRangeのID}

そのため、旧式(3列)の記述では、3列目にCanvasのインデックスを指定しているr1,r3,r5は正しく表示されるが、3列目に下位のRangeのIDを指定しているr2とr4は正しく表示されない、という不具合が生じていました。

まとめ

2025年6月時点で最新のIIIFサーバモジュールを使用して階層構造を持つ目次を記述する際、1行目の取り扱いと、4列でデータを記述する点に注意が必要です。

Omeka SのIIIFサーバモジュールの活用にあたり、参考になりましたら幸いです。

Discussion