ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
【Omeka S モジュール開発】IIIFマニフェストにIIIF Content Search APIのURIを追加するモジュールを開発しました。

【Omeka S モジュール開発】IIIFマニフェストにIIIF Content Search APIのURIを追加するモジュールを開発しました。

概要 IIIFマニフェストにIIIF Content Search APIのURIを追加するOmeka Sのモジュールを開発しました。 github.com IIIF Content Search APIを使用することにより、以下のように、Universal Viewer等でテキスト検索が可能になります。 本モジュールは、Omeka Sとは独立して提供されるIIIF Content Search APIを利用します。そのため、本モジュールを使用するには、このAPIの提供環境を別途用意する必要があります。この環境構築のコストに課題が残りますが、すでにIIIF Content Search APIの提供環境をお持ちで、かつOmeka Sでの利用を検討している方の参考になれば幸いです。 (IIIF Content Search APIの提供環境の構築については、改めて記事にできればと思います。) 背景 Omeka SのIIIF Serverモジュールは、Omeka Sに登録されたメタデータから、IIIFマニフェストファイルなどを生成するモジュールです。Omekaの様々なモジュールを開発されているDaniel-KM氏が主に開発されています。 omeka.org 本IIIF Serverモジュールの使い方については、以下で紹介しています。 youtu.be 本モジュールは、IIIF Presentation API 3.0への対応やIIIFコレクションの出力、目次の生成など、IIIF Presentation APIに関する様々な機能を提供していますが、本記事執筆時点(2022-02-11)において、IIIF Content Search APIに関する機能は提供していません。 なお、今回開発したモジュールとは別に、以下のIIIF Content Search API関連モジュールがあります。こちらはOmeka Sの内部でIIIF Content Search APIの提供環境を構築する大変便利なモジュールですが、PDFファイルに対するOCRテキストの利用が前提となっており、用途が限定的です。 github.com 機能紹介 本モジュールが提供する機能は単純で、以下に示すように、IIIF Content Search APIのURIを格納したプロパティを指定する設定機能を提供します。ここで設定したプロパティにURI形式の値を持つアイテムについて、IIIFマニフェストにIIIF Content Search APIのサービス情報を追記します。 生成されるIIIFマニフェストの例を以下に示します。(Omeka SのIIIF Serverモジュールによって生成された)IIIFマニフェスト内にIIIF Content Search APIのサービス情報が含まれていることを確認できます。 https://iiif.dl.itc.u-tokyo.ac.jp/repo/iiif/d507a810-cff7-4168-bc10-70a32a55920f/manifest ...

【Omeka S モジュール情報共有】Clean Urlモジュールの不具合と暫定の修正方法

【Omeka S モジュール情報共有】Clean Urlモジュールの不具合と暫定の修正方法

◆ 不具合 Omeka S3 に Clean Url モジュールをインストールし、初期設定を行なったにもかかわらず、サイトのアイテム詳細ページなどにおいて、設定したアイテムの識別子が表示されない(Omekaが自動付与するIDがそのまま表示されてしまう)不具合を確認しました。 ◆ 確認したバージョン OmekaS 3.1.1 CleanUrl 3.17.3.3 ◆ 暫定の修正方法 以下の設定画面において、まず「Skip “s/site-slug/” for default site」にチェックを入れて、画面右上の「Submit」を押します。次に、再度「Skip “s/site-slug/” for default site」のチェックを外して、画面右上の「Submit」を押します。この操作により、「Property for identifier」に設定したプロパティのIDがアイテムの識別子として表示されるようになりました。 ◆ まとめ 同様の不具合でお困りの方の参考になれば幸いです。 なお本件について、GitHubのIssueを作成済です。 https://github.com/Daniel-KM/Omeka-S-module-CleanUrl/issues/9

【Omeka S モジュール紹介】Omeka Sで利用可能なIIIF対応ビューア

【Omeka S モジュール紹介】Omeka Sで利用可能なIIIF対応ビューア

概要 2021年9月15日時点でOmeka Sのモジュールとして提供されているIIIF対応ビューアをまとめます。 ビューア一覧 Universal Viewer github.com Mirador github.com Diva IIIF Viewer github.com まとめ 以下のページで導入イメージをご確認いただけます。Omeka Sを用いたIIIF画像配信の参考になりましたら幸いです。 diyhistory.org

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その2:階層構造を持つ目次の登録)

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その2:階層構造を持つ目次の登録)

概要 前回の記事では、Omeka SのIIIF Serverモジュールを用いて、フラットな目次を追加する方法について説明しました。 nakamura196.hatenablog.com 今回は、階層構造を持つ目次を追加する方法について説明します。 公式のマニュアルはこちらにありますが、このマニュアルを和訳した記事も作成しました。不完全な日本語ですが、参考になりましたら幸いです。 nakamura196.hatenablog.com 詳細 前回は、以下の情報を入力することで、フラットな目次を作成しました。 cover,表紙,1 jyo,序,4-6 legend,凡例,6-15 catalogue,總目錄,16-18 toc,目次,19-20 ch1,きりつほ,20-35 ch2,はゝき木,35 各行は、以下の意味を持ちます。 {id}, {label}, {canvasIndexOrRangeId1};{canvasIndexOrRangeId2};...; {canvasIndexOrRangeIdN} ここでは、目次(id: toc)について、その内容を構造化します。 具体的には、まず、19コマ目を目次の内容(id: toc0)として、目次(id: toc)に含まれる形とします。 また、「きりつぼ」(id: ch1)と「はゝき木」(id: ch2)についても、目次(id: toc)に含まれるように修正します。 具体的には、以下のデータを用意します。上記のマニュアルにも記載がありますが、インデントは、階層構造をみやすくするために用いており、モジュール内の処理では無視されます。 cover,表紙,1 jyo,序,4-6 legend,凡例,6-15 catalogue,總目錄,16-18 toc,目次,toc1;ch1;ch2 toc1,内容,19-20 ch1,きりつほ,20-35 ch2,はゝき木,35 このデータをIIIF Serverモジュールの「Property for structures」として設定したプロパティ(今回の例では、dcterms:tableOfContents「Dublin Core: 目次」)の値として登録することで、下図のように、階層構造を持つ目次を実現することができます。 https://diyhistory.org/nakamura196/s/main/item/15 まとめ 今回は、Omeka SのIIIF Serverモジュールを用いて、階層構造を持つ目次を追加する方法について説明しました。今回は単純な階層構造を作成する例を示しましたが、以下のマニュアルページに記載があるような、複雑な階層構造も作成することができます。 https://github.com/Daniel-KM/Omeka-S-module-IiifServer#input-format-of-the-property-for-structures-table-of-contents 本モジュールを用いた、IIIFマニフェストへの目次情報を追加にあたり、本記事が参考になれば幸いです。

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その1:フラットな目次の登録)

【機能開発】Omeka SのIIIFモジュールで、目次を加える機能を追加しました。(その1:フラットな目次の登録)

概要 Omeka SのIIIF Serverモジュールについて、IIIFマニフェストに目次を加える機能を追加開発しました。以下の、ver 3.6.5.3から本機能が利用可能です。 github.com 本記事では、本モジュールを用いて、目次を追加する方法について説明します。なお、動画でも操作方法を紹介しています。参考なれば幸いです。 youtu.be 詳細 設定 公式の説明は以下にあります。 https://github.com/Daniel-KM/Omeka-S-module-IiifServer#config-options-for-manifest まず、本モジュールの設定画面において、「Property for structures」に指定するプロパティを選択します。ここで選択したプロパティの値に、目次の情報を入力することで、IIIFマニフェストに目次情報を反映させることができます。ここでは、例えば、「Dublin Core: 目次」を選択します。 データ登録 今回は、国立国会図書館で公開されている『校異源氏物語』の一部を例とします。 ここでは、アイテムの登録とBulk Importを用いたIIIF画像の一括登録の方法についても紹介します。Bulk Importの使い方については、以下の記事を参考にしてください。 nakamura196.hatenablog.com アイテムの登録 まず、アイテムを登録します。画面左部のメニューから「アイテム」を選択し、アイテム画面の画面右上部の「新規アイテムの追加」をクリックします。そして、ここでは最低限の情報として、タイトルに「校異源氏物語」、識別子(dcterms:identifier)に「kouigenjimonogatari」を与えます。 画像(メディア)の登録 次に、画像の登録を行います。今回は、IIIF画像を登録する例を紹介します。具体的には、国立国会図書館で配信されているIIIF画像の一部(はじめの35コマ)を登録します。 一括登録用のデータとして、以下のようなCSVファイルを用意します。ポイントとして、列「iiif」にIIIF画像サービスのURL、列「item」に先に入力した「kouigenjimonogatari」を与えます。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/media_iiif.csv データの一括登録は、Bulk Importを用います。画面左のメニューから「Bulk Import」をクリックし、「CSV - Medias」をクリックします。そして先に作成したCSVファイルをアップロードして、「Continue」を押します。次の設定画面「Start import」はそのままで、「Continue」>「Start import」を選択して、画像を一括登録します。 アイテムの一覧画面から、先ほど登録した「校異源氏物語」を確認すると、35件の画像が登録されていることを確認できます。 目次の登録 この35件の画像について、目次情報を付与します。ここでは、1コマ目に表紙(id: cover)、4-6コマ目に序(id: jyo)、6-15コマ目に凡例(id: legend)、16-18コマ目に総目録(id: catelogue)、19-20コマ目に目次(id: toc)、20-35コマ目に「きりつぼ」(id: ch1)、35コマ目に「はゝき木」(id: ch2)を与えます。 具体的には、下図のように、プロパティ「目次」を追加して、各行が以下のフォーマットに基づく情報を入力します。 {id}, {label}, {canvasIndexOrRangeId1};{canvasIndexOrRangeId2};...; {canvasIndexOrRangeIdN} または、 {id}, {label}, {canvasIndex1}-{canvasIndexN} 具体的には、以下を入力します。 cover,表紙,1 jyo,序,4-6 legend,凡例,6-15 catalogue,總目錄,16-18 toc,目次,19-20 ch1,きりつほ,20-35 ch2,はゝき木,35 この後、アイテムの公開ページに遷移し、Universal Viewerを確認すると、正しく目次が設定されていることを確認できます。 ...

【機能開発】Omeka SのIIIF Serverモジュールにおけるライセンスプロパティの不具合修正

【機能開発】Omeka SのIIIF Serverモジュールにおけるライセンスプロパティの不具合修正

Omeka SのIIIF Serverモジュールについて、IIIF Presentation APIのバージョン2を使用する際の、ライセンスプロパティにおける不具合を修正しました。 具体的には、以下のIIIF Serverモジュールのライセンスに関する設定において、設定内容がIIIFマニフェストに反映されない不具合を修正しました。 以下の、ver 3.6.5.3から本修正が反映されたモジュールを利用可能です。 github.com 本不具合でお困りの方の参考になれば幸いです。 なお、以下がMerge requestです。 gitlab.com

【和訳】Omeka S IIIF Serverモジュールの目次情報の追加方法

【和訳】Omeka S IIIF Serverモジュールの目次情報の追加方法

Omeka S IIIF Serverモジュールの目次情報の追加方法に関するマニュアルの和訳です。公式のマニュアルは以下です。 github.com 本モジュールを用いて、IIIFマニフェストに目次情報を追加する際の参考になりましたら幸いです。 Config options for manifest Input format of the property for structures (table of contents) 構造(目次)のプロパティの入力形式 デフォルトの構造は、iiifメディアの単純なシーケンシャルリストです。 目次を使用して複雑なドキュメントの構造を構築するには、特定のプロパティを使用して、必要なjsonを値に入力するか、次の形式のリテラル値を入力します。各行は構造(目次)の一部です。 {id}, {label}, {canvasIndexOrRangeId1}; {canvasIndexOrRangeId2}; ...; {canvasIndexOrRangeIdN} 例: cover, Front Cover, 1 r1, Introduction, 2; 3; 4; 5 backCover, Back Cover, 6 Range ID(行の最初の部分)は、URIの作成に使用されるRangeの名前です。他のインデックスとの衝突を避けるために、数値であってはなりません。スペース、発音区別符号、またはその他の特殊文字を含まない単純な英数字の名前である必要があります(すべてのコーディング規約において非常に安定しています)。「/」を含めることはできません。とにかく、この名前は最後のuriでURLエンコードされます。 さらに、Range IDはすべてのアイテムで一意である必要があります。 入力を省略した場合、行番号が使用されます。その場合、特定のRange名がないことを示すために最初のコンマを残してください。たとえば上記でr1が指定されていない場合、Range IDはr2になります。Rangeを指すrと2行目を指す2から構成されます。ただし、新しい行が挿入されるとURIが変更されるため、この方法はお勧めしません。 各行の2番目の部分は、章などのRangeのラベルです。空の場合、IIIFマニフェスト内容には記述されますが、IIIF対応ビューアなどでは表示されません。 各行の最後の部分は、現在の範囲に含まれる上位のCanvasまたは上位のRangeのリストであるため、基本的には画像とサブセクションのリストです。 ほとんどの場合、Canvasインデックスはメディアの位置です。iiifで使用されているメディアのみが列挙され、アイテムに添付されているpdf、xmlなどの特定のメディアは列挙されないため、添付メディアのリストのOmeka内部位置とは異なる可能性がある点に注意してください。他のインデックスは、Range ID(各行の最初の部分)のリストにある場合、Rangeインデックスとして管理されます。そうでない場合は、Canvasの英数字の名前になります。 最初の行の最初のRange IDは、ツリーのルートです。ルートは1つだけです。複数のルートがある場合(以下を参照)、すべてのルートをブランチとしてメイン範囲が追加されます。 したがって、このリテラル値から複雑な階層的な目次を作成することが可能です。以下は、不完全で誤った例を使用します。 toc, Table of Contents, cover; intro; r1; r2; backcover cover, Front cover, cover intro, Introduction, 2-5 r1, First chapter, 6; r1-1; r1-2; 12 r1-1, First section, r1-1-1; r1-1-2; illustration1; illus2 r1-1-1, First sub-section, 8-9 r1-1-2, Second sub-section, 9-10 r2, Second chapter, 13 backcover, Back cover, "backcover" illustration1, First illustration non paginated, illus1 illustration3, Third illustration non paginated, illus3 iiif v2のjson出力例: ...

【Omeka S Tips】WindowsでBulkImportモジュールを使用する際の注意点

【Omeka S Tips】WindowsでBulkImportモジュールを使用する際の注意点

概要 以下の記事で、CSVファイルを用いたメタデータと画像の一括登録を行うためのモジュール「BulkImport」について紹介しました。 nakamura196.hatenablog.com こちらの記事では、CSVファイルを作成して登録する方法を紹介していますが、macOSでは問題ないものの、WindowsでCSVファイルを作成し、Omeka Sに登録した際、以下のエラーが生じる報告がありました。 File “media_template.csv” has media type “application/vnd.ms-excel”, not “text/csv”. これに対して、ODSファイルで登録することにより、本エラーが解消されました。 以下、本件についての詳細について説明します。 不具合1 CSVファイルでは上記のエラーが発生しましたが、TSVファイルでも以下のエラーが生じました。 File “media_template.tsv” has media type “application/octet-stream”, not “text/tab-separated-values”. 解決策1 この事象に対して、GitHubに以下のIssueがありました。フランス語なので、各種翻訳ツールを利用しながらご確認ください。 github.com 上記では、ODS(OpenDocument Spreadsheet)をお勧めします、と書かれています。なので、ODSファイルで登録してみたところ、エラーが表示されなくなりました。 なお、ODSファイルは、Microsoft ExcelやGoogle スプレッドシートの保存・出力形式の一つとして選択できます。 Bulk ImportモジュールでのODSファイルを用いた登録については、以下の図で示すオプションを選んでください。その後の設定などについては、CSVファイルを用いる場合と同様です。 不具合2 ODSファイルで登録することにより、エラーメッセージは表示されなくなりましたが、WindowsのMicrosoft ExcelでODSファイルを作成した際、一部の(特に)日本語の文字列が抜け落ちてしまう事象が確認されました。 詳細な原因はわかっておらず、またすべてのWindows端末で生じる不具合かは確認できていませんが、Omeka Sを使用している複数のプロジェクトで同様の事象が報告されました。 解決策2 この課題に対する暫定的な対応策として、Google スプレッドシートを用いてデータを作成し、ODSファイル形式でダウンロードしたファイルを使用することにより、上記の一部文字列が抜け落ちてしまう不具合が解消されました。 最善の解決策かはわかりませんが、同様の事象でお困りの方がいらっしゃれば、この方法をお試しいただけますと幸いです。 まとめ 本記事では、WindowsでBulkImportモジュールを使用する際の不具合と暫定的な解決策について紹介しました。 今回ご紹介した方法で、「うまくいった」「うまくいかなかった」ということがあれば、情報共有いただけますと幸いです。 また、他によい方法などがありましたら、お知らせいただけますと幸いです。

【Omeka S Tips】アイテムの新規登録における各サイトへの自動追加の設定について

【Omeka S Tips】アイテムの新規登録における各サイトへの自動追加の設定について

概要 最新のOmeka Sでは、Omeka Sへのアイテム新規登録時において、サイト毎に自動的にリソースとして登録するか否かを設定できるようになっています。 公式のマニュアルでは、以下に記載があります。 https://omeka.org/s/docs/user-manual/sites/site_settings/#general-settings これはOmeka Sが複数のサイトを管理できる設計となっているため、そのサイト毎に検索対象とするアイテム(リソース)を変更できるようになっています。 ただし、Omeka Sを用いて一つのサイトのみを管理する場合、Omeka Sへのアイテム登録にあわせて、サイトへもアイテムが検索対象として自動登録されるほうが効率的です。 本記事では、この設定について説明します。 設定方法 具体的には、以下のサイト毎の設定画面において、「Auto-assign new items」で設定を行います。こちらに有効化すると、自動的に新規アイテムが当該サイトの検索対象として追加されるようになります。 参考 なお、以下の画面のように、アイテム毎に追加したいサイトを設定することも可能です。 また、各サイトのリソース一覧から、登録条件を指定した一括登録も可能です。 まとめ Omeka Sにアイテムを新規登録したにもかかわらず、サイトにアイテムが登録されない、ということでお困りの方に対して、本記事が参考になりましたら幸いです。

【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など

【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など

概要 特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明します。プロパティは、日付と時刻(ISO)、または数値として指定できます。 特に、日付データに対する範囲検索を実現できる点などがポイントです。 github.com 公式のマニュアルは以下です。 omeka.org 上記のマニュアルを参考に、本モジュールの使い方を説明します。 リソーステンプレートの作成または編集 本モジュールを利用するには、リソーステンプレートを作成または編集して、特定のプロパティを数値データ型として設定する必要があります。リソーステンプレートの使い方は、以下に記載がありますが、いずれ紹介記事を作成したいと思います。 omeka.org 今回は、動画に関するリソーステンプレートとして「動画」を作成してみます。以下に示すように、「動画」というリソーステンプレートを作成し、その編集画面を開きます。 本モジュールでは、以下のData typesが追加されます。 Timestamp(xsd:date) 整数(o-module-numeric-xsd:integer) 期間(xsd:duration) 間隔 そのため、リソーステンプレートにおいて、これらの型を持つプロパティを作成します。具体的には、以下のように設定しました。 公開日(ex:date):Timestamp バージョン(ex:version):整数 再生時間(ex:duraion):期間 準備時間(ex:prepare):間隔 なお、独自の語彙「ex」の作成については、以下の記事を参考にしてください。 nakamura196.hatenablog.com プロパティのData types(型)の設定方法について説明します。リソーステンプレートの編集画面を開き、型を設定したいプロパティの「鉛筆」アイコンをクリックします。画面右部に表示されるパネルの「その他のオプション」 > 「Data types」において、「数字」 > 「Timestamp」を選択します。 結果として、今回は以下のリソーステンプレートを使用します。 ここで設定した各プロパティについて、入力フォーム、保存されるデータを以下で説明します。 データ登録 今回は、下図のようなデータを作成します。2021年3月11日に公開された動画について、再生時間、バージョン、準備期間、などを入力します。 アイテムの登録または編集画面において、リソーステンプレートの選択フォームで、先に作成した「動画」を選択します。 それにより、先に設定した各プロパティについて、Data types(型)に応じた入力フォームが表示されます。 例えば、Timestampを設定したプロパティ「公開日」は、下図のように日付(および時刻)の入力に特化したフォームが表示されます。 検索 上記の設定により、管理者画面および公開サイトに検索フォームが追加されます。 例えば、下図のように、プロパティ「公開日」について、「2021-03」以降の値を検索する、といった使い方が可能となります。 その他 API REST APIを通じて、登録したデータ(JSON-LD)を以下で確認できます。下図のように、型がRDFによっても記述されていること(xsd:date, xsd:duration, など)を確認できます。 https://diyhistory.org/nakamura196/api/items/13 モジュール「Bulk Import」を用いた一括登録 別のモジュール「Bulk Import」を用いることで、ここで説明した型を持つデータの一括登録を行うことができます。「Bulk Import」の使い方については、以下の記事を参考にしてください。 nakamura196.hatenablog.com 具体的には、以下に示すようなCSVファイルを用意します。ポイントとして、ヘッダー行に「^^numeric:timestamp」を与えることで、Data types(型)を指定した上での一括登録が可能です。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item_with_datatype.csv まとめ 今回は、特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明しました。 ...

【Omeka S モジュール紹介】Metadata Browse:同じメタデータを持つアイテムを検索するリンクを付与する

【Omeka S モジュール紹介】Metadata Browse:同じメタデータを持つアイテムを検索するリンクを付与する

概要 今回は、Omeka Sのアイテム詳細画面に対して、同じメタデータを持つアイテムの検索を可能とするリンクを付与するモジュール「Metadata Browse」について紹介します。 omeka.org 例えば、以下のようなことが可能となります。アイテム詳細画面の「キーワード/Subject」の値に「この値の全てのアイテム一覧を表示」リンクが付与され、そのリンクをクリックすると、当該メタデータを持つ検索結果のページに遷移します。 設定 本モジュールのインストール後、またはモジュールの設定画面から、以下の設定画面が表示されます。 この設定画面については、基本的にはそのままで問題ありません。 本モジュールを初めて使用する場合にはわかりにくい説明になりますが、「管理者側でグローバル設定を使用する」については、こちらにチェックを入れない場合、管理画面では、個々のサイトで設定された検索可能なプロパティ(の集合)が使用されます。一方、チェックを入れると、本設定画面でしていたプロパティが検索プロパティとなります。プロパティの指定方法としては、画面右部のパネルから、必要なものを選択します。 Direct Linksは、チェックを入れない場合、検索可能として設定したプロパティの値の下に「この値の全てのアイテム一覧を表示」というリンクが表示されますが、チェックを入れた場合、値に直接リンクが付与されます。以下は、チェックを入れた場合の例です。 図の中にも記述していますが、Direct Linksを有効にした場合、URIとして設定した値と、Metdata Browseで検索可能にした項目の区別がつきにくいため、基本的にはDirect Linksを無効にすることをおすすめします。 サイトにおける設定 サイト毎に検索可能なプロパティ(メタデータ)を指定できます。「サイト一覧」から設定したいサイトを選び、画面左部のメニューから「メタデータを見る(Browse)」を選びます。 上記の画面において、画面右部のパネルから、必要なプロパティ(メタデータ)を選択します。 まとめ 本モジュールにより、以下のアイテム詳細ページのように、同じメタデータを持つアイテムの検索を可能とするリンクを付与することができます。 diyhistory.org 本モジュールは、東京大学工学・情報理工学図書館の工学史料キュレーションデータベースで使用されています。 curation.library.t.u-tokyo.ac.jp Omeka Sで構築するサイトの利便性の向上につながれば幸いです。

【Omeka S モジュールカスタマイズ】OaiPmhRepository:独自語彙の作成

【Omeka S モジュールカスタマイズ】OaiPmhRepository:独自語彙の作成

ここでは、Omeka SのOaiPmhRepositoryのカスタマイズ例として、DC-NDL(Simple)にマッピングしてメタデータを公開する方法について説明します。 以下のGitLabリポジトリを適宜参考にしてください。 gitlab.com ※ 別途、OaiPmhRepositoryの紹介記事を執筆予定です。 ファイルの修正 以下のコミットを参考にしてください。 https://gitlab.com/nakamura196/Omeka-S-module-OaiPmhRepository/-/commit/702f1c693a62ae21ef03da495e3b4efd6060c561#d57ba0f1ebb8e2008538c451770f3fe535e1c2ca 具体的には、以下のファイルに対する修正を行います。 OaiPmhRepository/config/module.config.php 追加する語彙の情報を追加します。 OaiPmhRepository/src/OaiPmh/Metadata/DCNDLSimple.php 本ファイルにおいて、Omeka Sのプロパティと出力する項目とのマッピングを行います。上記のコミットの例は、あくまで当該リポジトリにおけるマッピングルールです。Omeka Sの導入機関におけるメタデータの記述ルールに基づき、適宜変更する必要があります。 結果 以下のようなOAI-PMHレコードを取得することができます。 ListRecords https://diyhistory.org/nakamura196/oai?verb=ListRecords&metadataPrefix=dcndl_simple GetRecord https://diyhistory.org/nakamura196/oai?verb=GetRecord&metadataPrefix=dcndl_simple&identifier=oai:diyhistory.org:3

【Omeka S Tips】既存の標準語彙の追加方法

【Omeka S Tips】既存の標準語彙の追加方法

概要 Omeka SではRDF(Resource Description Framework)を用いてリソース(アイテム、アイテムセット、メディア、etc…)の情報を記述します。そのため、RDFのクラスやプロパティのコレクションである語彙をインポートする必要があります。この記事では、この既存の語彙のインポート方法について説明します。なお、公式マニュアルでは以下に記載があります。 omeka.org 具体的には、国立国会図書館が提供する国立国会図書館ダブリンコアメタデータ記述(DC-NDL)とSchema.org、ジャパンサーチの利活用スキーマの登録を例とします。 なお、代表的な語彙としてDublicon Core Terms(dcterms:)が挙げられます。Omeka Sのインストール直後のデフォルト設定では、Dublin Coreに加えて、Dublin Core タイプ(dctype:)、書誌オントロジー / Bibliographic Ontology(bibo:)、FOAF / Friend of a Friend(foaf:)が登録されています。 既存の語彙を可能限り使用することで、データの共有が容易となります。一方、独自の語彙を使用したい場合には、Custom Ontologyモジュールが使用できます。この使用方法については、以下の記事で紹介しています。 nakamura196.hatenablog.com RDFスキーマファイルの取得 語彙の登録にあたり、各語彙のRDFスキーマファイルを取得する必要があります。 DC-NDL 以下から取得することができます。 https://www.ndl.go.jp/jp/dlib/standards/meta/2020/12/ndl-terms.rdf 以下のページに掲載されています。 www.ndl.go.jp なお、接頭語は「dcndl」、名前空間のURIは「 http://ndl.go.jp/dcndl/terms/」です。 Schema.org 以下から取得できます。 https://schema.org/version/latest/schemaorg-current-https.rdf 以下のページに掲載されており、フォーマット(JSON-LD、RDF/XML、Turtleなど)を指定できます。 schema.org なお、接頭語は「schema」、名前空間のURIは「 https://schema.org/」です。 ジャパンサーチの利活用スキーマ ジャパンサーチの利活用スキーマ関連の語彙の例として、以下が挙げられます。 jps: https://jpsearch.go.jp/term/property# type: https://jpsearch.go.jp/term/type/ chname: https://jpsearch.go.jp/entity/chname/ ここでは、上記の接頭語「jps」の語彙を対象とします。本語彙は以下から取得できます。 https://jpsearch.go.jp/term/property Omeka Sへのインポート 画面左部のメニュー「語彙の一覧」にアクセスし、画面右上のボタンをクリックしてください。なお、2021年7月時点で、本ボタンの日本語訳に間違いがありますので、いずれ修正したいと思います。 その後、以下のような入力フォームが表示されますので、基本情報や登録するファイルの情報を入力します。ファイルについては、ファイルのアップロードまたはURL指定による読み込みが可能です。以下は「ジャパンサーチ利活用スキーマ」を登録した例です。 この方法で、「DC-NDL」「Schema.org」も合わせて登録した結果が、以下の「語彙の一覧」画面で確認できます。 Schema.org は膨大な数のクラスとプロパティが定義されていることがわかります。 なお、各語彙で定義されているクラスおよびプロパティ一覧の列の数字をクリックすると、当該語彙のクラスまたはプロパティの一覧画面に遷移します。また、ラベルの横にある省略アイコンをクリックすると、以下の図のように、そのクラスまたはプロパティの詳細な説明が表示され、さらに当該クラスまたはプロパティが使用されているアイテムの一覧を確認することができます。以下の例では、「dcterms:title」が2つのアイテムで使用されていることを確認できます。 更新 語彙の更新は、「語彙の一覧」ページに表示される鉛筆アイコンをクリックして編集画面に入ります。そして、新しい語彙のファイルまたはURLを指定して画面右上の「保存」をクリックします。 その後、以下のような更新前後の変更を確認する画面が表示されます。ここでは、「Schema.org」の「schema:highPrice」というプロパティのラベルを、試験的に変更した例です。問題ない場合には、画面右上の「変更を承認」をクリックして、更新作業を完了させます。 なお、2021年7月時点においては、クラスおよびプロパティの追加と変更のみが可能で、特定のクラスまたはプロパティの削除は非対応のようです。 削除 語彙の削除は、「語彙の一覧」ページに表示されるゴミ箱アイコンをクリックします。画面右部に確認パネルが表示されるので、「削除を確定」を押して作業を完了させます。 まとめ 以上、既存の語彙を追加、更新、削除する方法を説明しました。 ...

【Omeka S マニュアル和訳】リソース > アイテム

【Omeka S マニュアル和訳】リソース > アイテム

Omeka Sのマニュアル和訳です。以下の「リソース」>「アイテム」ページです。 omeka.org アイテム アイテムは、Omekaシステムの構成要素です。 Omeka Sでは、システム管理者からアイテムを利用できるようにしたり、自分のサイトにアイテムを追加したりできます。 アイテムは、管理ダッシュボードの左側のナビゲーションにある[アイテム]タブ(1つのボックスアイコン)に一覧表示されます。 各アイテムは行として表示され、次の列があります。 タイトル 編集 (鉛筆)、 削除 (ゴミ箱)、または 詳細の表示 (省略記号) する アイコン クラス アイテムの 所有者 アイテムが 作成され た日付。 アイテムをナビゲートおよび作成するためのオプションは、アイテムのテーブルの上に表示されます。 [アイテム]ウィンドウの右上には、[新しいアイテム の 追加]ボタンがあります。 左側には、アイテムのページ数が表示され、前後の矢印が表示されます。現在のページ番号は編集可能なフィールドです。有効なページ番号を入力し、キーボードのReturn / Enterキーを押して、そのページに移動します。 中央上部には、高度な検索用のボタンがあります。 右側のテーブルのすぐ上には、アイテムのテーブルを並べ替えるためのオプションがあり、2つのドロップダウンメニューがあります。1つ目は、 Title 、 Identifier 、 Class 、 Owner、 および (Date)Createdから 選択できます。2つ目は、昇順または降順で並べ替えることができます。適用するには、 並べ替え ボタンをクリックします。 これらとテーブルの間の左側には、選択した編集、すべて編集、選択したすべての削除、すべて削除などのバッチアクションのドロップダウンがあります。 (以下、今後追加予定。)

【Omeka S Tips】メタデータの言語属性の設定方法

【Omeka S Tips】メタデータの言語属性の設定方法

メタデータの言語設定の方法について紹介します。公式のマニュアルでは、以下に記載があります。 omeka.org 以下のメタデータ編集画面において、地球儀のアイコンをクリックすると、入力フォームが現れます。こちらにjaやenなどを入力することで、メタデータの言語属性を与えることができます。 この言語属性は公開サイトで表示されるほか、Omeka SのAPIで提供されるJSON-LDでもご確認いただけます。 https://diyhistory.org/nakamura196/api/item_sets/2 多言語の情報管理、サイト構築のお役に立てば幸いです。

【Omeka S モジュール紹介】Item Sets Tree

【Omeka S モジュール紹介】Item Sets Tree

概要 Item Sets Treeはアイテムセットの階層構造を設定できるモジュールです。 本モジュールの使い方についてご紹介します。 omeka.org 概要 インストール データ 機能紹介 親アイテムセットの設定 階層構造の確認 各アイテムセットのアイテム一覧画面における子孫のアイテムの表示 サイトでの表示 まとめ インストール モジュールのインストール後、以下の設定画面が表示されます。こちらはあるアイテムセットのアイテムを表示した際、その子孫のアイテムセットのアイテムも表示するかを指定するオプションです。後ほど違いを確認します。 データ 今回は「いらすとや」で公開されている画像を使用します。 www.irasutoya.com 「いらすとや」では「人物」>「赤ちゃん」>「子守唄のイラスト」といった形で階層構造を持っています。そこで、「人物」と「赤ちゃん」をアイテムセットとして、「子守唄のイラスト」や「タオルを使ってうつ伏せになる赤ちゃんのイラスト」などをアイテムとして扱います。 Omeka Sの画面では以下の通りです。 アイテムセットの一覧画面 アイテムセット「赤ちゃん」のアイテム一覧画面 アイテムセットとして「人物」「赤ちゃん」があり、アイテムセット「赤ちゃん」の中に、2つのイラストが格納されています。 機能紹介 親アイテムセットの設定 本モジュールをインストールすることにより、各アイテムセットの編集画面に「Item Sets Tree」というタブが表示されます。こちらで、親とするアイテムセットを指定することができます。 階層構造の確認 画面サブのメニューの「モジュール」 > 「Item Sets Tree」から、設定したアイテムセットの階層構造を確認できます。違いをわかりやすくするために、アイテムセット「人物」に加えて、「イベント」「祝日・行事」も追加しています。 各アイテムセットのアイテム一覧画面における子孫のアイテムの表示 上のインストールのところで述べた「Item sets include descendants」を有効化すると、各アイテムセットのアイテム一覧画面において、子孫のアイテムを表示することができます。 以下の例で示されたアイテムは、アイテムセット「人物」に含まれていませんが、「人物」の子アイテムセット「赤ちゃん」を介して表示されています。 サイトでの表示 アイテムセットの階層構造をサイトで表示する方法として、カスタムリンクを追加する方法と、サイトページにItem Sets Treeのブロックを埋め込む方法の2種類があります。 前者は、以下のナビゲーションメニューから追加できます。特にカスタマイズ等を行わない場合には、この方法が簡単です。 後者の場合は、サイトページの編集画面において、画面右部の「新規ブロックを追加」パネルから、Item Sets Treeを追加します。この方法の場合、ページのタイトル変更や、各アイテムセットの説明、そのアイテムセットに含まれるアイテム数を表示するかなどを設定できます。 後者の方法で作成したサイトページの例は以下です。 https://diyhistory.org/nakamura196/s/main/page/item-sets-tree まとめ 以上、アイテムセットの階層構造を設定できるItem Sets Treeモジュールについて説明しました。階層構造を持ったコレクションの管理などにおいて、参考になりましたら幸いです。

【Omeka Sモジュール紹介】IIIF Server / Image Server / Universal Viewer

【Omeka Sモジュール紹介】IIIF Server / Image Server / Universal Viewer

Omeka SのIIIF関連モジュールである「IIIF Server」「Image Server」「Universal Viewer」の説明およびインストール手順を以下で紹介しています。 youtu.be Omeka SでのIIIF配信において、参考になりましたら幸いです。

Omeka Sの導入に関する参考資料

Omeka Sの導入に関する参考資料

Omeka Sの導入方法およびモジュールの追加方法を以下でまとめています。Omeka Sの導入にあたり、参考になりましたら幸いです。 youtube.com

【機能開発】Omeka SのIIIF ServerモジュールにおけるImage APIを使用しない設定の追加

【機能開発】Omeka SのIIIF ServerモジュールにおけるImage APIを使用しない設定の追加

概要 Omeka SのIIIF Serverモジュールについて、Image APIを使用しない設定を追加する機能開発を行いました。これにより、レンタルサーバなどのリソースが限られた環境において、IIIFマニフェストなどの配信が容易となります。デジタルアーカイブシステムの持続性と利活用性の向上にむけて、本機能がお役にたてば幸いです。 背景 Omeka SのIIIF Serverモジュールは、Omeka Sに登録されたメタデータから、IIIFマニフェストファイルなどを生成するモジュールです。Omekaの様々なモジュールを開発されているDaniel-KM氏が主に開発されています。 github.com 画像については、Image Serverが必要となります。Awesome IIIFに挙げられているようなIIIF ServerをOmeka Sとは別に導入するか、Omeka SのImage Serverモジュールを使用することができます。後者については、Omeka Sのみで実現することができるため、LAMP環境が構築されたレンタルサーバを利用して、IIIF準拠の画像やマニフェストファイルなどの配信が可能となります。レンタルサーバはCPUやメモリといったリソースが限定されますが、メンテナンスコストが低い点が利点として挙げられます。 一方、レンタルサーバなどのリソースが限られた環境に、上述のOmeka SのImage Serverモジュールを導入するには課題があります。Image Serverモジュールが動的にタイル画像を配信する際、この処理に時間がかかり、タイル画像の表示が遅れる事象が確認されました。((なお、事前にタイル画像を生成するオプションも提供されています。これにより、リクエストがある度にタイル画像を生成する処理は不要となりますが、ディスク使用量の増加といったデメリットもあります。)) 解決策 IIIFマニフェストにおいて、必ずしもIIIF Image APIに準拠する必要はなく、単純にJPEG画像等を参照することもできます。((なお、これにより画像の動的なリサイズや回転、切り出し等ができなくなるため、機能が限定されるデメリットもあります。)) www.kanzaki.com そこで、レンタルサーバなどのリソースが限られた環境において、Omeka Sを用いたIIIFマニフェストの配信を行うための新たなオプションとして、このImage APIを使用せずに、Omeka Sに登録されたJPEG画像等をそのまま使用する設定をIIIF Serverモジュールに追加しました。以下のversion 3.6.4.3から本機能が利用できます。 github.com 具体的には、IIIF Serverモジュールの以下の設定画面で有効化できます。 本モジュールは、東京大学工学・情報理工学図書館の工学史料キュレーションデータベースで使用されています。 curation.library.t.u-tokyo.ac.jp 先述した通り、本設定の有効化により、IIIFで利用できる機能が一部制限されるため、最善の手段ということではありませんが、リソースが限られたサーバ上でのIIIFマニフェストの配信手段のオプションとして、本機能がお役にたてば幸いです。