书柜系统断网运行相关配置 - DigitalPlatform/dp2 GitHub Wiki
dp2ssl书柜系统可以断网运行。在断网运行前,需要先在联网状态下将服务器上相关的数据下载到书柜系统的电脑本地,为断网期间书柜运行提供数据基础。脱机状态下操作记录也会保存在本地,等到连网后数据会自动上传到服务器端。
书柜断网运行期间,馆员如果上架了本地库没保存的实体信息到书柜中(断网前未被同步的册记录),读者也可以借还该册,只是书柜只能扫描到实体书的册条码字段,不会显示书目信息。
断网模式运行前,为了确保期间馆员能够正常上下架图书,还需要预先保存馆员账号数据到本地;为了保证读者超期可以正常开柜还书,需要设置读者超期仍然可以打开柜门
在dp2ssl参数配置界面,勾选【维护】-【同步册记录】,系统会将服务器上的读者数据和册记录以及册记录关联的书记录下载到dp2ssl的用户文件夹中。同步数据的过程是在后台默默进行的,不会影响书柜的正常运行。
书柜数据的同步只能在dp2ssl运行时才会进行,如果同步过程中dp2ssl退出,同步也将停止。dp2ssl重启后,会从断点继续同步。
系统同步下载读者记录的原则是:所有状态字段为空的读者都会被下载到本地。无效读者(状态为注销或者挂失等,不会被下载)。
系统同步下载册/书目记录的原则是:所有册记录都会被下载到本地,如果册记录所关联到的书目记录非空,该书目记录也会被下载下来。每条册记录都会对应一条书目记录。也就是说,理论上册记录数量=书目数量。特殊的,如果某些册记录的书目信息为空,为空的书目记录无法被下载。那么同步后,册记录数量>书目数量。
下载到本地的数据保存在dp2ssl用户文件夹中的biblio.db数据库中,patron库保存的是读者信息;entity库保存册记录;summary库保存书目信息。这些数据都可以通过DB Brower for SQLite软件来查看。
如果想要清除本地同步的册记录和书目记录,可以在输入登录密码后,点击界面左侧的【工具】-【清除本地缓存的全部册记录】按钮;如果同步下载过程中需要重新下载册记录和书目记录,可以在输入登录密码后,点击界面左侧的【维护】-【重做全量同步册记录和书目摘要】。
A. 首先在内务中对管理员卡增加新的权限:manageshelf
B. 在书柜dp2ssl用户文件夹的shelf.xml文件中在元素下面新增代码
<settings>
<key name="缓存工作人员账户到本地" value="true"/>
</settings>
C. 在连网状态下在书柜上用馆员卡识别馆员身份
完成上述三步骤之后,书柜dp2ssl文件夹下面会生成 account.db数据库,用于保存管员卡账号密码。这样断网络后就可以进行仍然采用馆员刷卡识别了。
断网模式下,馆员登录是匹配的本地库账号信息登录的,如果密码写入失败,软件会暂停五分钟使用该馆员卡。5分钟以后该卡可以在密码输入正确的情况下继续使用,与联机状态下可以输入失败10不一样。
一般联网时,读者超期后无法打开柜门,可以通过馆员在内务还书。当书柜断网运行时,书柜与服务器之间的通讯切断了,馆员无法在内务为超期读者还书(因为服务器端和书柜端的数据并不一致),所以书柜上一定要配置读者超期可以打开柜门。
在书柜dp2ssl用户文件夹的shelf.xml文件中在元素下面新增代码
<settings>
<key name="断网模式下开门前检查读者是否超期" value="false"/>
</settings>
经过以上配置后,书柜断网模式模式下,读者借书超期的话,扫描读者证时系统会报读者超期的语音提示,但读者依然可以点击柜门图标来打开柜门。
书柜断网运行期间,所产生数据无法上传到服务器,是保存在本地电脑的dp2ssl用户文件夹内。为了确保这些数据的安全和完整,需要馆员定期对dp2ssl的用户文件夹进行备份,并且每次的备份都需要单独保存。
actions.db数据库
--保存书柜借还动作和同步记录。action.db里面的记录是从id1开始的,如果某天action.db被删除,下次书柜在断网状态重启的时候,dp2ssl会重新创建一个acton.db,其中的内容是从书柜盘点到的内容,并会从id1开始重新创建。
删除action.db对于已经存在于dp2library服务器中的册记录借还不会影响。但如果书柜中被放入一些未经册登记的图书(正常情况下,这些书也是可以被借还,只是借还过程不能显示书名),如果这种书被借走之后,action.被删掉,那么借书记录就丢掉了。
biblio.db数据库
--保存册记录和书目记录,这个库如果被删除了,书柜上无法显示图书书名。
account.db数据库
--保存馆员账号信息
书柜断网运行期间,如果用户在服务器上新登记书籍,放入书柜时,书柜只能通过标签中读取到PII、OI字段。无法显示出相关的书目信息。这样就会导致:读者借还时只能显示书目的册条码号,没有书目信息,为读者借还书带来不便。
所以书柜增加脱机导入册信息功能。
下面是具体的操作步骤:
1.内务登录服务器新书册登记并加工RFID标签
2.【实体查询】窗,检索新增的册记录,选中-右击-【导出】-【脱机册信息文件】(所导出的格式为“json”格式,可右击以TXT方式打开)
3.规划新上架图书的柜格,尽量将新书统一放到单独的柜格。可以上下架移动现有图书腾出空间(这一步要提前做,因为上下架会产生记录,提前做使旧书的记录集中在前面,不要与导入上架的新书记录混在一起)
4.师将存有脱机册记录的U盘插到书柜上,先将.json文件拷贝到书柜电脑桌面
5."导入新书册记录之前书柜文件备份:在设置界面-点【打开用户文件夹】,将文件上翻一级,拷贝整个dp2ssl用户文件夹到U盘,并对该备份文件重新命名。
联网时,dp2ssl配置界面的消息服务器会与dp2Mserver通讯,如果用户安全性要求不要任何外界通讯,要先删除消息服务器的相关地址,账号,密码信息。记录账号,下次联网运行时要重新配置。
关闭设置对话框后重新打开,再次确认消息服务器相关信息已经被删除。
6.连通网络后,断网模式重启dp2ssl,等待软件的橙色升级提示
7.退出dp2ssl后,再次断网模式启动。确认版本号为1.8.25.0以上正式版。
8.在设置界面,点击左侧【维护】-【导入脱机册记录和书目摘要】。选择.json文件,导入
9.利用sqlite查看dp2ssl数据库文件,确认导入是否成功(没有工具可以不查看)
10.刷馆员卡完成新书上架。
11.上架后,在书柜界面上点击刚才上架柜格图标右下方的数字,确认图书信息中有刚刚上架的图书,并确认是否显示正确的册条码、书名、作者、ISBN,永久馆藏地、当前位置
12.如果上一步中显示的内容不全,重新断网模式启动dp2ssl,启动后再次查看刚上架柜格中的图书信息,确认无误
13.上一步确认后,测试下架和借还是否正常,新书和旧书的上下架和借还都要测试
14.以上步骤确认无误后,再次备份dp2ssl用户文件夹到U盘,注意命名要与导入前的备份文件区分
15.完成备份后,拔下U盘,将dp2ssl切换到主界面
16.观察后续借还过程中,新上架图书是否正常流通