文/明道云团队经理 郑祥杰
编辑/蒋礼轩
一、前言
随着人类社会进入知识经济时代,越来越多的企业开始广泛关注“学习型组织”这一概念,并且希望将自己的企业打造成学习型组织。
学习型组织这一概念,最初是由美国学者彼得·圣吉在《第五项修炼》一书中提出。其涵义为面临竞争日益激烈的外部环境,企业和组织应力求精简、扁平、弹性、终生学习、不断自我组织再造,以维持足够竞争力。其中知识管理即为建设学习型组织的最重要手段之一。
本文若要大而全地剖析“学习型组织应该如何建立”这个课题,则内容过于宏大了。所以本文会更着重讲述学习型组织在“知识管理”环节里,如何用明道云构建企业内的图书管理应用。这个应用在做好图书管理的同时,能实现读者便捷地借阅与归还,并引导读者阅读和分享,避免图书买而不看的尴尬。
二、需求来源
加入明道之初,广州团队 Leader 就非常注重培养团队的阅读和分享,每个月都会购置一些图书,也会每周安排读书分享。而这个图书的购置与管理工作就是我来负责。从早期用 Excel 管理,到中期用明道协作套件的“项目-任务”进行管理。
尽管便捷程度越来越高,但始终有不如意之处。例如,Excel 无法便捷、图文并茂地展示图书信息、借阅与归还信息等,这些信息还是需要手动记录。现如今,随着明道转型成明道云,专注做零代码企业应用搭建平台,我终于可以用零代码的方式来构建团队图书管理应用了。
而我理想中的图书管理应用,应该具备哪些特性呢——
- 图书信息一键生成
- 扫码即可借阅和归还
- 图书借阅状态实时呈现
- 团队成员可发表书评
- 成员之间可点赞并评论书评
- 系统自动统计相关数据
三、构建应用
在构建应用之前,我们可以先围绕需求梳理下应用结构:
从结构上看,这个应用并不复杂,核心的工作表就几张:图书、借阅(借出、归还)、书评。而应用能否满足图书管理需求的评价标准,主要在于是否它是否能被合理使用。我增添了一些功能设计,从而提高应用的合理性和操作便捷性:
- 移动端扫码输入功能
- webhook 获取图书信息
- 自定义页面按钮创建记录
- 自定义页面统计数据
- 自定义按钮触发工作流
完成结构和功能设计后,下面我们正式开始搭建应用。
1.搭建工作表
考虑到图书信息自动生成的要求,我们可以通过每本图书背面的唯一编码“ISBN 号”,获取图书信息,生成图书记录。
a.图书
图书表的配置重点在于,添加文本框为 ISBN 号,输入形式可以设定为:移动端输入
- 启用扫码输入:条形码
- 禁止手动输入(当 ISBN 号为必填时,如果在电脑端添加记录,将无法提交,从而强制图书管理员通过移动端扫码添加新图书)
- 在显示表单前先获取输入(当添加记录时,会马上调取摄像头扫码,而不是填写表单)
- 获取后直接提交表单(当获取到 ISBN 号后,无须填写其他信息,直接保存)
而图书名称、出版社、作者、图书简介、图书封面的字段配置,可以考虑直接设置为 只读,毕竟我们是计划直接用工作流来更新这些信息的。
b.书评
书评表,相对而言就简单了一些。添加与图书的双向关联关系,书评人默认为创建者,书评推荐和书评内容必填。添加多选成员字段作为点赞成员列表,设置为记录人员数据和新增时隐藏即可。
c.借阅
在借阅记录方面,有两个点需要考虑:
- 关于该图书,每个人的借阅/归还时间,应在一条记录内呈现。
- 借出和归还的操作,需要支持一键扫码。
所以,这里我拆分成了三张工作表。首先是【借阅记录】,该表仅需要配置与图书的双向关联关系、借阅人、借出时间、归还时间即可。并且,这四个字段均可设置为只读,表单设置为关闭创建按钮。
其次是【借出流水】,考虑到要一键扫码借出,所以借出流水只需要配置 ISBN 号和借出时间即可。其中 ISBN 号的设置与【图书】类似,借出时间可以设置默认为创建时间,也为只读。
最后是【归还流水】,与【借出流水】一致即可。两张表均设置成隐藏。
2.配置工作流
a.新增书籍
- 添加工作表事件触发的工作流,工作表为【图书】,触发方式为仅新增,触发条件为 ISBN 号不为空。
- 添加 webhook 节点,以发送请求 get 的方式,向图书资源库查找 ISBN 号的书籍信息。
- 设置分支:当查找结果为 OK 时,更新该触发记录内的图书名称、简介、封面、作者、出版社等信息。
注:此处我找的图书资源库接口是阿里云市场上的 API。
b.新增借阅
- 添加工作表事件触发的工作流,工作表为【借出流水】,触发方式为仅新增,触发条件为 ISBN 号不为空。
- 添加获取单条数据节点,前往【图书】获取 ISBN 号与触发记录一致的数据,再添加数据查询分支节点。
- 有数据的情况下,则需要再分支判别该图书的状态。如不为借阅中,则更新图书状态为借阅中,同时添加新增记录节点,前往【借阅记录】新增数据。
c.新增归还
- 添加工作表事件触发的工作流,工作表为【归还流水】,触发方式为仅新增,触发条件为 ISBN 号不为空。
- 添加获取单条数据节点,前往【图书】获取 ISBN 号与触发记录一致的数据,再添加数据查询分支节点。
- 有数据的情况下,则添加获取单条数据节点,选择获取【图书】关联记录【借阅记录】中,借阅人=触发者且归还时间为空且借阅的图书=上面节点获取的图书。
- 再次添加数据查询分支节点,如有数据,则更新获取到的【借阅记录】内归还时间,以及更新【图书】的借阅状态为闲置中。
d.书评点赞
在工作表【书评】内添加自定义动作:点赞,设置启用筛选条件:当成员字段点赞不是当前用户,立即执行。
同时配置工作流,通知书评人被点赞的好消息。
并且更新成员字段,增加触发者。
e.取消点赞
取消点赞,则是与点赞相反的逻辑,不过我做了二次确认。
当然,工作流通知还是要的。
至此,图书的新增、借阅和归还流程,我们完成得差不多了,但还差最后一公里:如何一键操作?
3.配置自定义页面
添加按钮
添加图书录入、图书借阅、图书归还按钮,分别对应【图书】【借出流水】【归还流水】的创建记录。除此之外,还可以添加前往书库、撰写书评等快捷操作按钮,对应打开视图或创建记录等操作。
当然,也可以给自定义页面配些统计图。例如统计借阅数量前 10 的图书、借阅次数前 10 的借阅达人、写书评前 10 的书评达人等。
当自定义页面按钮的配置完成后,我们离一键操作,就差最后半公里了。
4. 配置手机桌面小组件
明道云 App 在手机端支持配置自定义页面的小组件,即可以把自定义页面的按钮添加到手机桌面。如此,便能实现一键扫码录书、借出、还书了。
5. 其他
到这里,我们的图书管理应用框架已经基本完善了,还剩下一些细节可以再优化下。
例如给【图书】配置画廊视图,呈现登记在册书籍的基础信息,这样可以让页面赏心悦目。
点开图书记录,可见图书详情和关联书评、借阅记录。
给【图书】配置一个看板视图,呈现图书的借阅状态。
在【书评】视图的配置界面给自定义动作勾选隐藏不可用按钮,让点过赞的书评,不显示点赞按钮。
四、结语
时代在进步,不依赖代码就能开发一个图书管理应用,这在过去几乎是不可能的。但如今,随着零代码/低代码技术的发展,让这个事情变成了可能,而且很简单。
回归图书管理应用本身,除了本文所呈现的功能,你是否还想到更多的企业图书管理的需求点?不如现在就搭建起来!