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.

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.

https://github.com/biblibre/omeka-s-module-Necropolis

By enabling this module, it became possible to record when and by whom a resource was deleted, as shown below.

Application to the OAI-PMH Repository Module

Using the table that stores information about deleted resources created by the above module, I attempt to output Delete records.

I add code to the listResponse function in the following file.

p{riva$$$$$$$i}taeiqqqefepntbbux@@ite-epA(fvvAim=>rrd$$$$$i}}i}i}$$$$i}}ruaadtRsydssndefffqqprfenrraye$e=eeaexebbaoetcpMpil=tttmGlSp(lD((R--gw(lut\\taote$hteeeeo$$s$a$$$$$$e>>is$$si}}$$f}i}}riODensecnqe=isttpseqeqtfqquqqsssnrtefvtofnomoraimteb=npeaexbberbbnbbueea=oheehre;necMgtR(w-f=gaddrMp{Go--t--ltttwi{(lrieR(lktaeoe'>osceRaeo=e=fm>>i>>tMFocss$$s$bsa$$$$$$$e$$$$$$$s$$larnrrpoAeleletdst>>i)aslasairo-vmemE-chhihdhvsrtttttvetvi\iayomrxlo=Ieseie$$aslne)nelxru=>eeiel>heedeaeeuooooooeioesAng=serpo:dtoaMdodnet{dtdtiRs=n=trtftedAaaeatarmwkkkkkrfkrtpee=ikarwd$eumeenedteWP{WPmetthbhhmo(dddndedbpse$eeeebebRi\r$tay(iet=dre=dlllWPrhahaisRn(0ro(oec$deeteseEtncnnnnE(nEe\Ot$o_O)nlhcdieyehaierertuee$)o=d$dnuprrirtrli>uEEEEl$ElsAR=herrb;gei$rei$atternraralswpw=vtmad-f-a-eo=rlllleclepdMinyojtsseRas)eIeragemematua{E=e=ege=>i>m>mn(seeeemuemoa\$st-oee-eceedtdem(e(enslPgr'r=nilseapae$$ommmmermenpEt-i>tcd>topat{ReR(e$t$td(tairL'b'tne$erppnTctreeeensenstnh>tc't'stronteme'teeee$(gnoiaa$-atttp=ptouhnnnntonteetisyr);)eidsdisssnexrxrot$iarsp=pt>tehA=ee-kri+tttt-rt-(riseMe;rnsinooerp(p(fhcnt(tp=phdoditn$n>ess--->>$\t-raa{vgtiguuc(r'r'fiuaosIeeiorst$dtdano-$=>>>a!=avMy>vntisfotsrrr'-f-ussrtredn'nscr-rtChCpr>tsssp=peaMsiaec-rre-ccoi>r>ne-so)ledLd-uae>ihhihppch$eeep$prnaecgQe>oym>eeptgoltt>or;fnHiR>mssdbiisier+ritttte0tebanreeuLgmgRRoetmti_r(:tesedeoousl-lnoeshAAAn)hn,gavLreoe=reeelme'ell)$:iatcon$uct-d>ddc$a-itttdidegio-rcttetppiT(,('i;qOfdRoctdrue>(d(Cett>stttC{sC$recc>ya(h$t(oosy'',sbAieeruEecm(d$o$hshe_-rrrh-hmreagBt'eer'ss_pn$nt,Iercdmllee'oicdisiRl>iiii>ie$Lteuoonioiireefe$L_r'o'eeenscdualiseidbbbldlta$ootiranteatte'crcuifEs;r;nmtittuemtdn-ssouuudodapecrRl-ieivioos,rornmaR'dteen-amnee(g>utcttt(c(dina-ed>pctaprroomotilR)s-ndf>tetns$_mLueee$u$aAtt>pegmrylmyyu'p)pits_'>tEocunitthlpim(((tmttdiogorehoMh--rOo;ol)eN{)c-nrrstf-aeitme'''oeoaatres(trpabr>>cmll);)Or>tme'-i>masiineccknkPpy-ti'(eonaecceeii;;_{eaiaa,>ecpdtottxouetertM>(to'plasprr.kssRaptttcrr)eLn,-pmrn-neeag'omOoigeoeera__Etpyie'r)e;riT>ipsE>EfrneOremssedsaae\rrCee)oEde;a)mo$crlolcliMatmykei_rittsEeeOEnnleat;iksraererexag(e(aktr-oteeonssRld{elteteeett'mem,ne'k\_aoe>noQQutooDeCtmeeE)ntaie,eaearOaOr\rsgruuriuuSmhoetEl)(,toLntn$gm\moSyoeoyeectrr_einele$eni(tetceeEeoe_uta_rreyccMnlttdem{v$EDss)E)urknkttnrRieyyT\eeAtdh('meeflatt;l;rata'tacepxBByI..T((e')enrretSres\i\)imepmpuuptddC$$h;ntbomeiimoAtE;neohoiieeeeHvvOet(,me'znerpyngstsrsllmll,eeAa(',n,egn,iMtspaieedd='eerrId'd$t')tAai'abtp_ee)ttnbb-eiam$($,($dnt)cloomrr:;eee)EPrdteu't$'saay;eerse((iddw;lM'Seetnro(crepg\_yid''t''eH)ensateksuetteIi(tinne,,Mm;tttdisetrs,ertd\oaeemeeriaalunrsur'e'Nr'ccT''sneafmt)m-iom$M)m,ey,rry::stssipa;p>nrpfa;:c_oopfua)pe'Pteg)trn:'refpperng;odr,rix);ioacdoxaoo'otene'eopomglepplll)mi(sl,$fni$n,eafoosii'l'eediTrrTrsalsess)'Ntexoaoo$'suie)__))oeol,ktwku))ls_;rr;)daeeisen;;t\mee;ritno)nt_Eesser:e'n;'inndooce'd,()latiuuocE);)miarrro.n(-:etDccdrts>syeeesd$itfp\f''ntrooaNa))mayiriceu;am-nmdeclte>ga'rtcsg)t)ohpe(;piat$'ostcDtYlheeo-ifeIlkmsadee-Rlgtndesi.e-\sevd>Toe"(iHu(n:)d:ri"-(ictc>):eer.f)s:mio;\:st$rZcedm'lorea)anilt)slae(;sy.t'))'eY;)d-)Em;n-tdi\tTCyHu@-:st>itrg:oaesmnt\sIZeld'na()tt))ie);t;y

This implementation does not conform to the OAI-PMH standard, but by specifying o:deleted as the set, it can return delete records.

For example, the following. XSL support and other improvements are future tasks.

https://omeka.aws.ldas.jp/oai?verb=ListRecords&metadataPrefix=oai_dc&set=o:deleted&from=2024-01-01

<<<??O/xxA<<<OmmIrrL/All-eei<LI-Psqsh/i-vsMpute<<hsPetHoeRaidetMrynseddaaRHslxstceetde>iemeorneecoslDvrtsronhnaedsit>r=estrstfad"e=eb>aims1t">=tep>.h2"ur>0tt0Ls>2"yt2i=o0pp4s"a2ee:-tdi4n=/1Re:-c"/0elo1otw-cem0dew1ote-ixw0rek1nt.Tdda0go0s".T=xp7">a0"se:w7Uln5ms:T"a0e.0Fr:tl6-hc5ad:8rh6da0"eiZas1fv<t.Zs=e/aj<t"srPp/a/.er:dnmose4adorpf1tadgi<elunx/solOs=itneAe"daesIDoem=//aanp"O2tit>ya.e_iei0>dfsP/ci"m""e?hr>Rxs>emeplton=ss"i:otx:osdriey=l/"eahtstestdep"t://fx/rswolwm/w=o."aw2i30-.2po4mr-hg0-/1r2-e00p01o1"s/>iXhtMtoLtrSpycs.h:xe/sm/lao?-mvie=nk3sa.t.4aa.nw9cs"e.?"l>dxassi.:jspc/hoeamia<L/orceaqtuieosnt=>"http://www.openarchives.org/OAI/2.0/http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">

I also confirmed that resumptionToken works correctly.

Summary

By refining the above implementation, it may be possible to output delete records in a way that conforms to the OAI-PMH standard.

There are various points that have not been verified, but I hope this serves as a useful reference.