Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
introduction_to_next_l_enju
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kosuke Tanabe
July 08, 2015
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
introduction_to_next_l_enju
2015年7月6日 図書館問題研究会第62回全国大会第7分科会
Kosuke Tanabe
July 08, 2015
More Decks by Kosuke Tanabe
See All by Kosuke Tanabe
c4ljp2016_enju_leaf_120
nabeta
0
300
c4ljp2015_enju_leaf_110
nabeta
0
500
c4ljp2015_journal_list
nabeta
0
520
2014 - 2015 activities of Code4Lib Japan
nabeta
0
350
Next-L Enju development workshop #34
nabeta
0
100
c4ljp_2014_enju_ir
nabeta
0
220
enjuws026
nabeta
0
100
next-l-enju-family
nabeta
0
430
Code4Lib conference 2013 report
nabeta
1
90
Other Decks in Technology
See All in Technology
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
900
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
400
猫付きpingコマンドを自作
uyuki234
0
300
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
240
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
三人寄ればチューリング完全
puhitaku
6
3k
あなたの知らないバージョン命名規則
sat
PRO
2
410
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
20
6.9k
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
コーチングの奥義 何もしないテクニック
jinwatanabe
0
160
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
300
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
The Cult of Friendly URLs
andyhume
79
7k
What's in a price? How to price your products and services
michaelherold
247
13k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
660
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Design in an AI World
tapps
1
290
Transcript
Next-‐L Enjuの紹介 図書館問題研究会第62回全国大会 第7分科会 2015年7月6日 田辺 浩介
(@nabeta)
Next-‐L Enjuとは • Project Next-‐Lによって開発されている オープンソース図書館システム – h;ps://github.com/next-‐l/enju_leaf
• 2008年ごろから継続して開発中 – 主たる開発者は田辺 – ほか数名の開発者(コミッター)が存在
オープンソース • MITライセンスを採用 • 自由に利用・改変可能 • 著作権表示を含めれば再配布も可能
• 改変部分の公開義務なし – 業者に改変や機能追加を依頼した場合、 その変更点を公開する義務はない
開発の実態 • 月1回の開発ワークショップ – 毎回5〜6名が参加 • その他、開発者に時間があるときに随時実施 •
ソースコードはGitHubで公開 • 不具合報告や機能追加依頼もGitHubで実施
None
None
Next-‐L Enjuの動作環境 • オープンソースソフトウェアを用いて構築 されるWebアプリケーション – 開発言語: Ruby
– フレームワーク: Ruby on Rails – データベース: PostgreSQL/MySQL/SQLite3 – 検索エンジン: Apache Solr • 上記が動作する環境であれば、ほとんどの レンタルサーバやクラウドで動作可能
Next-‐L Enjuの機能 • 書誌・所蔵管理 – 受入・検索 • 貸出管理
– 貸出・返却・予約・督促 • 利用者管理 – 個人情報・利用者区分・権限管理 • 施設管理 – 分館・書棚管理
Next-‐L Enjuの特徴(1) • モジュール化構造による容易な機能追加 – 各機能を小さなソフトウェアの部品として作成 – enju_biblio(書誌・所蔵管理)、 enju_circulaUon(貸出管理)、enju_ndl(NDLから の書誌インポート)など
Next-‐L Enjuの特徴(2) • 書誌・所蔵・貸出状態・分館情報など、 システム上の各情報が一意のURLを持つ – 「パーマリンク」と呼ばれる機能 •
書誌の検索結果など一部の情報については、 HTMLに加えてXMLやTSVでの出力もサポート – 「WebAPI」と呼ばれる機能
Next-‐L Enjuの特徴(3) • Enjuだけで業務が完結することを目指さない – 外部ツールを使うほうが早ければそれを使用 – CSVファイルでExcelやAccessとやりとり、手書きも 排除しない
– 利用者情報はローカルのAccessで管理することを 想定。Enju上には利用者IDしか持たない – Enjuとの接続はAccessにEnju上の利用者IDのURL を入力することで実現
Next-‐L Enjuに(ほとんど)ない機能 • 帳票管理、予算管理 – Excel/Accessなどで行うことを前提 • 相互貸借管理
– 業務フローが不明なため未実装 • 発注ツールとの連携 – TRC TOOLiなど • ほかにも今日たくさん出てくるはず
開発の背景 • 本来のProject Next-‐Lは「図書館システムの 仕様」を決めるプロジェクトであった • しかし何もないところから仕様書を書くのは
たいへん – 何を書いていいのかよくわからない • 当時図書館システムのない図書館で働いて いた田辺が、自館用のシステムを作ることに
今日の話題に向けて • 極端に言えば現状は「田辺が自分の勤務先 で使うために作ったシステム」 – ほぼワンパーソンに近い図書館 • 公共図書館で使用するには大規模向けの
機能追加が必要か? • その際にProject Next-‐Lとして行えることは?