Addressing the resumptionToken Bug in Omeka S OAI-PMH Repository

Overview I encountered an issue where the Omeka S OAI-PMH repository’s resumptionToken was outputting a [badResumptionToken] error even though the token was still within its expiration period. Here are my notes on how to address this bug. Solution By adding a comparison between $currentTime and $expirationTime to the following file, tokens within their expiration period are now properly retained. p { r i v a $ $ ] f } t a e ) o e p x - r i p > e f i ' g a $ $ i } u = r e e c c e f n e x t h u x / c $ d p C r p ( / t t T i o ( r i ! $ i h o r n $ e r $ a A o i k e t e n a e p d n s e d e x t t x i d - n ' n p T i p - e r > s t i i o i > d e s = ( r m n r d s e = > ) e e T e e u r ; d i d l m v $ t T = m T e e i a r o e o t L c p u k n k e i e i e e e = e ( s L - , n w n ' t o > s $ o R c s \ e a e a e a D x i s t a s a p p p o r t i $ m o r c $ e r c h n - h e T e u _ s > ( x i d r r e g ' p m T r e ( e o i e o e p $ t a r ( k n o t ( i e ) e t s o ' p d ; n T i k C m T - i t e o h o > m o n n _ k e e r ) t r e x y : r e n A p > _ o p ) d i t l o d r $ o o l s { e a e k i e i d t x e d r t i p n P o o i s l r n r ' u y ( a , g _ ) t i t ; i $ n o e M k n x a e T p n n i i a s A m r g ' d e e e , d ) d r e T ' [ d { o ) k - / e > / n g - e A > t d i ( d d ' e ( a d ) p ) i ; ' ) ; There were cases where things worked without this fix, so there may be differences depending on the PHP version, etc. ...

October 10, 2024 · 7 min · Nakamura

(Non-Standard) Outputting Delete Records with the Omeka S OAI-PMH Repository Module

Overview I tried outputting Delete records with the Omeka S OAI-PMH Repository module, so this is a personal note for future reference. Background By using the following module, you can build OAI-PMH repository functionality. https://omeka.org/s/modules/OaiPmhRepository/ However, as far as I could confirm, there did not appear to be a feature for outputting Delete records. Related Module Omeka’s standard features do not seem to include functionality for storing deleted resources. On the other hand, the following module adds functionality to retain deleted resources. ...

October 10, 2024 · 20 min · Nakamura

Fetching All Records from an OAI-PMH Repository Using Python

Here is a script for fetching all records from an OAI-PMH repository using Python. I hope it serves as a useful reference. i f i # b # p } r # r p p r d # w p p m r m a a e e r r o a h r r p o p D s I r s P q e i o t F i i i o m o e e n a p r p n t a e l n n r r f _ i m ' ' o e = a t t e # f # t i p } r r t t t r t i u t s v m s n p r ( = = c o o f a e o ( ( e n r i e e e s a R e " h T P r G k r s o " l r q x e l a = r t t e r e d S E [ r r e e t a p t A e e u m l b a ' e q _ e T ] a u o r i p # d t n o b m ' o l n q e l t = { ' d : = u r n . l e c e d r a _ k r s v r n = l ( u s . h O : a t e e d f l : e c e i O t r e e e e e s d e t e e ' A t ' r h s q i r s o n n t a e l n a = r s e E r a s s t h I ' a 9 e e t n o d s r t t h . s e _ k b u T e t t r e t - L P 7 q ( = g m a d i ( e a u m e { ' m = . c a s i e n t P i r 5 u i ' s t r f f r p m e l : p f o ) m e d p M s e 9 e n G r r t a e i i ' p p n e # t r r r ) p . p s H t f 0 s i E e e r c n e R d e t t m ' i e o d o E o : R i ' t t T q q i o r e a n i e E L o q m s r l i / r e x s i ' . u n r r c t d o = n n i n u s t e n / e c ' . a , p e g d o = o a ( n t d s T e t h m t c q o : g l r s ( s o r r T r t o s r a R e u u r e b e t r t r d c e o o i l R k t i v e n r e d ' t r a p e . e a c k o s o e e s n e q t a s s c ( e s a t s f c I n o e t o c n . g u T t t ' u b q e r o p i o D r n . N p o ' g ( b e r i , r a u _ e : o n r : b d f o r : e r e s e o a s e u ( " n d d e ) a i n i d t e e t e n t e s r ) , s a . { n n e f s t ( s n . i _ t l e l f i p d d ' o b p a l o u , p . l i d r ( o n , k a o f s i n r p r c ( n e o e ' r o e s n e b ' l a e o ' d n c x . n e s t E r , , r p n . ( t e e / n t _ _ e c T a a a t / ' i s c / o o e u . h r p m r e . f s u { t k l r c e y a s e n { / i e t h e e l o d . r = d t h / e d e t t n m , n . t a p _ ) t { r t o e t " . m a r t h } h n p k n p e ) u s r e p t ' e e : e t a n - = a q : t ) r x / n . r t t p m . / p e t / _ t a ) o a s u / : w e e m k r ) r w / a r w l x s y a l w / s e w e t = o m ) w w q . m p . s . w w u o e a a ) o w e e p n r c # p . l s e t a . e o l t n . m j O n p a t s p u a e r e ) / t r n c x o p c a h t a u h r i : i t i c v ' v h e t e i s h s v . e . e o o s r U r . g R g / L r O O g A A / I I O / / A 2 2 I . . / 0 0 2 / / . } } 0 r r / e e } s c i u o d m r e p d n t ' t i ) i o : f n i T e o r k ' e ) n . ' t ) e x t

July 14, 2024 · 6 min · Nakamura

Retrieving the URL of Site Pages Where Items Are Published in the Omeka S OaiPmh Repository Module

Overview This is a personal note on how to retrieve the URL of site pages where items are published in the Omeka S OaiPmh Repository module. Background The following article introduces how to create custom vocabularies using OaiPmhRepository. https://nakamura196.hatenablog.com/entry/2021/07/25/222651 Please refer to it as well. Retrieving the URL of Site Pages Where Items Are Published Before Fix In a certain customization case, the site page URL was retrieved as follows. This does not work properly when something other than dcterms:identifier is configured in the Clean URL module. Additionally, hardcoded paths like /s/db/record/ can be seen. ...

July 14, 2024 · 3 min · Nakamura

Trying ArchivesSpace's OAI Repository

Overview ArchivesSpace is described as follows. https://github.com/archivesspace/archivesspace Built for archives by archivists, ArchivesSpace is the open source archives information management application for managing and providing web access to archives, manuscripts and digital objects. This article tries the OAI Repository feature provided by ArchivesSpace. https://archivesspace.github.io/tech-docs/architecture/oai-pmh/ Configuration This time, we use the ArchivesSpace demo site. Access the following and configure the necessary settings. https://sandbox.archivesspace.org/staff/oai_config/edit Retrieving the List of Metadata Formats The list of metadata formats was retrieved using the following. ...

February 26, 2024 · 54 min · Nakamura

Trying Access to Memory's OAI Repository

Overview Access to Memory is described as follows. https://github.com/artefactual/atom AtoM (short for Access to Memory) is a web-based, open source application for standards-based archival description and access. The application is multilingual and multi-repository. First commissioned by the International Council on Archives (ICA) to make it easier for archival institutions worldwide to put their holdings online using the ICA’s descriptive standards, the project has since grown into an internationally used community-driven project. ...

February 26, 2024 · 23 min · Nakamura

Trying ro-crate-py

Overview ro-crate-py is a Python library for creating and consuming Research Object Crates (RO-Crate). https://doi.org/10.5281/zenodo.3956493 ro-crate-py is a Python library to create and consume Research Object Crates. It currently supports the RO-Crate 1.1 specification. Goal The goal is to create a page like the one shown below. https://nakamura196.github.io/rocrate_demo/crate/test/data/ro-crate-preview.html Dataset Page Specific Item Page JSON Data Create JSON data like the following. https://nakamura196.github.io/rocrate_demo/crate/test/data/ro-crate-metadata.json The item IDs are based on the following OAI-PMH record. ...

January 2, 2024 · 13 min · Nakamura