(非標準)Omeka SのOAI-PMH RepositoryモジュールでDeleteレコードを出力してみる

概要 Omeka SのOAI-PMH RepositoryモジュールでDeleteレコードを出力してみましたので、備忘録です。 背景 以下のモジュールを使用することにより、OAI-PMHのリポジトリ機能を構築することができます。 https://omeka.org/s/modules/OaiPmhRepository/ ただ、確認した限り、Deleteレコードを出力する機能はないようでした。 関連モジュール Omekaの標準機能では、削除されたリソースを保存する機能はないかと思います。 一方、以下のモジュールは削除されたリソースを保持する機能を追加します。 https://github.com/biblibre/omeka-s-module-Necropolis 本モジュールを有効化することにより、以下のように、リソースがいつ誰によって削除されたかを記録できるようになりました。 OAI-PMH Repositoryモジュールへの応用 上記のモジュールで作成される削除されたリソースの情報が格納されるテーブルを使って、Deleteレコードの出力を試みます。 以下のファイルのlistResponse関数に追記します。 p { r i v a $ $ $ $ $ $ $ i } t a e i q q q e f e p n t b b u x @ @ i t e - e p 以 ( f v v A i m = > r r 下 $ $ $ $ $ i } } i } i } $ $ $ $ i } } r u a a d t R s y を s s n d e f f f q q p r f e n r r a y e $ e = 追 e e a e x e b b a o e t c p M p i l = 加 t t m 削 l o p ( l 日 ( ( 結 - - g w ( l u t \ \ t a o t e $ t e 除 e a o $ $ s $ 付 $ $ $ $ $ $ 果 > > i s $ $ s i } } $ $ f } i } } r i O D e n s e c n q = i s 済 t i s e q e q フ f q q u q q の s s n r t e f v t o f n o m o r a i m t e b = n p み e p e x b b ィ r b b n b b 制 e e a = o h e e h r e ; n e c M g t R ( w - = g a レ d m M p { I ル o - - t - - 限 t t t w i { ( l r i e R ( l k t a e o e ' > s c コ R h e o = t = タ m > > i > > と M F o c s s $ $ s $ b s a $ $ $ $ $ $ $ e $ $ $ $ $ $ $ s $ $ l a r n r r p o A e e ー e r d s e > > リ ) a s l a s オ a i r o - v m e m E - c h h i h d h v s r t t t t t v e t v i \ i a y o m r x o = I ド s e i e $ m $ a s ン n e ) n e フ x r u = > e e i e l > h e e d e a e e u o o o o o o e i o e s A n g = s e r p : d を o p a M d の d n e グ { d t d t セ R s = n = t r t f t e d 削 a a e a t a r m w k k k k k r f k r t p e e = i k a r d $ u o e e み e d t W P { W P ッ e t t h b h h m o ( 除 d d n d e d b p s e $ e e e e b e b R i \ r $ t a y ( e t = n r s = d l を l W P h a h a ト s R n ( 0 r o ( o e c $ さ e e t e s e E t n c n n n n E ( n E e \ O t $ o _ O ) l h e c i i e 取 e h a e r e r u e e $ ) o = d $ d n u p れ r r i r t r l i > u E E E E l $ E l s A R = h e r r b ; e i $ c e t $ a t 得 t e r r a r a l s w p w = v t m a た - f - a - e o = r l l l l e c l e p d M i n y o j t s s r R o s ) e す e r a e m e m t u a { E = e = e g リ = > i > m > m n ( s e e e e m u e m o a \ $ s t - o e e - e o e r e d る d e m ( e ( e s l P g r ' r = n i ソ s e a p a e $ $ o m m m m e r m e n p E t - i > t c d > t p p y t { R R ( e $ t $ t ( t a i r L ' b ' t n ー $ e r p p n T c t r e e e e n s e n s t n h > t c ' t ' s t o o _ t e e ' t e e e e $ ( g n o i a a $ - a ス t t p = p t o u h n n n n t o n t e e t i s y r ) ; ) e i l s e i s s n e x r x r t $ i a r s p = p t > t の h A = e e - k r i + t t t t - r t - ( r i s e M e ; r n i i x n o o e r p ( p ( h c n t ( t p = p h d o 情 i t n $ n > e s s - - - > > $ \ t - r a a { v g s t p g u u c ( r ' r ' i u a o s I e e i o r 報 s t $ d t d a n o - $ = > > > a ! = a v M y > v n t i s _ o o s r r r ' - f - u s r t r e d n ' n s c を - r t C h C p r > t s s s p = p e a M s i a e c - r r s - c c o i > r > n - s o ) l e d L d - u a O > i h h i h p の c h $ e e e p $ p r n a e c g Q e > e y e > e e p t g o l t > o r ; f n H i R > m s A d b i i s i e 処 + r i t t t t e 0 t e b a n r e e u L g s _ g R R o e t m t i _ r ( : t e s e d e I o u s l - l n 理 e s h A A A n ) h n , g a v L r e o e o = m e e e l m e ' e l l ) $ : i a t c o n $ - c t - d > d d $ a - i t t t d i d e g i o - r c t u e t p p i T ( , ( ' i ; q O f d R o c t d P u e > ( d ( C t t > s t t t C { s C $ r e c c > y a ( r $ d ( o o s y ' ' , s b A i e e r u E e M m ( d $ o $ h h e _ - r r r h - h m r e a g B t ' c e i ' s s _ p n $ n t , I e r c d m l l H e ' o i c d i i R l > i i i i > i e $ L t e u o o e n a o i i r e e f e $ L _ r ' o ' e e e レ n s c d u a l s e i d b b b l d l t a $ o o t i r a t に a t t e ' c r c u i f E s ; r ; n m t ス t t u e m t d - s s o u u u d o d a p e c r R l - i テ i 応 i o o s , r o r n m a R ' d t e e ポ - a m n e e ( > u t c t t t ( c ( d i n a - e d > p ー t じ p r r o o m o t i l R ) s - n d ン > t e t n s $ _ m L u e e e $ u $ a A t t > p e g m ブ y て m y y u ' p ) p i t s _ ' > t E ス c u n i t t h l p i m ( ( ( t m t t d i o g o r e h ル M 、 h - - r O o ; o l ) e N { ) c - n に r s t f - a e i t m e ' ' ' o e o a a t r e s ( t r か a m r > > c m l l ) ; ) O r > t 追 e ' - i > m a s i i n e c c k n k P p y - t i ' ( e ら n e e c c e e i i ; ; _ { e a i 加 a , > e c p d t o t t x o u e t e r t M > ( t o ' p 取 a d p r r . k s s R a p t t c r r ) e L n , - p m r n - n e e a g ' o m O o 得 g i o e e r a _ _ E t p y e ' r ) e ; r i T > i p s E > E f r n e O r e m s す e a s a a e \ r r C e e ) E d e ; a ) m o $ c r l o l c l i M a t m y k e i る r と i t t s E e e O E n l e a t ; i k s r a e r e r e x a g ( e ( a k t - i t e e o n s s R l d { e l t e t e e e t t ' m e m , n e ' k \ _ a o > t o Q Q u t o o D e C m e e E ) n t a i e , e a e a r O a O r \ r g e r u u r i u u S m h e t E l ) ( , t o L n t n $ g m \ m o S y e m y e e c t r r _ e i n e l e $ e n i ( t e t c e e E e o e _ t の _ r r e y c c M n l t d e m { v $ E D s s ) E ) u r k n k t t n R 取 e y y T \ e e A t d ( ' m e e f l a t t ; l ; r a t a ' t a e 得 x B B y I . . T ( ( ' ) e n r r e t S r e s \ i \ ) i m p を p u u p t d d C $ $ h ; n t b o m e i i m o A t E ; n e o 分 o i i e e e e H v v e t ( , m e ' z n e r p y n g s s け s l l m l l , e e a ( ' , n , e g n , i M t s p i る e d d = ' e e r r d ' d $ t ' ) t A a i ' a t _ e e ) t t n b b e i a m $ ( $ , ( $ d n t ) c o m r r : ; e e e ) E r d t e u ' t $ ' s a a y ; e r e ( ( i d d w ; l ' 削 e e t n r o ( c r e p g \ _ y d ' ' t ' ' e ) 除 n s a t e k s u e t t e I i ( i n n e , , M m ; 済 t t d i s e t r s , e r t d \ a e e m e e み i a a l u n r s u r ' e ' N ' c c T ' ' s n レ f m t ) m - i o m $ M ) m , e , r r y : : s t コ i p a ; p > n r p f a ; : c o o p f u a ) ー e ' P t e g ) t r n : ' r f p p e r n g ; ド r , r i x ) ; i o a c d o a o o ' o t e と ' e o p o m g l e p l l l ) m i ( し , $ f n i $ n , e a f o s i i ' l ' て d i T r r T r s a l e s s ) ' N 設 e x o a o o $ ' s u i ) _ _ ) ) o 定 o l , k t w k u ) ) l s ; r r ; ) a e e i s e n ; ; t \ e e ; r i t n o ) n t _ E s s e : e ' n ; ' i n n o o c ' d , ( ) l a t u u o E ) ; ) m i r r r . n ( - : e t デ c c d t s > s y フ e e s $ i t f p \ ォ ' ' n t r o o a N ル ) ) m a y i r i c e ト ; a m - n m d e c は t e > g a ' r f c s g ) t ) o a h p e ( ; p l a t $ ' o s t c D t Y l e h e e o - i ( e I l k m s i d e e - R t g t n d e e i . e - \ s m v d > T o の e " ( i H u み n : ) d : r ) " - ( i c c > ) : e r . f ) s : i o ; \ : t $ r Z c e d m ' l r e a ) a i l t ) s a e ( ; s . t ' ) ' e Y ; ) d - ) E m ; n - t d i \ t T カ y H ス @ - : タ t > i ム r g : エ a e s ン n t \ テ s I Z ィ l d ' テ a ( ) ィ t ) ) e ) ; ; OAI-PMH標準には合致していない実装方法ですが、setにo:deletedを指定すると、削除レコードを返却することができます。 ...

2024年10月10日 · 18 分 · Nakamura

Omeka Sのテーマの一覧を視覚的に確認するページを作成するプログラム

概要 以下の記事で、Omeka Sのテーマの一覧を視覚的に確認するページを紹介しました。 上記のページ作成に使用したプログラムを以下のリポジトリで公開しました。 https://github.com/nakamura196/OmekaS まとめ 同様の作業を行うにあたり、参考になりましたら幸いです。

2024年10月5日 · 1 分 · Nakamura

Omeka Sで3Dモデルを公開する

概要 Omeka Sで3Dモデルを公開する方法について調べてみましたので、備忘録です。 結果、以下のように3DモデルをOmeka Sで扱うことができました。 https://omeka.aws.ldas.jp/s/sample/item/43 バージョン 使用するOmeka Sおよびモジュールのバージョンは以下です。 Omeka S 4.1.1 Common 3.4.62 IIIF Server 3.6.21 Universal Viewer 3.6.9 モジュールのインストール Common, IIIF Server, Universal Viewerモジュールをインストールします。 モジュールの設定 IIIF Serverモジュールについて、設定を2点行います。 まず、Default IIIF api version of the manifestを3にします。 また、Default IIIF image api versionをNo image serverにします。 glbファイルのアップロード 以下で公開されているglbファイルを利用させていただきます。 https://ft-lab.github.io/gltf.html 以下のように、apple.glbをメディアとして、新規のアイテムを登録します。 結果、サイトの詳細ページにおいて、Universal Viewer上に3Dモデルが表示されます。 https://omeka.aws.ldas.jp/s/sample/item/43 作成されるマニフェストファイルは以下です。 { } " " " " } " ] " " ] " " ] " ] " ] @ i t l , m , r p , v s , h , i c d y a e i r i e o t o " p b t g o e e m e n : e e " ] a { } h v { } w A { } e { } m { } t " l n d t i i l p s e " : " o a s d n s a " x h : n t " e g o g : t t " e " a " } " } : r " " " } D " " " " } " " e " " " } " " ] " " " " } " " ] " t M { " g " l , v " i t l i : i t l , f p " i t l , f l [ @ i t l , r i : p a : l : a a " : d y a r d y a o r : d y a o a c d y a i t s n b b l h " p b e [ " p b r o " p b r n o " p b g e " : i [ " [ e " ] u " ] t [ : e e " ] c : e e " ] m f [ : e e " ] m g " n : e e " ] h m { } h / f l n e n t " l n t " l n a i " l n a u j t " l n t s t / e " o " o p " : " o i " : " o t l " : " o t a a e " : " o s " t o s : n : n s h : n o h : n " e h : n " g " x h : n " : p m t e " e " : t " e " n t " e " : " t " e " : e t t " e " : " " " ] : e " { " T { " g / t A { " O " t D { " A : t T { " R " " t C { " 1 [ i t i / k , : i : l / p g : m : p a : p " p e : e " : : p a : " " d y t / a t b r s e e s t i a " s x s t s n h " p e i . [ l [ " i : n [ k " : a [ p h : t [ o e [ " : [ t : e m { } i a e g / t a l / s r p t / " u x h / a t " s i w " h / " e / e e l t / , r t t / s p " : " f s t o , S f o t s i p o c / t o " s h : . . s m " t m " t c s m e h p m , : t " " " " " } " " } i l s e - e , a : e t : e / t A [ i t m b , t l o d t k t k j t / k i m / k / p n d y o o a a / a a a o a s i a n l / a r s n " p t d r b a s t . - . o o . " i . i : : e i y " " " " " " " g e " ] p . e a r a n n m a s , i a g t " v " i t f s h w d e l n i j m w i w - / e w i i w h a " : a : d y o e e i u t " o / p e s g s l l k s t f s t o t h t " p r r i d r " : n p / n . h . d d a . e . . s m i t " i { : e m v g t a : e " r i t l t l " + . l : i l s e o t A o " a i h h t { " [ e i s d " d j a d o d t k n p n n " : t c t " i " : U s i . a , a s w a a / a a a P s n " h " e " : o h n e f o s s o s s a a s t . a : : t " : " : n t [ t n / r . . n . . a p . e a g t t M : n " t i t 3 g j j " l j " i j m w e a " p o " n u : p t a / / p p , d p / p e s " o t p s d m [ u l s l t 4 v / / a / p / n . , m i a : e o ] l l n : e i 3 o " a s s r i t l e o i / l d , l , u / d o / c , p . / e i s d k n n / " e , l / ] n m a i j a s i . a a " t o , l l o " / a b / p a e f o s . , i m / m 3 n / i / a n / r . a n e g e / i C t a / t 3 g j w g k l k c f N e p i a / / p s " a t a o e E m i t t 4 v / . , . f . n s / s - e i 3 o i l a - a t t 1 / c m o / c i d w b w e " . 4 o / n c a i a s i s x , 0 3 n 4 / a b f s . n . t / " t 3 3 n / / . l a l . " , e " / v C 3 j d r d j , x , c a N / p a y a s t o s E 4 / s " s o " n / / 3 i . , . n t p 1 / i j j " e 1 . a i p p , x " 0 n f / / t , / n / f i . " o 3 i i j , t / l i s a 4 e f o t 3 s / n i / / 3 " o a o / , n n r 4 - n i 3 p o g / a t i c g a n a e t a n / i l v 4 o / a 4 n c s " / 2 / , 4 8 p 4 f 1 " 7 " , 1 , 0 7 5 2 5 2 7 0 b 0 3 b 4 3 1 4 e 7 3 4 b b d d 3 1 8 d 0 3 4 2 a 4 . g l b " , まとめ Omeka Sと関連モジュールを使用することで、比較的に3Dモデルを公開することができました。 ...

2024年10月4日 · 8 分 · Nakamura

Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応

概要 Omeka Sにおいて、多くのメディアが関連づけられたアイテムを保存しようとする際、CSRF: Value is required and can’t be emptyというエラーメッセージが表示され、保存が完了しない事象に遭遇しました。 本記事では、このエラーへの対処方法について説明します。 関連記事 以下の記事などで言及されています。既知のエラーのようで、php.iniを変更する必要があると述べられています。 https://forum.omeka.org/t/csrf-value-is-required-and-cant-be-empty/15421 https://github.com/omeka/omeka-s/issues/1472 対処方法 以下にチャットGPTによる回答を掲載します。 php.ini で max_input_vars を設定するには、以下の手順を実行してください。 php.ini ファイルを開きます。php.ini の場所は、環境によって異なるため、以下のいずれかのディレクトリにあることが多いです: /etc/php/8.x/apache2/php.ini (Apache) /etc/php/8.x/cli/php.ini (CLI) /etc/php/8.x/fpm/php.ini (PHP-FPM) max_input_vars の値を設定または変更します。設定するために、次の行を探します。または、存在しない場合は新しく追加します。 m a x _ i n p u t _ v a r s = 1 0 0 0 1000 という値はデフォルトですが、必要に応じて大きな数に変更できます。例えば、5000に変更する場合は次のようにします。 m a x _ i n p u t _ v a r s = 5 0 0 0 php.ini ファイルを保存します。 ...

2024年10月2日 · 1 分 · Nakamura

Omeka Sのv4.0.4からv4.1へのアップデートに伴うエラー対応

概要 Omeka Sの更新作業にあたり、以下のエラーが発生しました。 Fatal error: Uncaught ArgumentCountError: Too few arguments to function Omeka\View\Renderer\ApiJsonRenderer::__construct(), 0 passed このエラーへの対処方法に関する備忘録です。 対処方法 以下に記載がありました。 https://forum.omeka.org/t/upgrade-from-4-0-4-to-4-1-failed/22281 具体的には、Nextモジュールをアンイストールすることで、上記の不具合を解消することができました。 まとめ 同様のことでお困りの方の参考になりましたら幸いです。

2024年8月1日 · 1 分 · Nakamura

Omeka Sの更新

概要 Omeka Sの更新作業に関する備忘録です。以下の公式ドキュメントも参考にしてください。 https://omeka.org/s/docs/user-manual/install/#updating 事前準備:バックアップ 更新作業の前には、不測の事態に備えてデータベースとファイル一式のバックアップを必ず取得してください。 1. データベースのバックアップ mysqldumpコマンドなどでデータベースのダンプファイルを作成します。 # m y m s y q s l q d l u d m u p m p - u - u d b [ _ D u B s ユ e ー r ザ ー - 名 p ] o - m p e k [ a D _ B s 名 _ ] d b > > [ 出 o 力 m フ e ァ k イ a ル _ 名 s ] _ b a c k u p . s q l 2. ファイルのバックアップ Omeka Sのインストールディレクトリ全体をバックアップ(複製)します。 ...

2024年8月1日 · 11 分 · Nakamura

Omeka SのBulkExportを使って、特定のアイテムの指定した項目のみをエクスポートする

概要 Omeka SのBulkExportを使って、特定のアイテムの指定した項目のみをエクスポートする方法について紹介します。 ここでは、「Table Of Contents(dcterms:tableOfContents)」を持つアイテムのみに限定し、「タイトル(dcterms:title)」と「識別子(dcterms:identifier)」のみをエクスポートしてみます。 関連 以下の記事で、Omeka SのBulkExportモジュールの概要について説明しています。 今回は、具体的な使用例を元に説明します。 方法 以下にアクセスします。 /admin/bulk-export/bulk-export 「Add an exporter」ボタンを押します。 適当なラベルと、フォーマット(Writer)を指定します。 作成後、再度アクセスして、「Writer」タブを開きます。 そこで、「Metadata」項目から、出力したい項目を指定します。 また、「Resource query」項目から、出力したいアイテムを限定します。ここでは、「Table Of Contents(dcterms:tableOfContents)」に何かしらの値を持つ「has any value」を指定します。 以後、この設定を使用することにより、上記の条件に合致するアイテムおよび項目をエクスポートすることができます。 まとめ 検索条件や出力項目を変更して、目的に応じたエクスポートをお試しください。 本記事が参考になりましたら幸いです。

2024年7月31日 · 1 分 · Nakamura

Omeka SのOaiPmhリポジトリモジュールにおいて、アイテムが公開されいているサイトページのURLを取得する

概要 Omeka SのOaiPmhリポジトリモジュールにおいて、アイテムが公開されいているサイトページのURLを取得する方法に関する備忘録です。 背景 以下の記事で、OaiPmhRepositoryを使った独自語彙の作成方法を紹介しています。 https://nakamura196.hatenablog.com/entry/2021/07/25/222651 こちらも参考にしてください。 アイテムが公開されいているサイトページのURLの取得 修正前 あるカスタマイズ事例において、以下のようにサイトページのURLを取得していました。以下は、Clean Urlモジュールにおいてdcterms:identifier以外が設定されている場合にはうまくいきません。また、/s/db/record/といったハードコーディングが見られます。 i } f ( $ $ t i h t i e s m - - > > a v p a p l e u n e d ( N e " w d E c l t e e m r e m n s t : ( i $ d o e a n i t , i f ' i c e u r r " a t ) i o ) n : { r e l a t i o n ' , s e l f : : p r e f i x . " / s / d b / r e c o r d / " . ( s t r i n g ) $ i t e m - > v a l u e ( " d c t e r m s : i d e n t i f i e r " ) - > v a l u e ( ) ) ; 修正後 以下のようにシンプルに記述することができました。これにより、当該アイテムが複数のサイトで公開されていても対応することができます。 ...

2024年7月14日 · 2 分 · Nakamura

Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い

Omeka Sでのエラー詳細の表示を有効にする手順は次の通りです。この設定を行うことで、「Omeka S has encountered an error」というページに具体的なエラーメッセージと詳細が表示されるようになります。また、PHPレベルのエラーや警告もページ上に表示されるようになります。これは開発中に問題の特定と解決を容易にするためのものですが、セキュリティ上の理由から本番環境では使用しないことが推奨されます。 エラー詳細の表示を有効にする手順 .htaccessファイルを見つける : Omeka Sのインストールフォルダのメインディレクトリに.htaccessファイルがあります。このファイルはWebサーバーの設定をカスタマイズするために使用されるものです。 .htaccessファイルを編集する : .htaccess ファイルをテキストエディタで開きます。 ファイル内の次の行を探します。 S e t E n v A P P L I C A T I O N _ E N V " p r o d u c t i o n " * この行を次のように変更します。 S e t E n v A P P L I C A T I O N _ E N V " d e v e l o p m e n t " 変更を保存してサーバーを再起動する : ...

2024年7月4日 · 1 分 · Nakamura

Omeka SのBulkImportを使用する際の設定例

概要 Omeka SのBulkImportを使ってデータの一括登録を行う際、登録方法の各種設定を行うことができます。 これはアップロードの都度、設定することもできますが、事前に登録しておいた設定を使用するようにすることで、作業者によるミスなどを軽減することができます。 ここでは、登録済みのアイテムに対して、IIIF画像を紐づける際の、一括登録用の設定例について紹介します。 アイテムの例 以下のように、dcterms:identifierにsampleを持つアイテムを作成しておきます。 設定 以下にアクセスします。 /admin/bulk/bulk-import 登録するフォーマットに合わせて、「CSV - Medias」または「OpenDocument spreadsheet (ods) - Medias」の編集アイコンをクリックします。 Importer タブにおいて、MapperをManualに設定します。これにより、登録時にマッピング結果を確認できるように、マッピングミスの有無などを確認できるようになります。 またProcessor タブにおいて、Identifier to use for linked resources or updateをdcterms:identifierに設定します。これにより、CSVやODSファイルにおいて、メディアを紐づけるアイテムをdcterms:identiferで指定できるようになります。 データ例 以下のようなデータを用意します。 iiif o:item dcterms:source https://dl.ndl.go.jp/api/iiif/3437686/R0000001/info.json sample https://dl.ndl.go.jp/api/iiif/3437686/R0000001/info.json CSVまたはODSファイルの項目の指定方法については、以下などを参考にしてください。 https://nakamura196.hatenablog.com/entry/2021/07/28/080952#アイテム マッピング表は以下にあります。 https://gitlab.com/Daniel-KM/Omeka-S-module-BulkImport/-/blob/master/data/mappings/fields_to_metadata.php 登録 Step 1/4: Reader において、ファイルを選択します。 (基本的には作業不要)Step 2/4: Mapper において、登録対象のリソースの数や、マッピング結果に問題がないかを確認します。 (基本的には作業不要)Step 3/4: Processor において、Identifier to use for linked resources or updateで先に設定した値が登録されているかを確認します。 (作業不要)Step 4/4: Confirmation において、画面右上の「Start import」ボタンを押します。 ...

2024年7月2日 · 1 分 · Nakamura

Omeka SのBulkImportモジュールの不具合

概要 PHP 8.1.29とOmeka S version 4.0.4の組み合わせにおいて、BulkImportモジュールを使用した際、以下のエラーが発生しました。 F S # a t 0 t a a c / l k h o e t m r r e r a / o c x r e x : : x / U w n w c w a / u o g m h e t k a T - y … p e E r r o r : m b _ s u b s t r ( ) : A r g u m e n t # 1 ( $ s t r i n g ) m u s t b e o f t y p e s t r i n g , n u l l g i v e n i n / h o m e / x x x / w w w / o m e k a - s / m o d u l e s / B u l k I m p o r t / s r c / P r o c e s s o r / R e s o u r c e P r o c e s s o r . p h p : 1 0 7 9 現時点で、原因までは特定できていませんが、対策を紹介します。 ...

2024年7月2日 · 2 分 · Nakamura

Omeka SのIIIF ServerモジュールでのCORSエラー

概要 Omeka SのIIIF Serverモジュールを使ってIIIFマニフェストを配信した際、外部のビューア等で以下のCORSエラーが発生しました。 A c c e s s t o f e t c h a t ' h t t p s : / / x x x / i i i f / 2 / 0 9 f d 2 9 d 5 - 8 4 9 7 - 4 d e f - a 6 4 d - c a 1 0 4 2 8 4 f 9 0 d / m a n i f e s t ' f r o m o r i g i n ' h t t p s : / / u n i v e r s a l v i e w e r . i o ' h a s b e e n b l o c k e d b y C O R S p o l i c y : N o ' A c c e s s - C o n t r o l - A l l o w - O r i g i n ' h e a d e r i s p r e s e n t o n t h e r e q u e s t e d r e s o u r c e . I f a n o p a q u e r e s p o n s e s e r v e s y o u r n e e d s , s e t t h e r e q u e s t ' s m o d e t o ' n o - c o r s ' t o f e t c h t h e r e s o u r c e w i t h C O R S d i s a b l e d . ...

2024年7月2日 · 3 分 · Nakamura

Service with name “Omeka\Acl” could not be created

概要 Omeka S 4.1系にCleanUrlモジュールをインストール使用した際、以下のエラーが発生しました。 L S a e m r i v n i a c s e \ S w e i r t v h i c n e a M m a e n a “ g O e m r e \ k E a x \ c A e c p l t ” i o c n o \ u S l e d r v n i o c t e N b o e t C c r r e e a a t t e e d d E . x c R e e p a t s i o o n n : R e s o u r c e i d ‘ O m e k a \ C o n t r o l l e r \ S i t e \ P a g e ’ a l r e a d y e x i s t s i n t h e A C L この不具合は、以下のフォーラムでも報告されていました。 ...

2024年7月1日 · 1 分 · Nakamura

‘session.name’ is not a valid sessions-related ini setting

概要 Omeka Sの運用において、以下のエラーが発生しました。 ‘ s e s s i o n . n a m e ’ i s n o t a v a l i d s e s s i o n s - r e l a t e d i n i s e t t i n g これについて、以下のフォーラムで同じ事象が報告されていました。 https://forum.omeka.org/t/session-name-is-not-a-valid-sessions-related-ini-setting/15499 原因と対処法 Omeka S 3系とPHP 8.1の組み合わせにおいて発生することがあるようでした。 The issue here is PHP 8.1 specifically. You won’t see it on 8.0 or older versions. An upcoming release of Omeka S will resolve this problem with PHP 8.1, but I don’t have a date currently set on when that will release. ...

2024年7月1日 · 1 分 · Nakamura

Omeka SのCustomOntologyモジュールを使って、クラスやプロパティを追加する

概要 Custom Ontologyは、LOV、schema.org、W3Cといった標準的なオントロジーが利用できないときに、独自の語彙を追加することができるモジュールです。 本モジュールの基本的な使い方については、以下を参考にしてください。 https://nakamura196.hatenablog.com/entry/2021/07/24/235050 また本モジュールを使ってすでに作成した語彙を更新する方法は以下を参考にしてください。 今回は、すでに作成した語彙に、クラスやプロパティを追加する方法に関して説明します。 方法 以下のように、「myprefix」という独自語彙が作成済みであることを前提とします。 myprefix http://localhost/ns/myprefix/ この語彙にクラスなどを新規に追加する場合には、「Create a specific ontology」のフォームは空のままにしておきます。 結果、以下のように、追加を行うことができます。 参考 すでに語彙が作成済みの場合、「Create a specific ontology」のフォームを埋めると、以下のようにエラーが発生しますので、ご注意ください。 A A n n o e n r t r o o l r o g w y a s e x f i o s u t n s d . f o T r u r t t h l e e p c r a e n f n i o x t " b m e y p c r r e e f a i t x e " d . . N o t h i n g w a s i m p o r t e d . まとめ Custom Ontologyの使用にあたり、参考になりましたら幸いです。 ...

2024年6月17日 · 1 分 · Nakamura

Omeka-S-module-FixCjkSearchのv4.1.0をリリースしました。

概要 Omeka Sの標準機能では、日本語による全文検索がうまくいかない課題に対して、以下のモジュールを作成しています。 https://github.com/nakamura196/Omeka-S-module-FixCjkSearch 本モジュールについて、本記事執筆時点のOmeka Sの最新版、v4.1.0では動作しなくなっていたため、モジュールの最新版をリリースしました。 https://github.com/omeka-j/Omeka-S-module-FixCjkSearch/releases 不完全な点もあるかと思いますが、参考になりましたら幸いです。 参考 日本語による全文検索の不具合については、以下の記事も参考にしてください。 また、日本語検索時における「たこ」「タコ」「だこ」「ダコ」などのアクセスの区別については、以下の記事を参考にしてください。

2024年6月17日 · 1 分 · Nakamura

Omeka Sの部分一致検索時のアクセントの区別

概要 Omeka Sの部分一致検索について、アクセントの区別について調査しましたので、その備忘録です。 事象 例えば、「たこ」という文字列を含むアイテムが格納されている場合、「たこ」「タコ」「だこ」「ダコ」で同じ検索になります。 原因 インストール時にデフォルトで設定される照合順序「utf8mb4_unicode_ci」が原因のようでした。 具体的には、この照合順序は「case-insensitive」(大文字小文字を区別しない)および「accent-insensitive」(アクセントを区別しない)となるため、「たこ」「タコ」「だこ」「ダコ」で同じ検索になるようでした。 対策 ! 照合順序を変更する際、既存のデータに影響が出ないように注意して、変更前には必ずバックアップを取ることをお勧めします。 もし上記を区別したい場合、「value」というテーブルの照合順序を「utf8mb4_bin」に設定するのが一つの方法のようです。 上記の設定を行った結果、例えば「ダコ」で検索すると0件になりました。 まとめ Omekaの利用にあたり、参考になりましたら幸いです。

2024年6月17日 · 1 分 · Nakamura

Bootstrap 5を用いたOmeka Sのテーマver 4.0.2をリリースしました。

概要 Bootstrap 5を用いたOmeka Sのテーマを更新しました。今回の更新で追加した機能などについて紹介します。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/releases/tag/4.0.2 新機能 詳細検索ボタンのリンク設定 テーマの設定画面に「Advanced Search URL」という項目を追加しました。 上記の例では、「page/advanced」というページに遷移する設定を行っています。 具体的には、以下の「詳細検索」のボタンをクリックした際に、ここで設定したURLに遷移します。(未設定の場合は、Omekaの通常の詳細検索のページに遷移します。) 以下の記事で、独自の検索ページを作成する方法を紹介しました。こちらと組み合わせて使用することで、独自の検索ページとの画面遷移を実現できます。 不具合の修正 ソート 以下のように、ソート項目が表示されない不具合がありました。 以下のように、$sortByとして使用していたものを、$sortConfigに変更する必要がありました。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/commit/5928a37fc4af1cb26ac0b6df13c25cf4f57eb66e#diff-2388527aaa944d338d7a5144cb4e49aa659702c2d628d12103e090f7cd6ed3bc Advanced Search Advanced Searchモジュールと組み合わせて使用した際、レイアウトが崩れる箇所がありました。まだ統一感が取れていない点がありますが、改善しました。 まとめ Omeka Sの利用にあたり、お役に立ちましたら幸いです。

2024年4月17日 · 1 分 · Nakamura

Omeka SのAdvanced Searchモジュールでの部分一致検索

概要 Advanced Searchモジュールを使って、追加したフィルタで部分一致検索を行う方法について説明します。 上記では、「とる」という文字列をクエリとして、タイトルが「abc タイトル」のアイテムがヒットしています。 背景 Advanced Searchモジュールを使用すると、検索条件やファセットなどを柔軟に設定することができます。 https://omeka.org/s/modules/AdvancedSearch/ 特に、「Reference」モジュールと組み合わせることで、以下のようなファセット検索を実現できます。 フィルタの追加もできます。ただし、フィルタを用いた部分一致検索を行う場合には、設定が必要です。 上記の例では、「とる」という文字列をクエリとした際、タイトルが「abc タイトル」のアイテムがヒットしていません。 設定方法 フィルタの追加は、以下の設定画面のFiltersで行います。(slugの部分は必要に応じて読み替えてください。) /admin/search-manager/config/1/configure 上記の例では、titleとsubjectをフィルタとして以下のように追加しています。 t s a i u d t b v l j a e e n c c = t e d T = i = t S l u F e b i j l e t c e t r s = A d v a n c e d = このままでは、titleおよびsubjectに対する完全一致になります。 ...

2024年4月17日 · 1 分 · Nakamura

Omeka Sの検索結果に表示する項目を指定する

概要 以下のように、検索結果に表示する項目を指定する方法について説明します。 設定 デフォルトの設定では、以下のように、「見出し」にタイトル(dcterms:title)、「Body」に説明文(dcterms:description)が表示されます。 これに対して、サイトごとの設定画面の以下の箇所を変更することにより、「見出し」「Body」それぞれに表示する項目を設定することができます。 Advanced Searchの場合 Advanced Searchモジュールを使用している場合でも、この設定は引き継がれます。 以下でソースコードを確認できます。 https://github.com/Daniel-KM/Omeka-S-module-AdvancedSearch/blob/master/view/search/resource-list.phtml browse_heading_property_termとbrowse_body_property_termの設定に基づき、表示項目が指定されています。 < $ $ ? < < < < ? h b > ? h ? u / p e o p 3 p l u h a d h > h l p d y p < p c < f ? < < > i T ? l ? o > l / ? n e i = e a p r i l p g r f n s h e i h T m $ d s p a $ $ $ $ c < < > p e ( e i = c h h b b l d / d / r = $ s f " h e e o o a i d i d e m t c ; r a a d d s v i v i n $ i a e ( d d y y s < v < < d = s t p ? s $ i i = c ? > c h d / f e l e > o @ r n n = = " l = l 4 i d o $ t e ( u v e g g r a a > v i r s t ) $ r a s $ $ e s $ s < < v e e i : t c r o = = b b s s h s ? c ? > a t n i e u o o o = y = = l = c t g ? t - \ r $ $ d d u " p " a h i ( > l l O c h h y y r r e r $ s $ ; n ' e i m e e e T c e r e r s b g b ) s e s a a e ? e s l s e = o ? ( r t k d d r o i o s " d > ' o ? a a i i m $ < u n u o d y b w > s \ s n n b ? r k r u e r s < e A g g ? o = c - c r s ? o e / a p $ T d e > e c c > w _ h r i r e ? $ y $ - r - e r s b 3 c \ e r r - r t a m - i e o > h R s m $ e > e h w e > p _ d - e o h s a s u ( t l t h y r p u ? e o s o m $ a i i e _ e r r a u H u b r d n o a p s e c $ d r t r n e a k n d r u s e r i c m c a s t R " i o l e ) e n e l e i o a a > n p t n : s g - ( T l u " w g e s t o - > ) y " r > ( _ r - a u > v p > c $ p t l t r a a : e e h r y i i c s l T e o _ s o e H u $ ? h a p t t n - t e e > u d e e < \ > m ( s " m i r r ? A v l $ c > b n t m = b a ( b a n g y ' s l ) o p a ) _ ) $ t u d e i t ; g r e : y ( l ? e r a ( T $ , > r i c $ $ e r < m d t h e r e $ / ' L R e s m s r h ) i e a c , o e 4 ; s s d a u s > t o i p [ r o M u n e ' c u o r g ( l e r d c T $ a - c e e e r n > e E r e g d U = n m s ' i r = t , o s l = i u = p , t [ r > l ' y ' c a [ l R l e $ y ' i e a - l D c s p n > a e l t r g d n s a _ e ' i g c s o s s V r s n e = p a i ' l n > l l p y t a u t = ' a $ y e i > t l T ] o ? i a i ) n ' o n t ( r ' n g l : n e V e u s l $ a ( n l o i r l $ u l u s e u u l , r t s e n l c ' o ] t ; $ e u ) i l - : r t a l c : l n i ( e e g n $ n d ) k g u , ) ' r l ; ] i l $ ) d ; l L a ? i n > s g t ) M ) o ; d e = = = ' g r i d _ o n l y ' ? ' g r i d ' : ? > " > まとめ Omeka Sの検索結果に表示する項目の指定にあたり、参考になりましたら幸いです。 ...

2024年4月17日 · 5 分 · Nakamura