实践案例 | 巧用苍穹,实现页面插件注册情况检查小工具开发
客户需要利用苍穹进行产品多项目的并线开发,由于不同业务线的个性化需求,需要注册各类型的插件来解决。但随着注册插件的增加,插件体系逐渐混乱,不利于提升协同开发的效率。本期案例提供了工具来检测不同时间点各实体的插件注册情况,有效解决上述问题,不容错过!
案例撰稿人:Ximoon。
业务背景
由于业务发展需求,客户X需要利用苍穹进行产品多项目的并线开发。在开发过程中,常常出现:不同业务方对于内部业务系统的个性化需求不同、产品和项目实际需求会有出入、产品和项目的不同时期、版本的需求不同等情况,需要注册各类型的插件来解决。
但随着注册插件的增加,插件体系逐渐混乱,不利于提升协同开发的效率。如果需要对一个已开发完成的功能进行优化,可以通过插件注册情况,查看该功能具体是由哪个插件来实现的。
因此,客户希望能够开发相应的工具来检测不同时间点各实体的插件注册情况,解决多项目并发的业务逻辑开发过程中,难以准确、快速检测插件情况的问题,以合理管控线上业务功能的开关和变更。
解决方案
客户开发者/运维人员希望能够直观地查询各页面插件的注册情况,可以通过设计一个表单来承载查询界面,通过元数据来获取指定实体注册的插件。关键实现步骤如下:
元数据设计
因为涉及的页面太多,所以设定的最大维度是云,最小粒度是一个页面(注:如有需要,可自行修改做成应用→功能分组→页面→插件的树形格式)。
涉及到的页面如下:
涉及到的插件类型如下:
注:移动表单的插件暂没有获取到查询方法,只获取到了移动列表的插件,如有需要可以解析元数据来实现。
关键代码示例如下:
效果展示
插件检测——当前检测结果:
插件检测结果——历史记录:
方案的复用价值
产品线衍生项目线的时候,往往在项目的基础上会修改甚至推翻产品线上的部分需求,与此同时产品线依然在不断的迭代,此时我们不仅要通过需求文档、Jira或阐道等追溯一个功能的开发情况,也可以通过插件的注册情况快速定位功能的上线时间,有利于不同开发、运维对于不同时期功能的管理,以及监测客户在使用过程中针对产品项目化的功能有无做二次的更改。
注意事项
除了展示插件的注册情况,个人认为还应该能够获取插件关系,比如该页面的插件是继承的是模板插件还是自有注册插件,插件的修改时间和修改人是谁(重点是删除,没有办法去获取),包括插件的注册变更事件的监听(跟踪了,但是封装的太严了,没找到),可以动态地展示插件的修改情况。期待有小伙伴能补充完善,贡献思路~
参考资料
代码获取页面所有插件
https://vip.kingdee.com/link/s/lKfu1
附件
案例相关源码及JAR包如下:
#往期推荐#
更多精彩内容,“码”上了解!↓
实践案例 | 巧用苍穹,实现页面插件注册情况检查小工具开发
本文2024-09-23 00:28:45发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139723.html