<http://www.lib-yuki.com/kiji-list_maker.html>
を企画・開発しましたのでご紹介します。
-----
CiNiiに収録されている雑誌記事を,当館所蔵に限って,「記事見出し」または「著者名」で検索し,簡単にリストを作成できるWebアプリケーションです。
CiNiiの論文検索の「OpenSearch」APIを利用しています。
「第2回CiNiiウェブAPIコンテスト」および「第6回マッシュアップアワード」にエントリーしています。
詳しい説明は下記の通りです。
また,使い方の説明用の動画(フリーソフトWinkを利用して作成)もありますので,あわせてどうぞご利用ください。
※本アプリにつきまして,現在以下の注意点があります。
(1)CiNiiウェブAPIコンテスト応募後(〆切ぎりぎりにブラッシュアップして再エントリーしたので,すでに〆切後だったはず)に要請を受け,CiNiiへのアクセス頻度調整を行っていますので,そのぶんアプリの速度は当初のものより遅くなっています。
(アプリでの1回の検索ごとに当館所蔵「164誌ぶん」,すなわち「164回」のリクエストをCiNiiに行う仕組みですが,要請のアクセス頻度に応えるため,
CiNiiの利用規約とか,コンテストの応募要項にはそういった注意はなかったので,たまたまこのタイミングだったのだと思いますが,ちょっとびっくりしました。前もってどこかに記載しておいてほしかったなー,というのは要望かなー・・・。APIがもっと使われるようになれば,たくさんアクセスされるだろうし。
(2)さらになぜかCiNiiのコンテストへの応募後に,CiNiiのデータをうまく取得できないエラーを頻発するようになり(なぜこのタイミング?と嘆いています…),この不具合への対策もすでに施したのですが,この影響でさらに検索速度が遅くなっています。
このアプリの企画から何だかんだで半年は経過していますので,前はこれほどエラーは出ていなかったと記憶しています。
CiNiiのデータ取得にはGoogle AJAX Feed APIを利用しており,キャッシュの役割をするGoogleへの反映に以前より時間がかかるようになったことが原因と考えています。なぜ急に反映に時間がかかるようになったのかはいまだにわかりません…。
⇒ が,今確認したところ,エラー出なくなってるー!(昨日は出ていたのに) まぁ,このまま復旧してくれれば,便利なツールとして利用・提供できるし,一番なのですが。なぜCiNiiのコンテストのこの期間中にこんなだったんだろう。一応事実の記録として書いておきます。
なんか,(1)のことといい,日頃の行いが悪いからなのかと反省するしかないかー(笑)
今後同じ問題が起きたときのための対策ができたと思ってポジティブに考えます♪
以下,改めましてこのアプリの説明です。
-----
<「雑誌記事リストメーカー」についての説明>
1.アプリケーションの概要
CiNiiに収録されている雑誌記事を,当館所蔵に限って,「記事見出し」または「著者名」で検索し,簡単にリストを作成できるWebアプリケーションです。
閉架の雑誌など,バックナンバーの活用を促進するには,所蔵雑誌の記事検索が有効だと思われますが,自館で記事データの入力をするのは,公共図書館の限られたリソースでは,なかなか難しいものがあります。
所蔵雑誌の記事を探す際に,CiNiiを直接利用すると,CiNiiでの検索結果を参照した上で,さらに自館のOPACを確認することになります。
そこで,予め当館所蔵に限定してCiNiiを検索できれば,よりスムースな情報提供が可能になるのではないかと考えました。
すでに特定テーマの記事リスト作成のため,このツールを利用し,図書館サービスに活用してもいます。
例えば,季節ごとに毎年同じテーマで検索しリストを作る場合,このプログラムは都度検索する仕組みなので,自動的に内容は更新されます。毎年新たに手作業でリストを作り直すことを考えれば,コストの削減にも効果的だといえるでしょう。
このようにオフラインの図書館サービスにも役立つシステムであることは一つの特長ではないかと思います。
さらに,検索結果をブラウザからそのまま印刷する際には,余計な個所を省き,紙のリストとしての利用に適した専用デザインに切り替わる仕組みになっています。
当館では公共図書館全体のWeb活用促進を支援したいと考え,すでに「新着雑誌記事速報」及び「結城市関連論文ナビゲーターの制作マニュアルを公開しています。
この「雑誌記事リストメーカー」も同様に,公共図書館という館種に限らず,各図書館においてカスタマイズ可能なシステムだと思います。今後様々な図書館にご活用いただけるよう,制作方法を広く公開する準備をすすめています。
2.アプリケーションの仕組み
CiNiiのOpenSearchのAPIを利用し,入力される自由なキーワードで検索した結果を,当館所蔵雑誌に限り,RSSとして「Google AJAX Feed API」を利用したRSSリーダーで受信し,Webページ上に表示する簡単な仕組みです。雑誌タイトルごとに10件までを表示し,それを越える場合はCiNiiを直接検索した画面へのリンクをあわせて表示します。
検索対象を当館所蔵雑誌に絞るため,所蔵雑誌の「NCID」や「所蔵年次」をプログラムに登録しています。この際にNCIDを利用しているため,書名検索よりも雑誌の同定が容易にできるというCiNiiならではのメリットも活用しています。
また,「Google AJAX Feed API」を利用しているので,比較的簡単に作成できる上にプログラムの保守も容易となっていることは,一つの特長ではないかと思います。
さらに記事リストの中に「OPACで検索」というリンクをはることで,雑誌の貸出状況・配架場所等を簡単に調べられるようにしています。これは,Web-OPACをPOSTからGETでの検索に切り替え,OPAC検索結果へのリンクを作成する仕組みです。
印刷用デザインへの切り替えは,専用スタイルシートに切り替えることにより実装しています。
3.アプリケーションの使い方
① 検索キーワードを入力し,検索項目を「記事見出し」または「著者名」から選択し,「記事検索」をクリックします。CiNiiに収録されている所蔵雑誌に限り,雑誌タイトルごとに検索結果一覧が表示されます。
② 雑誌タイトルごとの検索結果が10件を越える場合に,11件目以降を確認したいときは,表示される「残りの雑誌記事リストを表示(外部サイトCiNiiに移動)」をクリックします。
③ 「OPACで検索」リンクをクリックすることにより,所蔵状況等を調べられます。
④ 印刷時には,記事リストとして見やすいようリスト用に整形して出力ができます。
-----
以上です。今後アプリの検索速度など,さらにブラッシュアップしていく予定です。
こんにちは、NIIの大向です。
返信削除いつもCiNii APIを利用していただきありがとうございます。
また、何かとご面倒をおかけすることになり申し訳ありません。
簡単に状況をご説明したいと思います。
(1)については、CiNiiに対して一度に164回の検索リクエストが来るとサービスのスローダウンにつながる可能性がありましたので、ご対応をお願いさせていただきました。他のアクセスとの兼ね合いもあり、何回までならOKということを明示するのが難しいため、事後のお願いとなりました。
(2)については、FeedFetcherというUser-Agentのアクセスが急速に増加したため、急遽FeedFetcherをクローラーの一種と認定し、1回のアクセスに対して一定のウェイトを入れる対応を行っていました。(CiNiiではすべてのクローラーに同様の対応をしています)その後、改めて検討し、FeedFetcherに対してはウェイトを入れないこととし、本日より通常のアクセスが可能になりました。Google AJAX Feed APIはFeedFetcherを使用しているようですので、エラーはこれらの一連の対応と関連していると思われます。
APIの運用については改善を進めていきますので、今後ともよろしくお願いいたします。
> 大向さま
返信削除牧野です。
丁寧なご説明ありがとうございました。状況がよくわかりました。
また,エラーの原因についても対応してくださり,改めてありがとうございました。
本アプリケーションはまずCiNiiあってこそのものですし,これからもCiNiiを活用させていただきたいと思っておりますので,こちらこそどうぞよろしくお願いいたします。