概要

Omeka SのOAI-PMHリポジトリのresumptionTokenにおいて、有効期限内にもかかわらず、以下のように、[badResumptionToken]が出力される事例に遭遇しました。

この不具合への対処方法についてメモします。

対応

以下のファイルについて、$currentTime$expirationTimeを比較する処理を加えたところ、有効期限内のtokenが残るようになりました。

p{riva$$]f}tae)oepx-rip>efi'ga$$i}u=reeccef nexthux/c$dpCrp(/ttTio(ri!$ihorn$er$aoiketenaepnsedexttxi-n'npTip-r>stiioi>es=(rmnrdse=>)eeTeeur;didlmv$tT=mTeeiaroeotLcpuknkeieieee=e(sL-,nwn'to>s$oRcs\eaeaeaDxistasappporti$morc$erchn-heTeu_s>(xidrreg'pmTre(eoieoep$tar(knot(ie)etso'pd;nTikCmT-iteoho>monn_keer)trexy:renp>_op)itlor$ools{aekieitxedrtipnPooislrnr'uy(a,g_)tit;i$no eMknxaeTpnniiasmrg'eee,)drT'[{o) k-/e>/ng-e>ti(d'(a)p)i;');

上記のような対応をしなくてもうまくいくケースがあったので、PHPのバージョン等による違いがあるのかもしれません。

参考

参考までに、OAI-PMHリポジトリモジュールによって作成されるテーブルの中身を確認しました。

m8myysFivmcfusersi111111qideeurnexoqd89012345lertrottpwl>lbasmiis>ddolrDaraiSvLLLLLLLLEttnEeiiiiiiiiSaiLrssssssssC_osEbttttttttRpneCRRRRRRRRIrtTeeeeeeeeBeccccccccEf(ooooooooi0rrrrrrrrox.Fdddddddda0Rssssssssi1OpMmTivviddvdshynaanaaaaeomoooooooorptrrtttrtcaeaaaaaaaaeecceece)itiiiiiiiiphhtthtpa________oaaiiaimdddddddddsrrmmrmhacccccccci((ee(ertt111eao599p_r)00opy))sr_iettfooikNNNNNYYYNrxeuOOOOEEEOynlSSS_;ltockuerKPMns11112eRUo55055050yILLr00000000IMIDNNNNNNNNTfNNNNNNNNeUUUUUUUUrUUUUUUUUfLLLLLLLL1oLLLLLLLLaLLLLLLLL0mLLLLLLLLu;ltuNNNNNNNNnUUUUUUUUtLLLLLLLLEaiLLLLLLLLxulttroa_isNNNNNNNNneUUUUUUUUctLLLLLLLLrLLLLLLLLemene22222222tx00000000p22222222i44444444r--------a11111111t00000000i--------o11111111n000000000000000077778888::::::::0000111177776666::::::::4445334404941614

まとめ

不完全な点があるかと思いますが、参考になりましたら幸いです。