Overview
In the previous article, I explained how to add a flat table of contents using the Omeka S IIIF Server module.
This time, I explain how to add a hierarchical table of contents.
The official manual is available here, and I also created an article translating this manual into Japanese. While the translation is imperfect, I hope it serves as a useful reference.
Details
In the previous article, we created a flat table of contents by entering the following information:
cover,Cover,1
jyo,Preface,4-6
legend,Notes,6-15
catalogue,General Catalog,16-18
toc,Table of Contents,19-20
ch1,Kiritsubo,20-35
ch2,Hahakigi,35
Each line has the following meaning:
{id}, {label}, {canvasIndexOrRangeId1};{canvasIndexOrRangeId2};...; {canvasIndexOrRangeIdN}
Here, we will structure the contents of the Table of Contents (id: toc).
Specifically, first, we treat frame 19 as the table of contents content (id: toc0) included within the Table of Contents (id: toc).
We also modify “Kiritsubo” (id: ch1) and “Hahakigi” (id: ch2) to be included within the Table of Contents (id: toc).
Specifically, prepare the following data. As noted in the manual above, indentation is used to improve the readability of the hierarchical structure and is ignored by the module’s processing.
cover,Cover,1
jyo,Preface,4-6
legend,Notes,6-15
catalogue,General Catalog,16-18
toc,Table of Contents,toc1;ch1;ch2
toc1,Contents,19-20
ch1,Kiritsubo,20-35
ch2,Hahakigi,35
By registering this data as the value of the property configured as “Property for structures” in the IIIF Server module (in this example, dcterms:tableOfContents “Dublin Core: Table of Contents”), a hierarchical table of contents can be achieved as shown in the figure below.

https://diyhistory.org/nakamura196/s/main/item/15
Summary
This article explained how to add a hierarchical table of contents using the Omeka S IIIF Server module. While this article showed an example of creating a simple hierarchical structure, more complex hierarchical structures can also be created as described on the following manual page.
I hope this article serves as a useful reference when adding table of contents information to IIIF manifests using this module.