Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

使用 Sierra API, DNA 初探

144 Aufrufe

Veröffentlicht am

2017 TWIUG 報告

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

使用 Sierra API, DNA 初探

  1. 1. 使用 Sierra API, DNA 初探
  2. 2. 升級 Sierra 的動機 建立新功 能或服務 方便內部 作業 使用Sierra API, DNA
  3. 3. 誰來建立? 自建 •小型簡單 •需人力 •易修改 •要有時間 委外 •功能複雜 •需經費 •開發嚴謹 •專職專責
  4. 4. 要建立與這些相關的新功能或服務 書目 館藏 讀者 流通
  5. 5. 沒買額外功能的作法 • 人工倒出 reviews file 到外部資料庫。 • 以解析網頁,模擬讀者操作: https://en.wikipedia.org/wiki/{Comparison_of _HTML_parsers, Web_scraping} • 用Expect、按鍵精靈,模擬館員鍵盤滑鼠。 • 抓取自動化主機作業系統裡的檔案:無官 方文件的自行摸索。
  6. 6. MILLENNIUM 時代可用的工具
  7. 7. Millennium 時代可用的工具 • Patron API / SSO / LDAP → 讀者資料及認證$ • Patron Update Web Service / Fine Payment Web Service → 改讀者檔$ • My Millennium Web Service / AirPAC $ • SIP2 / Z3950 → 借還預約$ / 查書目 • 手動產生清單 / Load Schedule -> 手動更新 外部資料/半自動$ • 解析網頁 、簡單的借閱預約資料表
  8. 8. SIERRA DNA
  9. 9. Sierra DNA • 必讀資源 • 了解有什麼資料可抓 • Sierra DNA 使用的系統編號需轉換 • 利用DNA製自用的API • 用DNA的痛苦 • 必做:備份交易記錄 • 功用:各系統代號與中文對照 • bool_info有產生清單的SQL語法
  10. 10. 瀏覽DNA:必讀資源 • https://techdocs.iii.com/ • 線上手冊裡的 Sierra Direct SQL Access
  11. 11. 瀏覽DNA:了解有什麼資料可抓
  12. 12. Sierra DNA 使用的系統編號需轉換
  13. 13. Sierra DNA 使用的系統編號需轉換
  14. 14. 利用DNA製自用的API
  15. 15. 利用DNA製自用API:熱門預約
  16. 16. 用DNA的痛苦 • 痛苦1:查 isbn 從 sierra_view.subfield_view: iii=> select * from sierra_view.subfield_view where content = '9789571052434'; Time: 107164.808 ms • 痛苦2:跨表格查詢對應的各代號欄位 • 不會再變動的歷史記錄、少有變動的資料, 轉好各需欄位存成靜態格式。
  17. 17. 備份交易記錄circ_trans
  18. 18. 各系統代號與中文對照
  19. 19. Bool_info有產生清單的SQL語法
  20. 20. SIERRA API
  21. 21. 了解使用Sierra API必讀資源 • 開發者網站:各相關文件及討論區 https://developer.iii.com/ • Sierra API Document:教學、詳細規格 https://sandbox.iii.com/docs/Content/titlePag e.htm • Sierra API developments:http://www.aiug.org/wp- content/uploads/2017/02/sierra-api-developments-howard.pdf • Sierra 手冊之 Creating Lists: https://techdocs.iii.com/sierrahelp/Content/sgil/sgil_lists.html
  22. 22. https://sandbox.iii.com/iii/sierra-api/swagger/index.html https://各校sierra主機/iii/sierra-api/swagger/index.html
  23. 23. Sierra API 常用三大類功能
  24. 24. 只要會複製貼上就會用Sierra API
  25. 25. 只要會複製貼上就會用Sierra API
  26. 26. 只要會複製貼上就會用Sierra API
  27. 27. 查詢哪天到期讀者列表自製API
  28. 28. 列出讀者目前借出的項目 與Patron, Item, Bib 之間互相的關係, 全部只有以編號呈現, 而再查詢才能得完整的各筆資料。
  29. 29. 簡單應用
  30. 30. 簡單應用 • OPAC上的 javascript 外掛相關系統 • 以 Sierra API 模擬 PatronAPI 機制 • 更新密碼比 Patron Update Web Service 快速 • 可做出Load Schedule的同樣功能 • 簡易OPAC之查詢書目、續借、預約功能 • 透過LINE提供即將到期等通知 • 館員產生清單的語法變成線上即時的功能
  31. 31. OPAC上的 javascript 外掛相關系統
  32. 32. 以 Sierra API 模擬 PatronAPI 機制 • API上patron validate的帳密驗證 只能以 barcode + pin 來驗證 • 通常是要讀者登入帳號並非以b來輸入 身分證號/學號 + pin • 利用 patron 的 query 來查身分證號/學號 獲得其barcode再加上pin 來驗證。
  33. 33. 更新密碼比Patron Update Web Service快速 • 利用 PUT /v3/patron/{id} JSON內容為 {‘pin’ => newpin } 變更密碼 • 建立忘記密碼機制。 • 較新的 API 版本可以產生、刪除讀者帳號
  34. 34. 可做出Load Schedule的同樣功能 • 產生單筆 MARC:GET /v3/bibs/{id}/marc • 產生多筆 MARC: GET /v3/bibs/marcs?id=1055267,1022212 • 下載產生的 MARC 檔: /v3/bibs/marc/files/{filename} • 可提供需更新上傳書目檔系統:discovery。
  35. 35. 簡易從LINE續借功能 • 利用LINE Login得知其LINE之userId • 利用SierraAPI的validate確認是讀者 • 透過LINE 的 Reply API 提供該讀者續借連結
  36. 36. LINE生活圈帳號的價格 http://at.line.me/tw/plan
  37. 37. 透過LINE的Notify提供推送通知
  38. 38. 總結與建議
  39. 39. 對於未升Sierra • Millennium 時代就有的一些需買的功能或者 限制,Sierra API 可以做得到,可考量升級 是否較好。 • Legacy API收費+維護費 Sierra API,DNA免費 • 原有的服務以解析網頁,要廠商改用DNA, API來做,還需花時間了解及開發,一定會 要再收費
  40. 40. 已升Sierra • 不見得需要自己開發,但需要了解所謂的 開放,可做到哪些事。 • 交互利用 Sierra API, DNA 的特色來截長補短。 • 有資訊科系學校,可舉辦為圖書館寫第三 方程式開發活動:key, secret可產生給各組 使用。
  41. 41. 將建立新服務者 • 廠商光看API的功能列表做出的功能有限, 要再加上產生清單的語法,衍生更多功能。 需非系統館員的經驗參與。 • Sierra API query 所需的 JSON 語法的各欄位, 需再配合 DNA 裡的資料。 • 系統的開放,怎麼與其他開放的平台做結 合,不見得要以做APP為目標。 • Sierra API仍持續進化著,可變更的在增加, 是否能完全取代舊有的API?
  42. 42. 感謝聆聽

×