Drupal: Feedsを用いた一括登録と更新の例

概要 以下の記事で、Strapiを用いたネストされたフィールドに対する検索方法を調査しました。 今回は同様のことをDrupalで行うにあたり、その準備である、コンテンツの一括登録及び更新方法に関する備忘録です。上記の記事と類似の構造を設定するために、BookとAuthorという2つのコンテンツタイプを対象にします。 content typeの作成 BookとAuthorのcontent typeを作成します。 Author 以下、Authorの例です。 id, name, hobbyというフィールドを作成します。feedsは後から追加されるものなので無視してください。 Book Bookのフィールドとして、authorsを作成し、Cotentをフィールドとして選択します。 Reference typeのcontent typeとしてAuthorを選択しました。 feedsの設定 一括登録のための設定を行います。 Author 以下にアクセス /admin/structure/feeds csvをアップロードして登録するため、以下のように設定します。 フィールドNAMEとHOBBYを以下のように設定します。titleは必須項目としていたため、設定しています。またifをUniqueな項目としています。 Book Bookに関する注意点として、authorsは他のコンテンツタイプのidを指定するようにしています。具体的には、以下の図のように、Reference byに「node.field_id」を指定しています。 feedsによる一括登録 /admin/content/feed Author 先に作成したcsvファイルアップロードすることで、以下のように登録が完了します。 Book authorsに正しくcontent typeがauthorのコンテンツが紐付けられています。 (参考)Feedsを用いた更新 authorのfeeds設定を設定するために、以下にアクセス /admin/structure/feeds/manage/author?destination=/admin/structure/feeds 以下のように、「Update existing content items」で「Update existing content items」とすることで、更新を行うことができました。「field_id」をUniqueとしたため、この値に基づいて、新規・更新が判定されます。 ! 「Replace existing content items」や「Update existing content items」などの挙動の違いを十分に理解できていないため、使用される際は検証の上、ご利用ください。 まとめ Feedsを用いた一括登録と更新、および異なるコンテンツタイプとの関連付けを行いました。参考になりましたら幸いです。

2023年4月23日 · 1 分 · Nakamura

Drupal: 異なるコンテンツタイプのコンテンツを相互にリンクさせる

概要 異なるコンテンツタイプのコンテンツを相互にリンクさせる方法を調べたので、その備忘録です。 具体的には、以下のitem 1がimage 1というコンテンツをiiif_image2というフィールドを介してつながっています。 上記に対して、image 1というページに、item 1へのリンクを設けることが目的です。 この実現にあたり、以下の記事を参考にしました。 https://drupal.stackexchange.com/questions/255447/view-for-entity-reference-reverse-backwards-forwards 方法 ビューの追加 /admin/structure/views に移動し、 +ビューを追加 「Create a block」オプションをチェックします ビューの設定 次のページで、Advancedの設定を行います。 リレーションシップ field_iiif_image2のリレーションシップを追加します。これは、2つのコンテンツタイプを関連付けるために重要です。 Require this relationshipにチェックを入れる必要があります。このフィールドを持たない場合には表示しない、という挙動になるものと理解しました。 コンテキストフィルター 次に、現在のコンテンツタイプのランディングページにコンテキストフィルターを追加します。このようにして、ビューで使用される実際のノードIDを取得します。これで、field_iiif_image2で同じノードIDを持つページのみを見つけることができます。 IDで探す(コンテンツ) デフォルト値を提供-> URL からのコンテンツ IDにチェックを入れます 次のような結果になります。 Update previewの箇所で、メディアのノードID(ここでは、62602)を入力してみます。本メディアが参照されているアイテムへのリンクが表示されます。 ブロックの追加 以下にアクセスします。 /admin/structure/block 例えば、「Content」の横の「Place block」ボタンを押します。 /node/*に配置してみます。 結果、冒頭のように、当該imageが属するitemを表示することができます。 まとめ 使用している用語に統一性がなく、わかりにくい点が多く恐縮ですが、参考になりましたら幸いです。

2023年4月20日 · 1 分 · Nakamura

ORCIDのRDFを確認する

ORCIDのRDFを確認する方法です。 以下のORCID IDを対象にします。 https://orcid.org/0000-0001-8245-7925 閲覧には、神崎正英氏が開発されているLinked Data Browswerを使用します。 https://www.kanzaki.com/works/2014/pub/ld-browser 例えば、以下のURLからRDFデータを閲覧できます。 https://www.kanzaki.com/works/2014/pub/ld-browser?u=https%3A%2F%2Forcid.org%2F0000-0001-8245-7925 具体的なRDFデータは以下です。 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:pav="http://purl.org/pav/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:gn="http://www.geonames.org/ontology#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <foaf:PersonalProfileDocument rdf:about="http://pub.orcid.org/orcid-pub-web/experimental_rdf_v1/0000-0001-8245-7925"> <pav:createdOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime" >2017-07-14T00:27:17.421Z</pav:createdOn> <prov:generatedAtTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime" >2022-12-14T02:40:04.693Z</prov:generatedAtTime> <pav:lastUpdateOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime" >2022-12-14T02:40:04.693Z</pav:lastUpdateOn> <pav:createdWith rdf:resource="https://orcid.org"/> <prov:wasAttributedTo> <prov:Person rdf:about="https://orcid.org/0000-0001-8245-7925"> <foaf:account> <foaf:OnlineAccount rdf:about="https://orcid.org/0000-0001-8245-7925#orcid-id"> <rdfs:label>0000-0001-8245-7925</rdfs:label> <foaf:accountName>0000-0001-8245-7925</foaf:accountName> <foaf:accountServiceHomepage rdf:resource="https://orcid.org"/> </foaf:OnlineAccount> </foaf:account> <foaf:publications> <foaf:Document rdf:about="https://orcid.org/0000-0001-8245-7925#workspace-works"/> </foaf:publications> <foaf:page rdf:resource="https://researchmap.jp/nakamura.satoru/?lang=english"/> <foaf:based_near> <gn:Feature> <gn:parentCountry> <rdf:Description rdf:about="http://sws.geonames.org/1861060/"> <gn:name>Japan</gn:name> <gn:countryCode>JP</gn:countryCode> <rdfs:label>Japan</rdfs:label> </rdf:Description> </gn:parentCountry> <gn:countryCode>JP</gn:countryCode> </gn:Feature> </foaf:based_near> <foaf:familyName>Nakamura</foaf:familyName> <foaf:givenName>Satoru</foaf:givenName> <rdfs:label>Satoru Nakamura</rdfs:label> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/> </prov:Person> </prov:wasAttributedTo> <pav:createdBy rdf:resource="https://orcid.org/0000-0001-8245-7925"/> <foaf:maker rdf:resource="https://orcid.org/0000-0001-8245-7925"/> <foaf:primaryTopic rdf:resource="https://orcid.org/0000-0001-8245-7925"/> </foaf:PersonalProfileDocument> </rdf:RDF> 参考になりましたら幸いです。

2023年4月20日 · 1 分 · Nakamura

DrupalのRESTful Viewsを使ってカスタムAPIを作成する

概要 以下の記事を参考に、DrupalのRESTful Viewsを使ってカスタムAPIを作成したので、その備忘録です。 https://acret.jp/drupal/node/434 上記の記事の内容に加えて、ページネーションに関する設定方法も記載しています。 Viewsの作成 上記のサイトの通りに進めました。 ページネーションを許可する 以下の記事を参考にしました。 https://www.drupal.org/forum/support/post-installation/2015-12-04/rest-export-pagination ViewsのPagerを選択します。以下の通り、Fullとしました。Miniでも大丈夫そうでした。 「Allow user to control the number of items displayed in this view」と「Allow user to specify number of items skipped from beginning of this view.」にチェックを入れます。 結果、以下のようなパラメータが使えるようになりました。 /my_custom_api?items_per_page=10 /my_custom_api?items_per_page=10&offset=1 /my_custom_api?items_per_page=50 まとめ カスタムAPIを作成する際の参考になりましたら幸いです。

2023年4月20日 · 1 分 · Nakamura

Drupalのビューで結果の合計数を表示する

概要 Drupalのビューで結果の合計数を表示する方法を調べたので、その備忘録です。以下のように、検索結果の合計数などが表示されます。 方法 以下の記事を参考にしました。 https://ostraining.com/blog/drupal/count-views/ 以下のページにアクセス /admin/structure/views/view/content Header横のAddボタンを押す Result summaryを選択 Applyを押して、Saveを押します。 まとめ 参考になりましたら幸いです。

2023年4月20日 · 1 分 · Nakamura

Omeka SにGoogle Analytics 4 gtag.jsを追加する

概要 Omeka SにGoogle Analyticsを設定するモジュールとして以下があります。 https://omeka.org/s/modules/GoogleAnalytics/ 2023年4月時点では上記のモジュールもGA4に対応していますが、2022年4月時点では以下の記事にある通り、非対応だったようです。 https://forum.omeka.org/t/google-analytics-4-gtag-js/15034 そこで、以下のモジュールが紹介されていたので、試してみます。 https://omeka.org/s/modules/AnalyticsSnippet/ なお、繰り返しになりますが、2023年4月時点では、冒頭のモジュールもGA4に対応していますので、Google Analyticsの設定にあたり、どちらのモジュールを使用してもよさそうです。 インストール 一般的なインスール方法と同様です。今回は、version=3.3.3.4をインストールします。 cd /modules version=3.3.3.4 wget https://github.com/Daniel-KM/Omeka-S-module-AnalyticsSnippet/releases/download/$version/AnalyticsSnippet-$version.zip unzip AnalyticsSnippet-$version.zip 設定 サイトの設定画面で、コードを貼り付けます。 コードは、Google Anayticsの設定画面から取得です。 まとめ Omeka SにGA4を設定する際の参考になりましたら幸いです。

2023年4月19日 · 1 分 · Nakamura

TEI Critical Apparatus Toolboxを用いてTEI XMLをLaTeXに変換してみる

概要 TEI Critical Apparatus Toolboxは、a tool for people preparing a natively digital TEI critical editionです。日本語訳の一例は以下です。 ネイティブ デジタル TEI クリティカル エディションを準備する人々のためのツール http://teicat.huma-num.fr/index.php 校異情報を可視化する機能を提供する他、複数の便利な機能を提供しています。 その中で、「TEI から LaTeX および PDF への変換」機能があることを教えていただいたので試してみます。 Print an edition 以下にアクセスします。 http://teicat.huma-num.fr/print.php this dummy edition fileという文字列のリンクをクリックして、以下のサンプルデータをダウンロードします。 http://teicat.huma-num.fr/print-feature-test-file.xml 上記のファイルを本ツールにアップロードします。変換に関する様々なオプションが用意されていますが、デフォルト設定のまま、画面下部の「送信」ボタンをクリックします。 すると、zipファイルがダウンロードされます。myEditionというフォルダが展開され、.log、.pdf、.texの3つのファイルが格納されていることが確認できます。 PDFの例は以下です。 TEXの例は以下です。 注意 2023年4月時点において、上記の機能は日本語を含むxmlファイルではうまく出力できませんでした。この点の改善についても今後検討してみたいと思います。 まとめ TEI/XMLファイルの変換ツール、フローを検討する上で、参考になりましたら幸いです。

2023年4月19日 · 1 分 · Nakamura

JPCOARスキーマ(v1)を用いたxmlファイルのバリデーションツールの試作

以前に以下の記事を執筆しました。JPCOARスキーマを用いたxmlファイルのバリデーションを試しました。 今回は、上記の記事での検証を元に、Google Colabを用いた検証ツールを作成しました。以下のURLからお試しいただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/JPCOARスキーマ_v1を用いたxmlファイルのバリデーション.ipynb 公開済みのxmlファイルのURLを指定する、またはローカルファイルをアップロードすることで、対象ファイルのバリデーションを行うことができます。 JPCOARスキーマ(v1)を用いたxmlファイルの作成にあたり、参考になりましたら幸いです。

2023年4月19日 · 1 分 · Nakamura

Google Colabを用いたNDL古典籍OCRチュートリアルの不具合の修正および機能追加を行いました。

概要 以下の記事で紹介している、Google Colabを用いたNDL"古典籍"OCRアプリのチュートリアルを作成しています。 今回、以下の更新を行いました。 利用条件の追加 不具合の修正 IIIF Presentation API v3のマニフェストファイルの入力への対応 更新したノートブックは、これまでと同じ以下のURLでアクセスいただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/NDL古典籍OCRの実行例.ipynb 利用条件の追加 ノートブック自体はCC0でご利用ください。ただし、「NDL古典籍OCRアプリケーション」は国立国会図書館がCC BY 4.0ライセンスで公開するものですので、クレジットの表示をお願いいたします。また、OCR適用対象の資料の利用条件などについても、それぞれご確認ください。 不具合の修正 OCR結果が出力されない不具合が発生していました。また、ライブラリのインストールにも長い時間がかかるようになっていました。これらの2点を修正しています。 IIIF Presentation API v3のマニフェストファイルの入力への対応 これまで、IIIF Presentation API v2のマニフェストファイルの入力のみに対応していました。 今回、v3への対応を行いました。この検証にあたり、以下の記事で紹介したIIIF Presentation API v3のマニフェストファイルを使用しました。 まとめ この間、不具合が発生しており申し訳ありません。NDL古典籍OCRの活用に役立つことができれば幸いです。

2023年4月12日 · 1 分 · Nakamura

Omeka Sを用いて、IIIF Presentation API v3のマニフェストファイルを作成する

概要 IIIF Presentation API v3のマニフェストファイルを作成する必要がありましたので、Omeka Sを用いて作成する方法について紹介します。 Omeka SとIIIF Serverモジュールのインストール 以下などを参考にインストールしてください。 https://zenn.dev/nakamura196/books/f4f87f9730e12e Omeka Sでのアイテム作成 今回は国立国会図書館で公開されている、以下の画像を対象にします。 https://dl.ndl.go.jp/api/iiif/2585098/R0000003/full/full/0/default.jpg アイテムの新規作成を行い、適当なタイトルを与えます。 次に、「メディア」タブを選択して、続けて、画面右のメニューで「URL」を選択します。そして、「URL」に画像のURLを入力します。 そして、画面右上の「追加」ボタンをクリックして、アイテムを登録します。 IIIFマニフェスト 今回は、https://omekas.aws.ldas.jp/omeka4/というサイトに対してアイテムを作成し、Omekaの内部IDとして19が与えられました。 v2 このとき、以下のURLでIIIF Presentation API v2のマニフェストファイルにアクセスできます。 https://omekas.aws.ldas.jp/omeka4/iiif/19/manifest またはAPIのバージョン/2を追加して、以下のURLでもアクセスできます。 https://omekas.aws.ldas.jp/omeka4/iiif/2/19/manifest v3 上記の/2となっている箇所を/3に変更することで、IIIF Presentation API v3のマニフェストファイルにアクセスできます。 https://omekas.aws.ldas.jp/omeka4/iiif/3/19/manifest または、IIIF Serverモジュールの設定画面において、デフォルトのバージョンを3に変更することで、バージョンを指定しない場合に、v3のマニフェストファイルが生成されます。 まとめ IIIF Presentation API v3(および Image API v3)の生成において、参考になりました幸いです。

2023年4月12日 · 1 分 · Nakamura

【Omeka S テーマ開発】Bootstrap 5を用いたOmeka Sテーマを更新しました。

Bootstrap 5を用いたOmeka Sテーマを以下で公開しています。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5 今回ご提案をいただき、以下に示すような作成日/更新日を追加しました。 また以下のように、Omeka Sのversion 4が公開されましたので、そちらに対応しました。 https://forum.omeka.org/t/omeka-s-version-4-0-0/16502 ただ、version 3からversion 4への更新にあたり、両versionで共通に使用できないメソッドが存在したため、version 3向けのリリースと、version 4向けのリリースをそれぞれ作成しました。 version 3向け https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/releases/tag/3.0.0 version 4向け https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/releases/tag/4.0.0 今後、基本的にはversion 4向けに改修を加えていくことを考えていますが、参考になりましたら幸いです。

2023年4月10日 · 1 分 · Nakamura

IIIFを中心としたデジタルアーカイブ関連ツールを作成しました。

概要 IIIFを中心としたデジタルアーカイブ関連ツールを作成しました。以下のURLからお試しいただけます。 https://nakamura196.github.io/viewer/ 現在、以下の2つの機能を提供しています。 Mirador 3による画像比較 コマ数の指定ツール Mirador 3による画像比較 https://nakamura196.github.io/viewer/input 比較したいマニフェストファイルのURLやCanvasのURIを指定します。例などをお試しください。 以下のように、画像を比較することができます。 コマ数の指定ツール https://nakamura196.github.io/viewer/canvas IIIF対応のビューアにおいて、{url}?manifest={manifest}&canvas={canvas}のような形でコマ数を指定することが多いです。 ただこのcanvasのURIを取得するのが難しい場合があるため、マニフェストファイルとコマ数を指定すると、canvasのURIを自動取得するツールを作成しました。 必要項目を入力して「URLを作成」ボタンをクリックすると、canvasのURIを含むURLが表示されます。わかりにくいと思いますので、画面下部の「例」などをお試しください。 まとめ IIIF Presentation APIのv2のみへの対応ですが、お役に立ちましたら幸いです。

2023年4月6日 · 1 分 · Nakamura

ExcelからRDFを作成する

概要 RDFデータの作成にあたり、Excelで作成したデータから、RDFデータに変換するPythonライブラリを試作しました。まだまだ中途半端な状態ですが、備忘録です。 ノートブック 以下のノートブックから試用いただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/ExcelからRDFデータを作成する.ipynb 変換元のExcelデータ 以下のようなExcelファイルを作成します。 https://docs.google.com/spreadsheets/d/16SufG69_aZP0u0Kez8bisImGvVb4-z990AEPesdVxLo/edit#gid=0 上記の例では、「prefix」という名前のシートに、使用するprefixの情報をまとめています。 また、「target」というシートに、具体的なデータを入力しています。Omeka SのBulk Importの仕様を参考にして、言語ラベル「@ja」や、type「^^uri」などを指定します。 上記のデータの作成方法については、改めて説明ページを用意したいと思います。 変換処理 上記のノートブックを参考にしてください。prefixの情報を格納したシートと、処理対象のデータを含むシートを指定して、RDFデータへの変換処理を実施します。 まとめ 同様のニーズに答える既存のツールが多々あるかと思いますが、参考になりましたら幸いです。

2023年4月3日 · 1 分 · Nakamura

w3id.orgを用いた永続識別子の取得とSnorqlへのリダイレクト

概要 以下のようなRDFデータの公開ページを作成しました。 https://sukilam-educational-metadata.github.io/ 特に、以下のページから、SPARQLおよびSnorqlを用いたRDFデータに対する検索を行うことができます。Snorqlの利用にあたっては、「Snorql for Japan Search」を利用させていただいています。画面下部のクエリ例からお試しください。 https://sukilam-educational-metadata.github.io/snorql/ 本ページの公開にあたり、w3id.orgを用いた永続識別子の取得とSnorqlへのリダイレクトを行いましたので、その備忘録です。 SPARQLエンドポイントの準備 Dydraを用いてSPARQLエンドポイントを構築しました。 Snorqlの準備 Snorql for Japan Searchについては、以下を参考にしてください。 https://www.kanzaki.com/works/ld/jpsearch/snorql_ldb-about Snorqlのダウンロードについては、以下などを参考にしてください。 https://nakamura196.pages.dev/ja/posts/6b7c5484b2f161/#snorqlの設定 またSnorqlのカスタマイズ方法については、以下などを参考にしてください。 公開ページの準備 今回は、GitHub Pagesを用いた公開ページの作成を行いました。まず、以下の組織アカウントを作成しました。 https://github.com/sukilam-educational-metadata そして以下のリポジトリを作成しました。 https://github.com/sukilam-educational-metadata/sukilam-educational-metadata.github.io GitHub Pagesを有効にすることで、以下URLから公開ページにアクセスできます。 https://sukilam-educational-metadata.github.io/ 先に準備したSnorqlも設定することで、以下のURLから、Snorqlにアクセスできます。 https://sukilam-educational-metadata.github.io/snorql/ w3id.orgを用いた永続識別子の取得 最後に、w3id.orgを用いた永続識別子の取得について説明します。w3id.orgの使用にあたっては、以下などを参考にしました。 https://www.jstage.jst.go.jp/article/jkg/68/7/68_361/_pdf まず、以下のサイトをForkします。 https://github.com/perma-id/w3id.org そして、以下のプルリクエストを送りました。 https://github.com/perma-id/w3id.org/pull/3126/files 以下のように記述することで、https://w3id.org/sukilam-educational-metadata/学年/小6にアクセスすると、https://sukilam-educational-metadata.github.io/snorql/?describe=https://w3id.org/sukilam-educational-metadata/学年/小6に転送されます。 RewriteRule ^(.*) https://sukilam-educational-metadata.github.io/snorql/?describe=https://w3id.org/sukilam-educational-metadata/$1 [R=302,L] (※この記述内容については、改善の余地が多いと思います。) 考察 Snorql(SPARQLエンドポイント)を用いたリダイレクトを行うことで、URI毎のページを動的に生成できることが利点です。一方、SPARQLエンドポイント(今回はDydra)に依存することになります。したがって、より安定した長期的な運用を目指す場合には、URI毎に静的なページを用意する方法のほうが適していると考えられます。 用途や運用環境に応じて、適切な手段を選択するのがよさそうです。 まとめ RDFやLODの公開にあたり、本取り組みが参考になりましたら幸いです。

2023年4月2日 · 1 分 · Nakamura

vue3とbabylon.jsの双方向のやりとり例(その2)

概要 以下の記事で、vue3とbabylon.jsのやりとりを行うプログラムを作成しました。 今回は上記の発展版として、sceneに渡すmeshをvueから指定しています。以下のリンク先で内容をご確認いただけます。(途中、meshをうまく削除できていない箇所があります。今後修正予定です。) https://youtu.be/-dyQp-QX42I デモサイト https://nakamura196.github.io/nuxt3-babylonjs/10 ソースコード https://github.com/nakamura196/nuxt3-babylonjs/blob/main/pages/10/index.vue まとめ 参考になりましたら幸いです。

2023年3月29日 · 1 分 · Nakamura

IIIF Curation Viewerのアノテーションの色を変更する

概要 IIIF Curation Viewerで付与したアノテーションの色を変更したい、というご要望をいただいたので、その方法の一例を紹介します。 アノテーションのマーカーの種類に関する説明は以下などにまとめられています。 http://codh.rois.ac.jp/software/iiif-curation-viewer/annotation.html#マーカーの種類 JSONデータを手動または機械的に修正して実現することも可能ですが、今回はGUIを使った変更方法をご紹介します。 動画 作業の流れを動画にしました。参考にしてください。『百鬼夜行図』(東京大学総合図書館所蔵)を使用しています。 https://www.youtube.com/watch?v=fbfdQVxHTgs 作業内容 IIIF Curation Viewerでアノテーションを付与する この部分までは、以下の記事などを参考に進めてください。 https://zenn.dev/nakamura196/books/f4f87f9730e12e 結果、以下のように、青色の矩形でアノテーションが表示されます。この矩形の色を変更してみます。 独自ツールを用いた編集 矩形の色の変更にあたり、独自のツールを作成しました。以下のURLから編集画面にアクセスできます。 https://ndl-ocr.vercel.app/icv Curation URIを入力すると、以下のような編集画面に遷移します。 https://ndl-ocr.vercel.app/icv/editor?curation=https://mp.ex.nii.ac.jp/api/curation/json/bfb7d80e-4e51-44fb-97d2-94e7c5acb2fd まず、「1. ダウンロード」を押して、編集前のデータをローカルにダウンロードしてください。念の為、以後の作業前のデータをバックアップしておきます。 次に、動画を参考に、以下のように、ColorやCharsを編集します。 そして、「3. コピー」を押して、編集内容のjsonデータをコピーします。 あとは、動画を参考に、IIIF Curation Editorを開き、JSONデータを更新し、IIIF Curation Viewerのアノテーションモードで変更内容を確認します。以下のように、矩形に色が付き、charsに指定した文字列が合わせて表示されます。 まとめ IIIF Curation Viewerのアノテーションモードにおいて、矩形の色などを変更されたい場合の参考になりましたら幸いです。

2023年3月28日 · 1 分 · Nakamura

Omeka ClassicとOmeka S: 機能と違いの比較(GPT-4による解説)

Omeka ClassicとOmeka S: 機能と違いの比較(GPT-4による解説) 対象ユーザー: Omeka Classic: 主に個人や小規模な組織がデジタルコレクションを公開する目的。 Omeka S: 中から大規模な組織や複数のプロジェクトを同時に扱うことができるように設計。 サイト管理: Omeka Classic: 1つのインスタンスで1つのウェブサイトを作成。 Omeka S: 1つのインスタンスで複数のウェブサイトを作成・管理。 データ共有: Omeka Classic: 基本的には独立したサイトを作成。 Omeka S: データの再利用や共有を容易にするため、リンクトデータとセマンティックウェブ技術に対応。 拡張機能: Omeka Classic: プラグインをサポート。 Omeka S: モジュールをサポート。※Omeka ClassicのプラグインはOmeka Sのモジュールと互換性がない。 コミュニティサポート: Omeka Classic: 豊富なサポート資料やオンラインコミュニティが存在。 Omeka S: 比較的新しいプラットフォームで、まだそれほど多くの資料やサポートがないが、急速に成長中。 選択をする際には、プロジェクトの規模やニーズ、技術的なスキル、利用可能なリソースなどを考慮して、どちらのプラットフォームが適切かを判断することが重要です。この解説はGPT-4によって作成されました。 質問一覧 Omeka ClassicとOmeka Sの違いを教えてください。 上記の説明をマークダウン形式に変換してください。 上記の記事にタイトルをつけてください。 GPT-4を用いたことを追加してください。 私が行った質問の一覧をマークダウンで作成してください。 続き zenn.devに投稿するにあたり、複数のトピックを提案してください。 zenn.devへの投稿にあたり、以下のようなトピックを提案します。 Omekaプラットフォーム入門: Omeka ClassicとOmeka Sの基本概念やインストール方法を紹介。 Omeka ClassicとOmeka Sの拡張機能比較: 両プラットフォームで利用できるプラグインとモジュールの比較と使い方。 Omekaを利用したデジタルアーカイブ構築: Omeka ClassicまたはOmeka Sを用いてデジタルアーカイブを作成する方法。 Omeka ClassicからOmeka Sへの移行ガイド: データの移行や再設定が必要な部分について説明。 リンクトデータとセマンティックウェブの活用: Omeka Sでリンクトデータやセマンティックウェブ技術を活用する方法とメリット。 デジタルヒューマニティーズとOmeka: デジタルヒューマニティーズ分野でのOmekaの活用事例や可能性について説明。 Omekaプロジェクトのベストプラクティス: 成功したOmekaプロジェクトの共通点やベストプラクティスについて解説。 オープンソース文化遺産管理ソフトウェアの比較: Omeka以外のオープンソース文化遺産管理ソフトウェア(例: CollectiveAccess, DSpace)との比較。 より技術ブログに適した端的なキーワードを最大5つ教えてください。 技術ブログに適した端的なキーワードは以下の通りです。 ...

2023年3月17日 · 1 分 · Nakamura

Omeka Sのユーザ権限と非公開リソースへのアクセス

概要 Omeka Sにおいて、非公開リソースに対する閲覧権限を持つユーザを作成する必要がありましたので、その備忘録です。 Omeka Sのユーザ権限 Omeka Sでは複数のユーザ権限が用意されています。具体的には、以下のページで紹介されています。 https://omeka.org/s/docs/user-manual/admin/users/#users 以下、日本語訳をまとめましたので、参考になりましたら幸いです。 英語 日本語 Global Administrator full installation privileges. グローバル管理者 完全なインストール権限 Supervisor robust site and content privileges. Supervisor 堅牢なサイトおよびコンテンツ権限 Editor (Content Expert) full privileges for content creation. 編集者 コンテンツ制作のための完全な権限 Reviewer robust content privileges but can only delete own content. レビュアー 強力なコンテンツ権限を持っているが、自分のコンテンツを削除することしかできない。 Author create own content. 著者 自分のコンテンツを作成することができます。 Researcher search and read privileges only. 研究者 検索と読み込みの権限のみ 非公開リソースへのアクセス: View Private Resourcesモジュール 上記の表において、Researcher(研究者)は検索と読み込みの権限しか持たないため、非公開リソースのレビュー等を依頼する際に使用し得る権限の一つです。(加えて、Guestモジュール等を使用することで、権限を追加することもできます。) しかしデフォルト設定では、Author(著者)およびResearcher(研究者)は非公開リソースへのアクセス権限を持っていません。 ...

2023年3月17日 · 1 分 · Nakamura

【Omeka S モジュール紹介】Bulk Import:CSVファイルを用いたメタデータと画像の一括登録(2023-03版)

概要 Omeka Sへのメタデータ(アイテム)と画像(メディア)等の一括登録を行うためのモジュール「Bulk Import」の使い方について、以前に以下の記事を作成しました。 https://nakamura196.hatenablog.com/entry/2021/07/28/080952 ただし、Omeka Sやモジュールのアップデートにより、2023年3月時点では、一部挙動が異なる点があります。そこで本記事では、詳細な説明は上記の記事に譲りつつ、アイテムセットからメディアの登録までの一連の流れを再度紹介します。 モジュールのインストール 関連モジュールのインストール まず、以下の2つのモジュール「Log」と「Generic」をインストールしてください。 https://github.com/Daniel-KM/Omeka-S-module-Log https://github.com/Daniel-KM/Omeka-S-module-Generic (オプショナル)ログの設定 Logモジュールのインストール後に、以下のようなアラートが表示されます。config/local.config.phpの設定を変更しておくことで、Bulk Importを使用する際のエラー内容などを確認することができて便利です。 具体的には、/config/local.config.phpについて、logをtrueに設定します。 return [ 'logger' => [ 'log' => true, //ここをtrueに変更する 'priority' => \Laminas\Log\Logger::NOTICE, ], 'http_client' => [ 'sslcapath' => null, 'sslcafile' => null, ], ... ] この設定を行うことにより、後述する一括登録の際に、以下のようなログが表示されます。特に、意図したとおりに一括登録できない場合に、その原因を調べる上で参考になります。 Bulk Importのインストール 以下のリポジトリからインストールしてください。 https://github.com/Daniel-KM/Omeka-S-module-BulkImport インストール後に以下のような設定画面が表示されますが、とりあえずそのままで構いません。 アイテムセットの登録 まず、アイテムセットの登録を行います。インポートの画面から、以下の「CSV - Item sets」を選択します。 サンプルデータとして、以下のcsvファイルをダウンロードしてください。 https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item_set.csv ダウンロードしたファイルを選択します。 次の画面では、いろいろな設定項目がありますが、とりあえずデフォルトのままでOKです。 登録が完了すると、以下のように、タイトル(dcterms:title)とIdentifier(dcterms:identifier)が登録されます。 アイテムの登録 次に、アイテムの登録を行います。以下のcsvファイルを使用します。 ...

2023年3月12日 · 1 分 · Nakamura

ArchivesSpaceをUnixのデーモンとして実行する

以下に記載がありました。 https://archivesspace.github.io/tech-docs/administration/unix_daemon.html 具体的には、以下のように実行すれば良いようです。 cd /home/ubuntu/archivesspace/ ./archivesspace.sh start

2023年2月10日 · 1 分 · Nakamura