拷贝应用

1.概述

本文档主要指导租户管理员在XCreator平台中,如何把现有应用A“拷贝”为应用B,从而实现应用级别的复用。

该操作主要分为三个步骤:

  1. 下载应用A的版本包
  2. 手动替换版本包的内容:应用A->应用B
  3. 构建并导入应用B的版本包

2.下载应用A的版本包

进入应用管理首页,从【应用版本】列表中下载版本包。

 

注意:如不存在应用A的版本包,则先【打包版本】

 

 

下载包后缀为“xdpz”,可以使用常用压缩软件打开并解压,

 

解压后是一个packageInfo.xdp的文件,使用文本编辑器打开后,发现文本内容就是应用A的JSON格式配置:

  1. 手动替换版本包的内容:应用A->应用B

手动替换文本内容主要是:应用A的应用编码和各子模块编码。

 

为了方便理解,格式化后的JSON内容如下:

 

注意:应用A的应用编码和模块编码可以直接从应用管理界面获取,不用根据格式化JSON查看。

 

应用A的需要替换的关键数据如下:

  1. 应用A的应用编码:test0000A
  2. 应用A的测试模块1的模块编码:csmk11
  3. 应用A的测试模块2的模块编码:csmk12
  4. 应用A的公共模块的模块编码:test0000ACommon

 

设计拷贝应用B的期望关键数据如下:

  1. 应用B的应用编码:test000B
  2. 应用B的测试模块1的模块编码:test000B01
  3. 应用B的测试模块2的模块编码:test000B02
  4. 应用B的公共模块的模块编码:test000B03

 

建议应用编码为8位随机字符(小写字母+数字),各子模块编码使用应用编码+01,02…

 

注意:应用B的应用编码和模块编码都必须全平台唯一,否则后续导入会报错。

 

替换编码前后值参照如下:

序号

名称

修改前

修改后

1

应用编码

test0000A

test000B

2

子模块编码

csmk11

test000B01

3

子模块编码

csmk12

test000B02

4

子模块编码

test0000ACommon

test000B03

 

在文本编辑器中使用替换命令进行文本替换, 以应用编码为例,替换规则如下:

  1. "test0000A"-> "test0000B"
  2. /test0000A/-> /test0000B/
  3. /test0000A"-> /test0000B"

以上三种替换规则都需要执行

如下图示例:

 

 

  1. 特殊应用处理
    1.  多租户应用

如果操作的应用是多租户应用,则需要额外将应用改为单租户应用

节点:packageData→app→dataRecord→isPlatform

将isPlatform 的值改为 false

或者全局搜索 "isPlatform": true  替换为   "isPlatform": false

    1.  业务中台提供方应用

先执行4.1章节的操作

其次需要手动替换业务中台服务ID

节点:

全局替换serviceId

    1.  业务中台使用方应用

先执行4.1章节的操作

其次需要进行集成关联数据去除

节点:

搜索第一个参数“sys_app_service_integrate”,设置为空数组

 

  1. 构建并导入应用B的版本包

      1)把改好的配置文件,压缩成zip,并把后缀名改为.xdpz

      2)把压缩好的版本包导入应用

 

 

导入成功之后,还需要在应用版本中点击“应用”

 

注意: 租户管理员才有该权限。