概要

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

rrrrrrrrrrr12345678911,,,,,,,,,01,,,,2,,,,,,255711125,59147152027879,,1313

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

階層構造を持つ目次

以下を例とします。

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

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

rrrrrrrrrrrrrrr012345678911111,,,,,,,,,,01234,,,,,,,   -      ,4    -r81,;沿,r-,,21,,;,10-,,,,r,0-,1,12-,111114198,11-r222-5;--,111,,-1-r,1r,20151505-,;--4,65-,;-r,,;,r-1-r-61--7r;;33rr;71r;24r;;8rr193;r14;r15

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

r0,rr12,,,-,rrrr3491r,,,,41 ,;4rrrrrrrrr-5678111128  ,,,, 0123;,,,,, r2-9;    r沿    5,5;,-,r,,,,7-,13-8,1,r,5,-101,,,-1r0-,1011r05,11;111463,;11-r222-,;r-,111,,-1r-6,2115-4;-,;--4,;r-r,r7-1-9;2-;r;r8r1143;r15

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

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

{}"]st{}{}{}{}{}{}{}r,,,,,,u"""""]""""]""""]""""]""""]""""]""""]c@@lvr@@lc@@lr@@lc@@lr@@lc@@lctitaia"""""itaa"""""itaa"""""itaa"""itaa""""itaa"itaa""udybenhhhhhdybnhhhhhdybnhhhhhdybnhhhdybnhhhhdybnhdybnhhr"pewgttttt"pevttttt"pegttttt"pevttt"pegtttt"pevt"pevtte:eliettttt:elattttt:elettttt:elattt:eletttt:elat:elatts""nsppppp""sppppp""sppppp""sppp""spppp""sp""spp""::g"sssss"::esssss"::"sssss"::esss"::"ssss"::es"::ess:hH::::::hs:::::h::::::hs:::h:::::hs:hs::t""i/t"""/t""/t"""/t""/t"""/t"""/[tsn[/ts:/ts[/ts:/ts[/ts:/ts:/pctaaaaapcaaaaapcaaaaapcaaapcaaaapcapcaas:""ppppps:"[ppppps:ppppps: [ppps: pppps:[ps:[pp:R,:ppppp:R,ppppp:R ppppp:Rppp:Rpppp:R p:R pp/a...../a...../a...../a.../a..../a./a../n"ttttt/nttttt/nttttt/nttt/ntttt/nt/nttagtoooooagoooooagoooooagoooagooooagoagoopeoyyyyypeyyyyypeyyyyypeyyypeyyyypeypeyyp"pooooop"ooooop"ooooop"沿ooop"oooop"op""oo.,"bbbbb.,bbbbb.,bbbbb.,bbb.,bbbb.,"b.,,bbt,uuuuutuuuuutuuuuutuuutuuuut,utuuonnnnnonnnnnonnnnnonnno"nnnnononnykkkkkykkkkkykkkkky"kkky,kkkkykykkooooooooooooooooooo,ooooooooooooob-----b-----b-----b---b----b-b--ulllllulllllulllllulllullllulullnaaaaanaaaaan"aaaaanaaanaaaananaakbbbbbkbbbbbk,bbbbbkbbbkbbbbkbkbbo.....o.....o.....o...o....o.o..-jjjjj-jjjjj-jjjjj-jjj-jjjj-j-jjlppppplppppplppppplppplpppplplppa/////a/////a/////a///a////a/a//biiiiibiiiiibiiiiibiiibiiiibibii.iiiii.iiiii.iiiii.iii.iiii.i.iijiiiiijiiiiijiiiiijiiijiiiijijiipfffffpfffffpfffffpfffpffffpfpff////////////////////////////////i22222i22222i22222i222i2222i2i22i/////i/////i/////i///i////i/i//i44444i44444i44444i444i4444i4i44f77777f77777f77777f777f7777f7f77/99999/99999/99999/999/9999/9/9927777727777727777727772777727277/bbbbb/bbbbb/bbbbb/bbb/bbbb/b/bb488888488888488888488848888484887ccccc7ccccc7ccccc7ccc7cccc7c7cc9aaaaa9aaaaa9aaaaa9aaa9aaaa9a9aa7-----7-----7-----7---7----7-7--b55555b55555b55555b555b5555b5b5583333383333383333383338333383833c00000c00000c00000c000c0000c0c00afffffafffffafffffafffaffffafaff--------------------------------588888588888588888588858888585883aaaaa3aaaaa3aaaaa3aaa3aaaa3a3aa0aaaaa0aaaaa0aaaaa0aaa0aaaa0a0aafeeeeefeeeeefeeeeefeeefeeeefefee--------------------------------8fffff8fffff8fffff8fff8ffff8f8ffa22222a22222a22222a222a2222a2a22a55555a55555a55555a555a5555a5a55e22222e22222e22222e222e2222e2e22--------------------------------f77777f77777f77777f777f7777f7f77299999299999299999299929999292995111115111115111115111511115151121111121111121111121112111121211-aaaaa-aaaaa-aaaaa-aaa-aaaa-a-aa7ddddd7ddddd7ddddd7ddd7dddd7d7dd966666966666966666966696666969661444441444441444441444144441414410000010000010000010001000010100a33333a33333a33333a333a3333a3a33d99999d99999d99999d999d9999d9d996bbbbb6bbbbb6bbbbb6bbb6bbbb6b6bb4/////4/////4/////4///4////4/4//0rrrrr0ccccc0rrrrr0ccc0rrrr0c0cc3aaaaa3aaaaa3aaaaa3aaa3aaaa3a3aa9nnnnn9nnnnn9nnnnn9nnn9nnnn9n9nnbgggggbvvvvvbgggggbvvvbggggbvbvv/eeeee/aaaaa/eeeee/aaa/eeee/a/aar/////rsssssr/////rsssr////rsrssarrrrra/////arrrrra///arrrra/a//n12257npppppn34911npppn5678npnppg""953g45678g"""45g891g""""g1g11e,,"""e"""""e,,,""e""0e,,,e0e01/,,/,,,,/,/,,"//"/""rrrrrrr,0123456""""""",,,,,,,

注意点

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

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

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

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

rrrrr12345,,,,,,    4-8沿,1,0,r58;-r,16r0;3r;7r;4r;8r9;r14;r15

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

{RangeID},{Range},{Canvas},{RangeID}

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

まとめ

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

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