AWSサーバーレスアプリケーションによるIIIF Image Serverの構築

お知らせ 以下に、2024年時点の使用方法を記載しました。参考にしてください。 概要 本記事では、Awesome IIIFで紹介されている、AWSサーバーレスアプリケーションによるIIIF Image Serverの構築方法を紹介します。 https://github.com/samvera-labs/serverless-iiif なお、本記事の手続きにより、AWSのサービス利用料金が発生しますので、試される場合にはご注意ください。 想定読者 上記リポジトリでは、以下のように紹介されています。 AWSの基本的な知識があること。 コンソールやコマンドラインからリソースを作成する権限を持つAmazon Web Servicesアカウントを持つこと。 IIIF で提供するソース画像を格納する Amazon S3 バケットを持つこと。 準備 S3のバケット準備 IIIF で提供するソース画像を格納する Amazon S3 バケットを作成します。今回は、「serverless-iiif-s3-dd」というバケットを作成し、その中に「ezu」というディレクトリを作成しました。 tiled TIFFファイルの作成 今回は、国立国会図書館で公開されている以下の国絵図をサンプルデータとして用いました。 https://dl.ndl.go.jp/info:ndljp/pid/1286201 JPG画像をダウンロードし、以下の変換コマンドを参考に、tiled TIFFファイルを作成します。 Using VIPS vips tiffsave source_image.tif output_image.tif –tile –pyramid –compression jpeg –tile-width 256 –tile-height 256 Using ImageMagick convert source_image.tif -define tiff:tile-geometry=256x256 -compress jpeg ‘ptif:output_image.tif’ S3へのtiled TIFFファイルのアップロード 変換して得られたファイルを以下のようにアップロードします。 Image Serverの構築 セットアップ まず、冒頭で紹介した、以下のリポジトリページにアクセスし、Quick Startにある「Deploy the Serverless Application」のリンクをクリックします。 https://github.com/samvera-labs/serverless-iiif ...

2022年3月17日 · 更新: 2022年3月17日 · 1 分 · Nakamura

【開発者向け】AWS x Nuxt.js x Elasticsearchを用いた検索アプリケーションの開発環境の構築

本記事では、AWS x Nuxt.js x Elasticsearchを用いた検索アプリケーションの開発環境の構築について、説明します。備忘録の側面が強いです。 以下の構成を目指します。よりよい構成や構築方法があるかと思いますが、とりあえずAWSを用いて、検索エンジンにElasticsearchを使用したNuxt.js製のウェブアプリケーションの開発環境が整います。 Cultural Japanプロジェクトにおいても、上記とほぼ同様の構成を採用しています。 以下の流れで説明します。 準備(任意) AWSでドメインの取得やSSL/TLS化を行う方法です。 Route 53を用いたドメイン取得 独自ドメインの取得が必要な場合、Route 53でドメインの取得が可能です。 AWS Certificate Manager 次に、AWS Certificate Managerを用いて、SSL/TLS化を行います。こちらも手順に進めれば問題ありません。 なお、検証を行う際、以下の「Route 53でレコードを作成」ボタンをクリックして手続きすることで、簡単に進めることができました。 Backend Backendの構築から進めます。 Identity and Access Management (IAM)ユーザの作成 まず、Amazon OpenSearch Serviceにアクセス権限があるユーザを作成します。 作成後に表示される「アクセスキー」と「シークレットアクセスキー」をメモしておきます。 Amazon OpenSearch Service まず、Amazon OpenSearch Serviceを選びます。 その後は、以下のチュートリアルが参考になります。 https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html 上記のマニュアルからの変更点として、アクセスポリシーは「ドメインレベルのアクセスポリシーの設定」を選択し、先に作成したユーザのARNを許可してください。 (ローカル)Pythonを用いたAmazon OpenSearch Serviceへのデータ登録 次に、上記で発行した「アクセスキー」と「シークレットアクセスキー」などを用いて、Amazon OpenSearch Serviceにデータ登録を行います。 具体的には、以下のGoogle Colabなどを参考にしてください。 https://colab.research.google.com/drive/1-uygvtQwoc3Wn4XSEUWN5Z5Hxq3vT9Gj?usp=sharing AWS SAM(Serverless Application Model) 次に、API GatewayとLambda 関数を作成します。具体的には、以下の記事を参考に、AWS SAM(Serverless Application Model)を利用します。 dev.classmethod.jp ...

2022年3月12日 · 3 分 · Nakamura

Bulk Importによるリソースクラスの登録方法・設定編集ほか

Bulk Importによる一括登録および更新の方法について、以下の記事を作成しました。 nakamura196.hatenablog.com nakamura196.hatenablog.com 上記において、リソースクラスの登録方法を示していなかったため、本記事で追記します。また、Bulk Importモジュールの設定内容の編集方法についても補足します。 リソースクラスの登録 リソースクラス登録用のCSVファイルのサンプルを以下に用意しました。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/resource_class/sample.csv ポイントとして、列名を「o:resource_class」とします。また、セルの値は、Omeka S上でTermとして確認できる値を入力します。例えば、dctype:Collectionなどを入力します。 その他:ダミー列の用意 一部のプロジェクトにおいて、CSVファイルの1列目がうまく処理されないことがありました。そのため、1列目にダミー列を用意したほうが良い場合があります。上記のサンプルCSVでも、ダミー列を設けています。 Bulk Importモジュールの使い方の補足 以下のように、画面左のBulk ImportのCofigurationから、設定画面に遷移します。以下、ReaderとProcessorの設定方法について説明します。 なお、一般的な利用においては、この設定はデフォルトのままで問題ありません。 Readerの設定 以下がReaderの設定画面です。この設定を変更することで、各組織や研究プロジェクト等におけるデータ作成ルールに合致するようにカスタマイズできます。 例えば「Multi-value separator」の値は、セル内に複数の値を入力する際の区切り文字です。デフォルト設定では、「|(パイプ)」が与えられていますが、他の区切り文字に設定することも可能です。 なお、上記の設定はデフォルトの設定を変更するもので、CSVファイルの登録する度に、この設定(区切り文字など)を変更することもできます。 Processorの設定 以下は、Processorの設定画面です。例えば、「リソーステンプレート」を編集することで、デフォルトのリソーステンプレートを指定することができます。その他、Resource classや所有者などのデフォルト値も設定することができます。 その他、さまざまな設定が可能ですので、色々と試行錯誤してみることをお勧めします。 まとめ 上記のようにデフォルトの設定を変更することで、CSVファイルを登録する際の設定漏れを防ぐことができます。各組織や研究プロジェクト等におけるルールに応じた設定を行い、作業効率の向上や操作ミスの軽減につながれば幸いです。

2022年3月11日 · 1 分 · Nakamura

Google Drive内のファイルオーナーの一括更新プログラムを作成しました。

Google Drive内のファイルオーナーの一括更新プログラムを作成しました。 以下、権限を移譲する人と移譲される人に分けて説明します。 なお、このプログラムでは、PDFや画像ファイルの権限移譲はできませんので、ご注意ください。対応方法については後述します。 オーナー権限を移譲する人 以下のリンク先のGoogle Apps Scriptにアクセスし、手順に従って進めてください。 https://script.google.com/d/1k6ZiwHNeJSvc4W7uRmc_DfSSmwGOWCbUriLBy0MpuoEAgWvcVNdyRMDa/edit?usp=sharing Apps Scriptのページに遷移後、「実行」ボタンを押してください。 必要に応じて、一行目の「BASE_FOLDER_ID」の値を修正してください。ここで指定したフォルダ以下のフォルダを再帰的に探索します。 実行後、承認が求められます。以下の画面キャプチャに従って、許可してください。 実行後、画面上部の「実行ログ」を押すと、画面下部に実行ログが表示され、「実行完了」が表示されたら完了です。 なお、この方法では、PDFや画像ファイルの権限移譲はできません。権限移譲できなかったファイルの一覧が、自分のマイドライブの直下に「Google Driveのオーナー一括更新のエラー_yyyy-MM-dd HH:mm:ss.csv」という形式のファイル名で出力されます。 自分のマイドライブは以下でアクセスできます。 https://drive.google.com/drive/my-drive csvファイルは、Googleスプレッドシートなどでファイルを開くことができます。本ファイルにリストされたファイルについては、手動での権限移譲が必要です。 なお、2022年3月9日時点においては、ドメインを横断した権限移譲はできないようです。したがって、一般アカウントで作成したファイルについては問題ありませんが、東京大学のアカウント(g.ecc.u-tokyo.ac.jp)等で作成したファイルについては、他のドメインのユーザへの権限の移譲ができない点に注意してください。 オーナー権限が移譲される人 権限が移譲されたオーナーには、以下のようなメールが(大量に)届きます。 これらに対して、一つずつ「承諾」ボタンを押すのは大変です。 そこで、Googleドライブにアクセスして、検索フォームに以下のように入力します。 pendingowner:me これにより、オーナー権限の譲渡リクエストがあるファイルのみを一覧できます。 また、以下のように、owner:(メールアドレス)を追加すると、リクエスト元のユーザを限定できます。以下、「na.kamura.1263@gmail.com」を指定する例を示します。 pendingowner:me owner:na.kamura.1263@gmail.com これにより、指定したメールアドレスから、オーナー権限の譲渡リクエストがあるファイルのみを一覧できます。 この一覧から、複数のファイルを一括選択し、右クリック後の「共有」ボタンから、一括で「承諾」を行うことができます。 まとめ Google Drive内のファイルオーナーの一括更新を検討されている方の参考になりましたら幸いです。

2022年3月11日 · 1 分 · Nakamura

【備忘録】Googleドライブ上のフォルダ一括削除プログラム(例)を作成しました。

背景 くずし字のデータセットを利用していた際、データの処理操作を誤り、以下のようにUnicode名を持つフォルダをマイドライブの直下に大量に作成してしまいました。 この課題に対して、本記事では、Googleドライブ上の複数のフォルダを一括削除するプログラムについて説明します。 なお、本記事は備忘録的な側面が強いです。 対象読者 Google Cloud Platformについての知識をお持ちの方 対応策 この問題に対して、Googleドライブ上のフォルダ一括削除プログラム例を作成しました。以下のGoogle Colaboratoryでお試しいただけます。 colab.research.google.com このプログラムの操作方法については、上記のプログラム中でコメントしていますが、まずは、以下のような項目を持つcredentailsを取得する必要があります。 上記プログラムの実行後、以下のように、無事にフォルダを一括削除できました。 まとめ 一括削除を行うため、利用にあたっては十分に注意する必要がありますが、本記事と同様の課題をお持ち方の参考になりましたら幸いです。

2022年3月9日 · 1 分 · Nakamura

Omeka Sモジュールのインストール方法

Omeka Sモジュールのインストール方法についてまとめます。 A. 公式サイトから まず、以下の公式サイトからzipファイルをダウンロードできます。 https://omeka.org/s/modules/ 上記のダウンロードボタンを押すと、zipファイルがダウンロードされますので、展開したフォルダをOmeka Sをインストールしたフォルダ内のmodulesフォルダに配置します。 これが最も基本的な方法です。説明動画も用意しておりますので、初めての方は、以下の動画も参考にしてください。 www.youtube.com B. GitHub or GitLab(その1:リリース版のダウンロード)から 全てのモジュールが上記の公式サイトに掲載されているわけではありません。開発中のモジュールなどは、GitHubやGitLabなどで公開されています。 GitHubで公開されているモジュールの一覧は以下で確認できます。 https://daniel-km.github.io/UpgradeToOmekaS/omeka_s_modules.html 一例として、以下のCustomOntologyモジュールを取り上げます。 https://github.com/Daniel-KM/Omeka-S-module-CustomOntology この場合、まず、以下のReleases項目のリンクをクリックします。 そして、以下のzipファイルをダウンロードします。 この時の注意点として、「Source code(zip)」というリンクではないほうのリンクを選択してください。「Source code(zip)」というリンクをダウンロードした場合、次の項目で説明する追加の処理が必要になります。 C. GitHub or GitLab(その2:ソースコード)から 一部のモジュールについては、リリース版のzipファイルが提供されていないケースがあります。また、開発者向けの情報として、リポジトリをクローンした際にも、この項目で説明する処理が必要になります。 例えば、以下のXmlViewerモジュールは、リリース版のzipファイルが提供されていません。 https://gitlab.com/Daniel-KM/Omeka-S-module-XmlViewer この場合、リポジトリをクローンするか、以下のソースコードのダウンロードから、zipファイルをダウンロードします。 この場合の注意点として、リポジトリによっては、展開した後のフォルダ名を変更する必要があります。 具体的には、configフォルダ内のmodule.config.phpなどの中に記載されているnamespaceの値にフォルダ名に合致するように修正します。 この場合は、フォルダ名を「Omeka-S-module-XmlViewer-master」から「XmlViewer」に修正します。 Bで取り上げたCustomOntologyについても、ソースコード版のzipファイルをダウンロードすると、「Omeka-S-module-CustomOntology-3.3.5.1」という名前で展開されるため、フォルダ名を「CustomOntology」に修正する必要があります。 さらに、ソースコードをダウンロードした場合、以下のコマンド等を使って、ライブラリを追加でインストールする必要がある場合があります。 composer install –no-dev これら必要な操作については、リポジトリのREADMEファイルなどに記載があるので、適宜ご確認ください。 まとめ 基本的な利用にあたっては、AとBの方法でほぼ対応できます。一方、モジュールの最新機能を試したい場合や追加開発を行う場合など、発展的な利用を行う際にはCの手続きが必要になります。 Omeka Sモジュールのインストールエラーなどにお困りの方の参考になれば幸いです。

2022年3月9日 · 1 分 · Nakamura

Bulk ImportによるCSVファイルを用いたメタデータの一括更新

はじめに 以下の記事で、Bulk ImportによるCSVファイルを用いたメタデータと画像の一括登録方法を説明しました。 nakamura196.hatenablog.com 本記事では、すでに登録済みのメタデータに対する一括更新の方法について説明します。 進め方 Bulk Importのオプションとして、以下の5つがあります。 Create new resources Append data to resources Revise data of resources Update data of resources Replace all data of resources Delete resources 以下では、これらの挙動を確認します。 1. Create new resources まず、先に共有した一括登録の方法と同様、「Create new resources」オプションを使用します。 以下のデータを登録します。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/01_create.csv dummy dcterms:identifier dcterms:title dcterms:subject abc ダミーアイテム 1 一括登録サンプル 01-create ポイントとして、以下では「dcterms:identifier」に与えた文字列をIDとして扱います。この文字列が同じアイテムに対して、更新や削除を行います。 なお、「dcterms:identifier」に与えた文字列をIDとして扱うのが一般的ですが、任意のプロパティを選択可能です。 モジュールの登録画面において、以下のようなオプションを選択して登録します。CSVで示したメタデータを持つアイテムが登録されます。 2. Append data to resources 次に、「Append data to resources」オプションを使用します。 以下のデータを登録します。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/02_append.csv dummy dcterms:identifier dcterms:title dcterms:subject dcterms:creator abc ダミーアイテム 1 一括登録サンプル 02-append 中村覚 変更点として、「dcterms:subject」の値を変更し、また「dcterms:creator」を追加しています。また「dcterms:title」の値は変更していません。 ...

2022年3月8日 · 1 分 · Nakamura

Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール

事象 Omeka Sは全文検索機能を提供していますが、残念ながら、デフォルトの設定では日本語検索がうまく機能しません。具体的には、部分一致検索がうまく機能しません。 例えば、以下のように「校異」という文字列がタイトルに含まれるアイテムが複数登録されている場合を想定します。 この時、画面左上部の全文検索フォームに「校異」と入力すると、検索結果は0件になります。 一方、「校異源氏物語」と入力すると、正しく検索結果が得られます。 本記事では、この問題に対する対応方法を紹介します。 標準機能での対応 対応策の一つとして、全文検索機能を使用せず、詳細検索において、「任意のプロパティに対する部分一致検索」を使用することが挙げられます。 具体的には、アイテムやアイテムセット、メディアの詳細検索画面から、以下の「値を検索」項目において、「[任意のプロパティ]」「含む」を選択した上で、検索語を入力します。この方法により、例えば「校異」という検索語による部分一致検索が可能です。 テーマの修正 上記では、管理画面での対応方法について説明しました。一方、公開画面においても全文検索フォームが以下のように提供されています。この全文検索フォームをそのまま提供すると、検索の挙動から利用者に混乱を招く恐れがあります。 対応方法の一つとして、テーマのプログラム修正が挙げられます。具体的には、以下の部分です。 https://github.com/omeka/omeka-s/blob/develop/application/view/common/search-form.phtml#L15-L20 この部分の修正方法として、以下の2点が挙げられます。なお、下記の2点の修正を含むテーマを以下からダウンロードいただけます。プログラムの修正等が難しい方は、以下をダウンロードの上、ご利用ください。 https://github.com/omeka-j/default/releases/tag/v1.6.3 上記のテーマは、テーマ名を「Default (CJK)」として、設定画面に全文検索フォームを表示するか否かのオプションを追加しています。また「表示する」に設定した場合、上述した、デフォルトの全文検索フォームではなく、「任意のプロパティに対する部分一致検索」を行うように修正しています。 以下では、このテーマの改修内容を参考に、プログラムの修正方法を示します。以下、プログラムの修正が必要になるため、発展的な内容になります。 (発展)対策1:全文検索フォームを隠す 例えば、全文検索のフォームの記述を削除することで、以下のように、全文検索フォームを隠すことができます。 具体的には、以下の部分を修正します。以下の例では、テーマの設定画面で表示・非表示を選択できるようにするため、themeSettingという関数を使用していますが、単純に、idがsearchのdivを削除またはコメントアウトすることで、検索フォームが非表示となります。 https://github.com/omeka-j/default/blob/develop/view/layout/layout.phtml#L73-L77 (発展)対策2:全文検索を「任意のプロパティに対する部分一致検索」に置き換える この方法では、以下のリンク先に示すように、テーマ側でsearch-form.phtmlを用意して、デフォルトの全文検索を行う記述を、「任意のプロパティに対する部分一致検索」を行うように書き換えます。 https://github.com/omeka-j/default/blob/develop/view/common/search-form.phtml 上記の2つの対応は、根本的な解決にはつながりませんが、応急処置の策として参考になりましたら幸いです。 Mroonga searchモジュールのインストール この問題を根本的に解決する方法として、以下のMroonga searchモジュールをインストールする方法が挙げられます。 github.com 上記のREADME.mdに記載があると通り、まずMySQLまたはMariaDBのMroongaプラグインを有効化します。 mroonga.org その上で、Omeka SのMroonga searchモジュールを通常の方法でインストールすることで、本記事で課題としているCJK対応の全文検索が可能になります。この場合、本モジュールを有効化するのみで、テーマの修正等は必要ありません!有益なモジュールを公開してくださっている開発者の方に深く感謝いたします。 一方、上記のリポジトリにも記載がある通り、以下の点に注意が必要です。 We have not heavily tested the Mroonga engine with large-sized data yet. なお、私も大規模なデータに対する動作検証はできていませんが、私の環境において、本モジュールが正しく動作することを確認済みです。 本モジュールの利用にあたっては、READMEファイルの内容を十分に検討した上でご利用いただくことを推奨します。 まとめ 以上、Omeka Sの日本語による全文検索の注意点とその対応方法をまとめました。今後、標準機能での対応が望まれますが、2022年3月時点での対応策として、本記事が参考になりましたら幸いです。

2022年3月7日 · 1 分 · Nakamura

Pythonを用いたTEI/XMLファイルの分析サンプルプログラムを作成しました。

Pythonを用いたTEI/XMLファイルの分析サンプルプログラムを作成しました。 以下のGoogle Colabからご利用いただけます。 https://colab.research.google.com/drive/1fji80KZW8typjJMi01fyUWjrdYrNldsK TEIデータの活用を検討されている方の参考になりましたら幸いです。

2022年3月6日 · 1 分 · Nakamura

IIIFマニフェストファイルからの画像一括ダウンロードプログラムを作成しました。

IIIFマニフェストファイルからの画像一括ダウンロードプログラムを作成しました。 以下のGoogle Colabからご利用いただけます。 https://colab.research.google.com/drive/1XL6cnY6fdtYTB5EdNA_B_EfqKHXZMDQJ?usp=sharing なお、提供機関に配慮してご利用ください。また、IIIFマニフェストの利用条件を確認の上、ご利用ください。

2022年3月4日 · 1 分 · Nakamura

Omeka S XML Viewerモジュールの使い方

※ 本モジュールの使用にあたっては、一部発展的な手続きが必要となります。Omeka Sの基本的な使用を検討されている方は、その点ご注意ください。 概要 Omeka SでXMLファイルの表示を可能とするXML Viewerモジュールの使い方について説明します。TEIで作成したXMLファイルの表示といった用途などに利用できます。 gitlab.com インストール 本モジュールについては、2022年3月4日時点において、GitLabのみで公開されており、GitHubでは公開されていません。 また、リリース版のzipファイルが提供されていないため、ソースコードをダウンロードする必要があります。 具体的には、以下のURLから、ソースコード版のzipファイルをダウンロードします。 https://gitlab.com/Daniel-KM/Omeka-S-module-XmlViewer/-/archive/master/Omeka-S-module-XmlViewer-master.zip これを展開すると、リリース版のXmlViewerというフォルダとは異なり、Omeka-S-module-XmlViewerというフォルダが作成されます。なので、本フォルダ名をXmlViewerに変更する必要があります。 その後は、他のモジュールと同様、Omeka Sの管理画面からインストールを行います。 XMLファイルのアップロード XMLファイルのアップロードは、一般的なメディアの登録方法と同じです。アイテムを新規作成し、そのアイテムに紐づけるメディアとして、XMLファイルを登録します。登録方法は、画像などと同様、ローカルからアップロードする他、URLを参照して登録することもできます。 注意点として、Omeka Sのデフォルト設定では、xmlファイルのアップロードは許可されておらず、以下のようなエラーが発生します。 そのため、以下の設定画面の「セキュリティ」の項目において、「許可されるメディアタイプ」にtext/xml、許可されるファイル拡張子にxmlを追記して保存します。 もしくは、「ファイル検証を無効にする」を有効化します。 上記の設定により、以下のようにxmlファイルが登録されます。この時、下図のMIMEタイプを確認しておいてください。 なお、xmlファイルに <?[xml](http://d.hatena.ne.jp/keyword/xml) version="1.0" encoding="[UTF-8](http://d.hatena.ne.jp/keyword/UTF-8)"?> の記述がない場合、以下のように、MIMEタイプが text/html に設定されてしまう場合があります。この時、後述するxslによる変換がうまくいかない場合があるため、xmlファイルの修正を推奨します。 XML Viewerモジュールの設定 次に、以下のように、サイトの設定画面に移動します。 その中に「XML Viewer」という項目があります。ここに、先ほど確認したMIMEタイプがない場合、下図のように追記します。「xsl/xml-html.xslt」は、本モジュールでデフォルトで提供されているxsltファイルです。 具体的なxsltファイルは、以下からご確認いただけます。 https://gitlab.com/Daniel-KM/Omeka-S-module-XmlViewer/-/blob/master/asset/xsl/xml-html.xslt その結果、サイト内のメディアの詳細ページにおいて、以下のように変換されたHTMLの内容が表示されます。 具体的には、登録したXMLファイルに対して、以下のように、xsltファイルへのリンクが挿入されていることが確認できます。 まとめ 上述したように、本モジュールによって提供されるxsltファイルに基づき、Omeka Sに登録したXMLファイルの内容を表示できることを確認しました。 用途に応じたxsltファイルを作成することで、表示内容のカスタマイズが可能です。 例えば、以下のようなxsltファイルを用意し、/modules/XmlViewer/asset/xsl に配置します。 https://gist.github.com/nakamura196/a74202c691e9957938e89a36d4da319a そして、上述した設定画面で当該ファイルを指定することにより、以下のように表示スタイルを変更することができます。 少し発展的な内容を含むモジュールですが、Omeka SとTEI/XMLの連携をお考えの方などの参考になれば幸いです。

2022年3月4日 · 1 分 · Nakamura

【固定した記事】デジタルアーカイブシステムの技術ブログへようこそ

デジタルアーカイブシステムの技術に関するブログです。特に、OmekaやIIIF、TEIなどに関する記事を執筆します。 Omekaの使い方に関する情報は、以下の記事にまとめています。 Omeka Sに関する記事まとめ Omeka.net(Classic)の使い方に関する情報は、以下の記事にまとめています。 Omeka.net(Classic)に関する記事まとめ カテゴリ「IIIF」の記事は以下です。 IIIF カテゴリーの記事一覧 カテゴリ「TEI」の記事は以下です。 TEI カテゴリーの記事一覧 その他の記事については、カテゴリなどからご確認ください。

2022年3月4日 · 1 分 · Nakamura

Omeka S Mirador モジュールの使い方

概要 Omeka SにMiradorビューアを追加するモジュールについて紹介します。 GitHubリポジトリは以下です。 github.com Mirador2と3の両方が利用可能です。また、各種プラグインを設定画面から追加することができます。この記事では、画像の回転や左右反転を可能にする「Imgae tools」プラグインを追加する方法を紹介します。 本モジュールを利用するには、Omeka SにIIIFサーバ機能を持たせるか、外部のマニフェストファイルを参照する必要があります。前者の導入方法については、別の記事で紹介予定です。 インストール 特に注意点はありません。 使用方法 モジュールのインストール後、以下に示す各サイトの設定画面において、Miradorの設定を行うことができます。 特に、「Mirador plugins for v3」において、プラグインの追加を行うことができます。画像の回転やフリップなどを可能にする「Image tools」プラグイン等を導入可能です。 導入後、以下のように当該プラグインが表示されます。 Omeka SでMirador 3を使用する際の参考になれば幸いです。

2022年3月1日 · 1 分 · Nakamura

Omeka Sに関する記事まとめ

Omeka Sに関する記事をまとめます。(随時更新) Zenn に移行作業中です。最新の記事は、以下をご確認ください。 zenn.dev 利用者向け Omeka Sの導入方法およびモジュールの追加方法 サイト アイテムの新規登録における各サイトへの自動追加の設定について リソース 既存の標準語彙の追加方法 メタデータの言語属性の設定方法 管理 モジュール モジュールのインストール方法 識別子 Clean Urlの使い方 [動画] Clean Urlの使い方 Clean Urlモジュールの不具合と暫定の修正方法 地図 Mappingモジュールの使い方 IIIF関連 IIIFサーバの導入方法 IIIF Serverモジュールにおいて、外部のImage Serverを利用する方法 Omeka S IIIF Serverモジュールを用いたIIIFコレクションの生成 目次を加える(その1:フラットな目次) 目次を加える(その2:階層構造を持つ目次) 目次情報の追加方法の和訳 cors policyの設定方法 [開発] ライセンスプロパティの不具合修正 動的タイル画像生成における画像サイズの上限設定 Miradorの使い方 Omeka Sで利用可能なIIIF対応ビューア [独自開発] IIIF Content Search APIを追加する AWSサーバーレスアプリケーションによるIIIF Image Serverの構築 一括登録 BulkImport CSVファイルを用いたメタデータと画像の一括登録 Bulk ImportによるCSVファイルを用いたメタデータの一括更新 Bulk Importによるリソースクラスの登録方法・設定編集ほか WindowsでBulkImportモジュールを使用する際の注意点 エクスポート OaiPmhRepository:独自語彙の作成 [独自開発] アイテムの詳細画面に各種エクスポートリンクを設置する 検索 Metadata Browse:同じメタデータを持つアイテムを検索する Advanced Search Plus:詳細検索機能を拡張する 日付データに対する範囲検索を可能にする Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール 語彙 Custom Ontology:独自語彙を追加する 動画 TEI/XML XML Viewer:XMLの内容を表示する テーマ Bootstrap 5を用いたOmeka Sテーマ 開発者向け Omeka Sにダミーデータを登録する

2022年3月1日 · 1 分 · Nakamura

gdownでエラーが出た場合の対処法

Google Drive専用ダウンローダであるgdownについて、以下のエラーが頻発するようになりました。 Access denied with the following error: Cannot retrieve the public link of the file. You may need to change the permission to ‘Anyone with the link’, or have had many accesses. You may still be able to access the file from the browser: 対処方法として、以下のようにgdownをインスールし直すとエラーが解消しました。 !pip install -U –no-cache-dir gdown –pre 同様の事象でお困りの方の参考になれば幸いです。

2022年2月22日 · 1 分 · Nakamura

IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。

IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。以下のGoogle Colaboratoryでお試しいただけます。 colab.research.google.com IIIFとTEIの連携を検討されている方の参考になりましたら幸いです。

2022年2月22日 · 1 分 · Nakamura

JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法

JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法についての備忘録です。 具体的には、例えばmyDocという変数に対して、以下の方法で取得できます。この例では、xml:id属性にabcという値を持つ要素を取得します。 myDoc.querySelector("[*|id=‘abc’]") *|(パイプ)idの形で指定する点がポイントです。 JavaScriptでTEI/XMLファイルを扱う場合、xml:id属性の値を使って要素を取得するケースがあります。このxml:id属性について、typeやcorrespといった他の属性と異なり、属性名にprefix「xml:」がついています。そのため、上記のような方法を使用する必要があります。 より良い方法や他の方法もあるかもしれませんが、参考になりましたら幸いです。

2022年2月21日 · 1 分 · Nakamura

【Omeka S・開発】Omeka Sにダミーデータを登録するためのCSVファイルを作成するプログラムを作成しました。

Omeka Sにダミーデータを登録するためのCSVファイルを作成するプログラムを作成しました。以下のGoogle Colabからご利用いただけます。 https://colab.research.google.com/drive/1Wy865vh9GpUPyiudu1L2A6RPAPXkGPmO?usp=sharing 実行後、CSVファイルがダウンロードされます。このCSVファイルをCSVインポートモジュールやBulk Importモジュールで使用することにより、以下に示すようなダミーデータを登録することができます。 Omeka Sの動作確認、テーマやモジュール開発時にお役に立てば幸いです。

2022年2月17日 · 1 分 · Nakamura

【Omeka S モジュール紹介】Mappingモジュールの使い方(特にCSVインポートモジュールを用いた一括登録)

概要 Omeka Sに地図を追加するMappingモジュールの使い方、特にCSVインポートモジュールを用いた一括登録の方法について説明します。 Omeka S - Mapping モジュールのインストール まず、Mappingモジュールをインストールします。 また、データの一括登録にあたり、CSVインポートモジュールをインストールします。 https://omeka.org/s/modules/CSVImport/ Bulk Importモジュールをインストール済みの場合、当該モジュールを無効化する必要があります。もしくは、以下を参考にパッチの適用等を検討してください。 https://github.com/Daniel-KM/Omeka-S-module-BulkImport#installation データ準備 以下のようなCSVファイルを用意します。 https://github.com/omeka-j/Omeka-S-sampledata/blob/main/mapping.csv 「Resource location」列に緯度経度のデータを入力しています。データの入力方法は何通りかありますが、上記の例では、2つの緯度経度のデータを一つのセルに入力しています。この区切り記号として、今回の例は「|」を利用しています。この記号は、後述の設定画面で選択できます。 また緯度と経度は「/」で区切ります。 データ登録 用意したデータの登録方法について説明します。 まず、画面左側のメニューから「CSVインポート」>「インポート」をクリックし、用意したファイルを選択します。 次の画面において、データのマッピングを行います。「Resource location」列について、プラスボタンから追加オプションを開き、「Resource location」項目から「緯度/経度」を選んでください。 次に、レンチボタンから追加オプションを開き、「多値セパレータを使用する」にチェックを入れてください。一つのセルに一つのデータのみを準備している場合には、本オプションは不要です。 その後、「基本設定」タブに移動して、「多値セパレータ」の値に、「|」を入力します。他の区切り記号を使用している場合には、こちらで変更します。 上記の設定を行ったのち、画面右上の「インポート」ボタンをクリックすることで、以下に示すように、緯度経度の情報を持ったアイテムを登録することができます。 まとめ 本記事では、Mappingモジュールの使用にあたり、CSVインポートモジュールを用いた一括登録の方法について説明しました。 CSVインポートモジュールについては、Bulk Importモジュールと同様に、さまざまなオプションがあります。これらについては、また別の記事でまとめたいと思います。

2022年2月15日 · 1 分 · Nakamura

【Omeka S モジュール開発】アイテムの詳細画面に各種エクスポートリンクを設置するモジュールを開発しました。

アイテムの詳細画面に各種エクスポートリンクを設置するモジュールを開発しました。 github.com 本モジュールをインストールすることにより、以下に示すようなエクスポートリンクが表示されます。 具体的には、JSON-LD、テキストデータ、引用、コンテンツ共有、に関するエクスポートボタンを設置します。以下の設定画面から、それぞれ表示/非表示を設定することができます。 本モジュールの出力結果について、Omeka Sのテーマを修正することで、例えば以下に示すようなボタンと機能を実現することができます。(Omeka Sのテーマの修正方法については、別の記事で紹介できればと思います。) 以下のページで設置例をご確認いただけます。 https://diyhistory.org/nakamura196/s/main/item/3 用途が限定されたモジュールですが、同様のニーズをお持ちの方の参考になれば幸いです。 なお、より汎用的な出力モジュールとして、メタデータをCSVやJSON形式で出力可能なBulk Export、引用に関するモジュールであるBibliography、およびコンテンツ共有に関するSharing、などがあります。これらの使用方法について、改めて記事にできればと思います。

2022年2月14日 · 1 分 · Nakamura