本文章介绍星空·旗舰版的几种开发场景下,元数据的处理方式,这几种方式可以根据项目情况和个人喜好,选择性使用。
1、只有应用、表单扩展,没有代码插件
【场景描述】
星空·旗舰版大部分项目,只会在项目中,对部分应用、单据进行扩展,增加一些自定义字段,个性化配置等操作,不进行JAVA代码插件开发。
【解决方案】
因为旗舰版的客户环境,不允许直接在生产环境中,登录开发平台进行扩展操作,如果客户有沙箱环境,就可以在沙箱环境中进行扩展开发、调试,开发完成后,再将元数据、SQL脚本等导出文件,通过协同开发平台将修改的内容,构建生成补丁包,然后推送到客户的生产环境中部署。
操作请参考社区文章:沙箱环境元数据导出到协同开发平台项目中
2、没有沙箱环境如何做扩展开发
【场景描述】
客户项目有上一章节描述的,应用、单据扩展需求,但是因为各种原因,客户没有沙箱环境,怎样来做扩展开发呢?
【解决方案】
针对这种情况,可以在个人电脑上,安装一个星空·旗舰版的轻量级环境,在轻量级环境中进行项目扩展开发,开发完成后,按照上一章节步骤指引,将开发成果部署到生产环境中。
3、旗舰版常规项目个性化开发元数据提交方式建议
【场景描述】
一部分项目,产品个性化开发需求比较多,有元数据扩展,有JAVA代码插件开发,这类项目就是比较全面完整的,对星空旗舰版产品进行较多个性化开发,这种场景,就是典型的,协同开发平台的项目了。
3.1 在开发平台直接提交元数据到Git仓库
在开发过程中,一般直接在开发平台配置应用的Git代码仓库地址,云、应用、表单元数据信息,直接在开发平台提交到Git代码仓库
预置数据(单据类型、编码规则、辅助资料、BOTP、预置API接口等)需使用工具导出KSQL语句,将sql文件放到元数据指定目录,通过补丁包升级
3.2 导出元数据文件,再提交Git仓库
3.1是一种元数据提交到Git仓库的方式,有些人习惯将元数据和JAVA代码一起提交到Git仓库,这里提供了另外一种方式,就是先将元数据导出到项目的元数据目录中,等待JAVA插件代码开发完成后,一并提交到Git仓库,这个时候,就可以参考这个章节的操作了。
3.2 开发、实施分别进行单据扩展,如何合并元数据
有些项目中,开发、实施人员会分别进行扩展开发,开发人员在开发环境扩展,实施人员在沙箱环境扩展
【这种方式不推荐,非常容易产生冲突,导致补丁包部署到生产环境报错】
如果项目中使用了这种方式,那要特别注意:
① 对同一应用、表单的扩展,开发、实施做好沟通,只在一边扩展,另外一个环境导入元数据,避免冲突
② 已经部署到生产环境的应用、表单,不要在开发环境删除,再做扩展(即使编码相同,系统已经认为是两个应用或表单了,内部ID已经不同,安装会报冲突元数据导出请参考社区文章:元数据导出合并到Gitlab仓库
3.3 一键导出元数据、预置数据KSQL(元数据、单据类型、编码规则等)
上面几个章节,可能有人还有些繁琐,这里再提供一种,可以一键导出元数据、预置数据KSQL(元数据、单据类型、编码规则等),导出格式为金蝶云·协同开发平台的项目代码目录格式,非常方便