ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
RSS English
【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

ジャパンナレッジで検索を行うChrome拡張機能を公開しました。

ジャパンナレッジで検索を行うChrome拡張機能を公開しました。

概要 ジャパンナレッジで検索を行うChrome拡張機能を公開しました。 以下のように、選択した文字列をクエリとして、右クリックからジャパンナレッジの検索結果を表示します。 本記事では、この拡張機能の使い方について説明します。 インストール 以下のページにアクセスして、「Chromeに追加」ボタンをクリックしてください。 chrome.google.com 設定 以下のURLをChromeのアドレスバーに入力し、検索条件の設定を行います。入力項目として、「URL」と「その他のクエリ」の2種類があります。 chrome-extension://cppjkneekbjaeellbfkmgnhonkkjfpdn/options.html URL 検索で使用するジャパンナレッジのURLを指定します。ご自身の環境や契約内容に応じて設定してください。「JK Lib」「JK Personal」ボタンをクリックすると、それぞれのURLが入力されます。 また、例えば東京大学ではEZproxyを使い、学外から以下のURLでジャパンナレッジにアクセスすることができます。このような場合は、URLを直接入力してください。 https://japanknowledge-com.utokyo.idm.oclc.org/lib その他のクエリ この項目では、検索文字列(q1)以外のクエリパラメータを入力します。例えば、「ロベール仏和大辞典」のボタンをクリックすると、当該コンテンツ(cids=42200)に検索対象を限定するクエリパラメータが入力されます。 その他の検索条件の指定方法については、ジャパンナレッジの検索結果のURL等を参考にしてください。 検索 検索したい文字列を選択し、右クリックを行うことで、「ジャパンナレッジでXXXを検索」のメニューが表示されますので、そちらをクリックして検索してください。 まとめ ジャパンナレッジを利用する際の参考になれば幸いです。 ソースコード ソースコードは以下でご確認いただけます。 github.com

Mirador 3のimage tools(画像の回転など)を初期表示で有効にする方法

Mirador 3のimage tools(画像の回転など)を初期表示で有効にする方法

概要 今回はMirador 3のimage tools(画像の回転など)を初期表示で有効にする方法について説明します。 デフォルトのMirador 3では、Mirador 2ではデフォルトの機能として提供されていた、画像の回転や明度・コントラスト・彩度の調整機能は提供されていません。 これを実現するためには、以下のimage toolsというプラグインを追加する必要があります。 github.com 以下、プラグインの導入方法と、設定方法について説明します。 導入方法 image toolsプラグインの導入方法としては、上記のページの他、以下のリポジトリが参考になります。 モダンなフロントエンドビルドシステム github.com vueでの導入方法 github.com Nuxt.jsでの導入方法 github.com 設定方法 各ウインドウに対して、以下の設定が利用できます。 設定値 タイプ 初期値 説明 imageToolsEnabled boolean false プラグインの表示を有効にする imageToolsOpen boolean false デフォルトでimage toolsを開く 例えば以下のページで、image toolsを初期表示で有効にした例をご確認いただけます。 https://github.com/nakamura196/mirador-integration-vue/blob/master/src/App.vue まとめ Mirador 3の導入の参考になりましたら幸いです。

【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出力例: ...

Mirador 3をページ内の特定の領域に埋め込む方法

Mirador 3をページ内の特定の領域に埋め込む方法

先日、以下の記事で、Nuxt.jsを用いて、Miradorをページ内の特定の領域に埋め込む方法を紹介しました。 nakamura196.hatenablog.com 今回は、Vue.jsなどのフレームワークを使わずに、Miradorを埋め込む方法について紹介します。 具体的には、以下のページのソースコードをご確認ください。 https://nakamura196.github.io/nuxt-mirador/embedded2 上記は単純なHTMLファイルです。 Miradorを画面に埋め込む際、Miradorを表示する要素のID(例:mirador)を指定します。この時、以下のようなCSSを与えることで画面の一部に埋め込むことができます。 #mirador { height: 600px; position: relative; width: 100%; } ポイントは、「position: relative;」です。これを与えないと、heightなどを指定しても全画面で表示されてしまいます。 Mirador 3の利用において、本記事がお役に立つことがあれば幸いです。

Oxygenの自動整形機能においてlbタグの前で改行する方法

Oxygenの自動整形機能においてlbタグの前で改行する方法

概要 本記事では、TEI/XMLを便利に扱うことができるツール「Oxygen XML Editor」において、自動で整形・インデントするルールを変更する方法について紹介します。 特に、行の始まりを示すlbタグの前で改行されるようにすることを目指します。 背景 TEI/XMLを便利に扱うことができるツール「Oxygen XML Editor」において、自動で整形・インデントする機能があります。下図の上部に示しているアイコンです。 本機能を使うことにより、一定のルールに基づいて整形されますが、このルールを編集したくなる場合があります。 例えば、上図は『校異源氏物語』のテキストデータです。行の始まりを示すlb(line beginning)タグがありますが、(私の環境の)デフォルトの整形ルールでは、lbタグが行の途中に入る形で整形されます。 本テキストデータを機械的に処理する際には問題ありませんが、特に人手でテキストデータを作成・編集する際に、lbタグの前で改行されてほしい、というニーズがありました。 整形ルールの編集 Oxygenの「オプション」というメニューから以下の画面を開き、画面左部のナビゲーションから「エディタ」 > 「整形」 > 「XML」を選びます。 下図は、私のデフォルト設定を示します。画面右下の「デフォルト設定」ボタンから、いつでもデフォルト設定に戻すことができます。 これに対して、下図の設定変更を行います。 まず、画面中央部の「要素 間隔」という項目において、右端の「改行」を選び、右下の「追加」ボタンから、lb要素を追加します。この時、「前」という列にチェックが入っていることにより、自動整形時に、lbタグの前で改行されるようになります。 次に、「整形」という項目において、「テキストをそのまま維持」にチェックを入れます。これにチェックを入れないと、マークアップの方法によっては、自動整形するたびに、lbタグの前に空行が入ってしまうことを確認しました。 その他の設定については、必要に応じて試してみてください。 結果 上記の設定を行なった上で自動整形を行うと、下図のように、lbタグの前で改行されるようになりました。 特に人手でTEI/XMLファイルを作成・編集する際に、本記事がお役に立てば幸いです。

Mirador 3をNuxt.jsで使用する方法を紹介するリポジトリを作成しました。

Mirador 3をNuxt.jsで使用する方法を紹介するリポジトリを作成しました。

概要 以下の記事で、Mirador 3をVueで使用する方法を紹介しました。 nakamura196.hatenablog.com 上記に続いて、今回は、Nuxt.jsでMirador 3を使用する方法を紹介するGitHubリポジトリを作成しました。 github.com 上記リポジトリにおいて、Miradorをページ全体に表示する例に加えて、ページ内の特定の領域に埋め込む例を用意しています。 https://nakamura196.github.io/nuxt-mirador/embedded 本記事では、上記ページに関する説明を行い、Miradorの使い方の一部について紹介します。 詳細 上記のページは、以下について説明することを意図しています。 Miradorを画面の一部に埋め込む プログラムでカンバスを指定する プログラムでZoomを行う それぞれについて説明します。 なお、ソースコードは以下で確認できます。 https://github.com/nakamura196/nuxt-mirador/blob/master/pages/embedded.vue Miradorを画面の一部に埋め込む Miradorを画面に埋め込む際、Miradorを表示する要素のID(例:mirador)を指定します。この時、以下のようなCSSを与えることで画面の一部に埋め込むことができます。 #mirador { height: 600px; position: relative; width: 100%; } ポイントは、「position: relative;」です。これを与えないと、heightなどを指定しても全画面で表示されてしまいます。 また、以下のスタンフォード大学図書館のMirador 3の埋め込みを例として、Configを設定しました。 https://dlmenetwork.org/library/catalog/oai:N%2FA:Manchester~18~18~162~225617 const config = { id: "mirador", windows: [ { id: 'known-window-id', manifestId: this.manifestId, }, ], window: { allowClose: false, allowMaximize: false, allowFullscreen: true, hideWindowTitle: true, }, workspaceControlPanel: { enabled: false, }, } ポイントは、「workspaceControlPanel」を「enabled: false」にしている点や、「allowClose」「allowMaximize」をfalseにしている点ですが、必要に応じてカスタマイズしてください。 ...

【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」について説明しました。 ...

Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。

Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。

概要 Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。 github.com 以下のページから、デモサイトをご確認いただけます。 https://nuxt-visjs.netlify.app/ 詳細 Nuxt.jsはVue.jsをより効果的に使えるフレームワークです。 またvis.jsは、ネットワーク図やタイムラインを作成することができる可視化ライブラリです。 visjs.org 今回、Nuxt.jsでvis.jsを使用する方法を紹介するGitHubリポジトリを作成しました。 「Timeline」「Network」「Graph2d」による基本的な可視化例を掲載しています。 Nuxt.jsを用いたvis.jsの利用に際して、お役にたてば幸いです。

【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 モジュール紹介】Advanced Search Plus:詳細検索機能を拡張する

概要 Advanced Search PlusはOmeka Sでのより柔軟な検索を可能とするための、詳細検索に項目などを追加するモジュールです。 omeka.org 本記事では、本モジュールの使い方について説明します。 使い方 本モジュールをインストールすることにより、以下の項目が利用可能となります。 before/on/after creation/modification date/time of any resouce:日付や時間に対する範囲検索を可能とします。 has media (for item):画像を持つアイテムの絞り込み has original:オリジナル画像を持つアイテムの絞り込み has thumbnail:サムネイル画像を持つアイテムの絞り込み mutiple media types (for item) multiple media types for media (included in core since Omeka S 2.0.2 for a single value) visibility public/private:公開/非公開設定に基づく絞り込み media by item set:アイテムセットに基づくメディアの絞り込み 具体的には、例えば管理者画面のアイテムに対する詳細検索画面において、以下のような検索フォームが追加されます。「has media(画像を持つアイテムの絞り込み)」などはニーズが高い検索条件かと思います。 また、メタデータ別の検索フォームにおいて、以下の検索条件が追加されます。 start with end with in list (via api only). exclude one or multiple properties (except title):(タイトルを除く)単一または複数のプロパティを検索対象から除外する。 以下のように、検索条件の指定方法が拡張されます。 ...

【FOSSメモ】CollectiveAccess

【FOSSメモ】CollectiveAccess

以下、GitHubのREADME.mdの一部和訳です。 github.com CollectiveAccessについて CollectiveAccessは、博物館、アーカイブ、および研究のコンテキストで複雑なデジタルおよび物理コレクションを管理、説明、および発見するためのフレームワークを提供するWebベースのアプリケーションスイートです。これは2つのアプリケーションで構成されています。Providenceは、CollectiveAccessの「バックエンド」カタログコンポーネントです。高度に構成可能であり、さまざまなメタデータ標準、データ型、およびメディア形式をサポートします。Pawtucket2は、CollectiveAccessの汎用パブリックアクセス公開ツールです。プロビデンスで管理されているデータを中心にWebサイトを作成する簡単な方法を提供します。(Pawtucket2の詳細については、https://github.com/collectiveaccess/pawtucket2をご覧ください) CollectiveAccessは、オープンソースのGNU PublicLicenseバージョン3で無料で入手できます。

【Omeka S モジュール紹介】Custom Ontology:独自語彙を追加する

概要 Custom Ontologyは、LOV、schema.org、W3Cといった標準的なオントロジーが利用できないときに、独自の語彙を追加することができるモジュールです。内部プロパティを管理したり、新しいデータを作成している研究者にとって便利です。本記事では、このモジュールの具体的な使用方法について説明します。なお、文末に本モジュールのREADME.mdファイルの和訳も合わせて掲載します。 github.com なお、標準的な既存の語彙(オントロジー)を登録する場合には、以下の記事を参考にしてください。 nakamura196.hatenablog.com 概要 使用方法 設定 語彙の情報入力 クラスの入力 プロパティの入力 API まとめ README.mdの和訳 カスタムオントロジー(Omeka Sのモジュール) インストール 使用方法 使用方法 モジュールのインストール後、以下のメニューから編集画面にアクセスできます。 設定 ここでは、接頭語「ex」、名前空間のURIを「https://diyhistory.org/nakamura196/ns/ex/」とします。 この名前空間のURIは自由に設定できますが、今回のように推奨された形式(Omeka url + /ns/{prefix}/)で与えると、以下のURLでウェブページが利用可能となるといった利点があります。こちらの機能については後述します。 Omeka url + /ns/{prefix}?format=html 語彙の情報入力 以下の画面のように、語彙の作成に必要な情報を入力します。 続けて、クラスとプロパティを追加することもできますが、一旦ここまでの状態で作成することができます。画面右上の送信ボタンを押すと、語彙が作成されます。 作成された語彙は「語彙の一覧」ページから確認できます。 本ページの操作方法については、Omeka Sのコア機能の語彙操作に関する以下の記事を参考にしてください。 nakamura196.hatenablog.com なお、語彙の作成後に後述するクラスやプロパティを追加する場合、ここで入力した情報をスキップすることができます。 クラスの入力 ここでは独自の人物クラス「ex:Person」とイベントクラス「ex:Event」を作成します。下図のように、「Create specific classes」のフォームに値を入力します。各クラスについて一行毎に記述し、「prefix:クラス名,ラベル,コメント」の形で記述します。また「クラス名」の先頭は大文字にする必要があります(ex:person などはアラートが表示されます)。 プロパティの入力 ここでは独自のプロパティ「ex:name」を作成します。作成方法は「クラス」の時と同様です。違いとしては、「prefix:」に続くプロパティ名は小文字で始まる必要があります(ex:Name などはアラートが表示されます)。 API 作成した語彙は、上述した通り、Omeka Sのコア機能である語彙の一覧などから確認することができ、また他の語彙と同様に各機能から利用することができます。 それに加えて、本モジュールで推奨された形式(Omeka url + /ns/{prefix}/)で語彙を作成すると、サイトページとして語彙に関する情報を公開することができます。今回の例では、以下のURLから語彙に関する情報にアクセスできます。 https://diyhistory.org/nakamura196/ns/ex?format=html また以下のように、クエリ文字列を付けずに名前空間のURIにアクセスすると、Turtleファイルをダウンロードすることができます。 https://diyhistory.org/nakamura196/ns/ex 本Turtleを他の人やシステムと共有することにより、独自に作成した語彙の情報を共有することができます。Linked Dataの原則の一つである以下を満たす設計となっています。 When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL) ...