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
Model Studio CLI × Token Plan
maigo999
0
210
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
900
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
160
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
400
猫付きpingコマンドを自作
uyuki234
0
300
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
240
三人寄ればチューリング完全
puhitaku
6
3k
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
370
dbt と Snowflake と tag
kevinrobot34
1
190
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
85k
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
360
Featured
See All Featured
Designing for Performance
lara
611
70k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
440
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Faster Mobile Websites
deanohume
310
32k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Practical Orchestrator
shlominoach
191
12k
Embracing the Ebb and Flow
colly
88
5.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Chasing Engaging Ingredients in Design
codingconduct
0
280
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
380
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として行えることは?