introduction_to_next_l_enju

 introduction_to_next_l_enju

2015年7月6日 図書館問題研究会第62回全国大会第7分科会

5f34c4c6e5d9cb955c1552d3cb444b6c?s=128

Kosuke Tanabe

July 08, 2015
Tweet

Transcript

  1. Next-­‐L  Enjuの紹介 図書館問題研究会第62回全国大会   第7分科会   2015年7月6日   田辺 浩介

     (@nabeta)  
  2. Next-­‐L  Enjuとは •  Project  Next-­‐Lによって開発されている   オープンソース図書館システム   – h;ps://github.com/next-­‐l/enju_leaf  

    •  2008年ごろから継続して開発中   – 主たる開発者は田辺   – ほか数名の開発者(コミッター)が存在  
  3. オープンソース •  MITライセンスを採用   •  自由に利用・改変可能   •  著作権表示を含めれば再配布も可能  

    •  改変部分の公開義務なし   – 業者に改変や機能追加を依頼した場合、   その変更点を公開する義務はない  
  4. 開発の実態 •  月1回の開発ワークショップ   – 毎回5〜6名が参加   •  その他、開発者に時間があるときに随時実施   • 

    ソースコードはGitHubで公開 •  不具合報告や機能追加依頼もGitHubで実施  
  5. None
  6. None
  7. Next-­‐L  Enjuの動作環境 •  オープンソースソフトウェアを用いて構築   されるWebアプリケーション   – 開発言語:  Ruby  

    – フレームワーク:  Ruby  on  Rails   – データベース:  PostgreSQL/MySQL/SQLite3   – 検索エンジン:  Apache  Solr   •  上記が動作する環境であれば、ほとんどの   レンタルサーバやクラウドで動作可能  
  8. Next-­‐L  Enjuの機能 •  書誌・所蔵管理   – 受入・検索   •  貸出管理  

    – 貸出・返却・予約・督促   •  利用者管理   – 個人情報・利用者区分・権限管理   •  施設管理   – 分館・書棚管理  
  9. Next-­‐L  Enjuの特徴(1) •  モジュール化構造による容易な機能追加   – 各機能を小さなソフトウェアの部品として作成   – enju_biblio(書誌・所蔵管理)、 enju_circulaUon(貸出管理)、enju_ndl(NDLから の書誌インポート)など

     
  10. Next-­‐L  Enjuの特徴(2) •  書誌・所蔵・貸出状態・分館情報など、   システム上の各情報が一意のURLを持つ   – 「パーマリンク」と呼ばれる機能   • 

    書誌の検索結果など一部の情報については、 HTMLに加えてXMLやTSVでの出力もサポート   – 「WebAPI」と呼ばれる機能  
  11. Next-­‐L  Enjuの特徴(3) •  Enjuだけで業務が完結することを目指さない   – 外部ツールを使うほうが早ければそれを使用   – CSVファイルでExcelやAccessとやりとり、手書きも 排除しない  

    – 利用者情報はローカルのAccessで管理することを 想定。Enju上には利用者IDしか持たない   – Enjuとの接続はAccessにEnju上の利用者IDのURL を入力することで実現  
  12. Next-­‐L  Enjuに(ほとんど)ない機能 •  帳票管理、予算管理   – Excel/Accessなどで行うことを前提   •  相互貸借管理  

    – 業務フローが不明なため未実装   •  発注ツールとの連携 – TRC  TOOLiなど   •  ほかにも今日たくさん出てくるはず  
  13. 開発の背景 •  本来のProject  Next-­‐Lは「図書館システムの   仕様」を決めるプロジェクトであった   •  しかし何もないところから仕様書を書くのは  

    たいへん   – 何を書いていいのかよくわからない   •  当時図書館システムのない図書館で働いて いた田辺が、自館用のシステムを作ることに  
  14. 今日の話題に向けて •  極端に言えば現状は「田辺が自分の勤務先 で使うために作ったシステム」   – ほぼワンパーソンに近い図書館   •  公共図書館で使用するには大規模向けの  

    機能追加が必要か?   •  その際にProject  Next-­‐Lとして行えることは?