next-l / enju_leaf

Next-L Enju Leaf 統合図書館管理システム / integrated library system https://enju.next-l.jp/
https://www.next-l.jp
MIT License
117 stars 25 forks source link

OAI-PMH: ListRecordsのresumptionToken対応 #766

Closed masao closed 1 year ago

masao commented 8 years ago

resumptionTokenに対応して保存すべきクエリ等を確認すること。

710 からの派生。

nabeta commented 8 years ago

Solr 4.7からcursorMarkパラメータを使ったページネーションが使えるので、このパラメータをresemptionTokenとして使用する。 https://github.com/sunspot/sunspot#cursor-based-pagination

nabeta commented 8 years ago

Solr 4.7からcursorMarkパラメータを使ったページネーションが使えるので、このパラメータをresemptionTokenとして使用する。

上記の実装を行いました。開発用サーバに反映済みです。 http://dev.next-l.jp/oai/provider.xml?verb=ListIdentifiers&metadataPrefix=oai_dc

なお、sunspot_solrを使用する場合、2.2.2(Solr5.0.0同梱)以降が必要です。

yegusa commented 8 years ago

現在のステータス:

nabeta commented 8 years ago

テストを書く。

masao commented 8 years ago

確認してみましたが、resumptionTokenの呼び出しで badArgument のエラーを出してしまいますね。 https://www.openarchives.org/OAI/2.0/guidelines-harvester.htm#resumptionToken にある通り、必要なパラメータを保存しなくてはならないので、まだ resumptionToken パラメータの実装ができていない状態です。

nabeta commented 5 years ago

resumptionTokenをEnju側で覚えておく必要があるのですが、この実装が面倒です。 resumptionToken対応をやめるか、それともOAI-PMHそのもの対応をやめてResourceSyncに置き換えるかしたほうがよいかもしれません。

nabeta commented 2 years ago

OAI-PMHの実装は、oai gemを使って書き直すことにします。 https://github.com/code4lib/ruby-oai

nabeta commented 2 years ago

OAI-PMHの実装は、oai gemを使って書き直すことにします。

mainブランチにマージしました。動作例は以下です。 https://enju.next-l.jp/oai?verb=ListRecords&resumptionToken=dcndl.f(2021-11-23T08:01:21Z).u(2022-08-22T06:06:13Z):102

nabeta commented 1 year ago

完了しているため、クローズします。