(非標準)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を指定すると、削除レコードを返却することができます。 ...