U9C行业插件开发规范

栏目:u9cloud知识作者:用友来源:用友发布:2024-08-20浏览:1

U9C行业插件开发规范

U9C行业插件开发规范

 

文件编号:

 

版本号:

V1.0

修改状态:

 

编写人:

刘强亚、尹烨超

审核人:

 

批准人:

 

批准时间:

 

 

适用对象

该规范适用于U9设计人员和开发人员。

对于机构或伙伴提交的行业插件成果需按此开发规范进行项目改造,由客开中心负责代码上传及产品发版事项。

版本记录

此部分要记录该文档形成过程中的历次版本变更过程及变更的内容

版本

修改与参与人

修改时间

修改原因

修改概述

审批人

1.0

刘强亚、尹烨超

2023.12.22

原始文档

制定行业插件开发规范

刘强亚

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

开发规范细则

命名规范

程序集命名规范

行业插件产品模块代码:MIP (Manufacturing Industry Plugins 制造业行业插件集合)

子模块代码:

  1. CBO-公共(通用行业)
  2. AIR - (Airlines) - 航空业
  3. SI - Sugar industry - 糖业 
  4. WAR -War industry - 军工行业
  5. TOB-Tobacco - 烟草行业
  6. TR - Trading - 贸易行业
  7. MP-Medical & Pharmaceuticals 医药行业
  8. AP-Apparel - 服装业
  9. IM - Industrial Machinery - 工业机械行业
  10. FM - Farm Machinery 农业机械行业
  11. EI - (Electronics)- 电子行业
  12. EE - (Electrical Equip)- 电气设备行业
  13. EN - (Energy) -  能源行业
  14. CH -Chemicals- 化工行业
  15. BE - Beverages - 饮品行业
  16. FP - (Food Production) - 食品生产加工业
  17. FS - Food Services - 餐饮服务业
  18. ISR - Internet Services and Retailing 网络服务和零售业
  19. CO - (Construction)-建筑
  20. BM - (Building Materials) - 建筑材料
  21. ME - Metals - 金属材料制造业
  22. EQ - Equipment  -装备制造业
  23. IC - Integrated circuit - 芯片行业、半导体行业等
  24. ITS - Information Technologys Services - 信息技术服务业
  25. MVP - Motor Vehicles & Parts - 汽车及零配件行业
  26. TE - Textiles - 纺织业
  27. UT- Utilities 公用设施(电力,电网等)
  28. SH - Shipping - 海运
  29. PR - Printing - 印刷
  30. RE - Real estate - 房地产
  31. RA - Railroads - 铁路
  32. TEL - Telecommunications - 电信
  33. NM - New materials - 新材料
  34. PV - Photovoltaic  - 光伏行业

……其它待完善

举例:汽配行业插件 

插件程序集命名:UFIDA.U9.MIP.MVP.*BE.DLL

插件程序集命名:UFIDA.U9.MIP.MVP.*BP.DLL

插件程序集命名:UFIDA.U9.MIP.MVP.*UI.DLL

UFIDA.U9.MIP.MVP.*.BEPlugIn.dll

  UFIDA.U9.MIP.MVP.*.BPPlugIn.dll

  UFIDA.U9.MIP.MVP.*.UIPlugIn.dll

脚本命名规范

>所有脚本文件以:{模块}_{行业}_{项目简码}_文件描述.sql形式命名,避免重复

每个模块只允许存在一份参数预置脚本及菜单权限预置脚本

 

TFS目录调整

在MIP模块下新增子模块目录,其中Data目录不需要根据子模块进行拆,不同子模块的脚本文件按类型放到Data/Upgrade/Support/MIP下面

举例:

MVP子模块(汽配行业),分别在MIP的Apps和PD目录下新建MVP文件夹,并在MVP文件夹下分别新建Code、Model目录,用于存放模型及代码文件

 

开发环境配置

  1. TFS访问权限

tfs地址:tfs link需要管理员增加权限才能访问,需团队负责人邮件申请,开发人员提供邮箱账号

由于IP地址存在变动问题,可能会出现访问不了的问题,通知团队负责人联系解决。

 

  1. 源码下载及目录配置
  2. 参考Wiki U9研发Git使用流程,安装GVFS和Git(Git需要使用GVFS适用版),并克隆代码
  3. 在源码目录下新建U9Product

  1. 拷贝UBFCE安装目录下的所有文件至U9Product中,如下图所示(U9.VOB.Product.Other若不存在,则需要需要手动创建)

  1. 拷贝下列文件至U9Product/UBF/UBFStudio中

  1. UBF配置,红色框内配置项,需根据U9CE实际路径配置

  1. 后续行业插件开发,统一使用U9Product中的UBF

 

  1. BE、BP、SV组件开发
  2. BE,BP,SV组件,放置于MIP/Apps/{行业}(参照命名规范)文件夹中,如下图所示。Model存放UBF模型文件,Code存放代码文件

  1. BE,BP,SV插件,放置于MIP/Apps/{行业}/Code/PlugIn文件夹中(如果PlugIn文件夹不存在,自行创建)
  2. 一个行业,只能存在一个解决方案,包含一个BE工程,一个BP/SV工程。BE实体组件,BP/SV操作组件按功能划分放于不同文件夹下

举例:PL-要货拉动业务下存放3个BE组件,5个BP操作

   RPSA-滚动供货分析业务下存放3个BE组件、13个BP操作

  ……

  1. 修改工程的配件名(请参考命名规范小节)

命名格式:UFIDA.U9.MIP+{行业}*BE/BP/SV(后缀)

举例:汽配行业BE项目配件名:UFIDA.U9.MIP.MVPBE

汽配行业BP项目配件名:UFIDA.U9.MIP.MVPBP

 

  1. 修改实体组件命名空间

命名要求:UFIDA.U9.MIP+{行业}+{实体组件}*BE/BP/SV(后缀)

举例:汽配行业要货拉动单实体组件命名空间为:UFIDA.U9.MIP.MVP.PLDocTypeBE

汽配行业要货拉动单创建操作命名空间为:UFIDA.U9.MIP.MVP.CreatePullListsDocBP

  1. 基于UBF设计器新增引用时,请从发布对象浏览器中引用。同时检查.ubfmlproj中的引用路径,是否为U9Product中的组件,如下图所示

  1. 从VS等开发工具新增引用时,只能引用U9Product目录下的Dll。不存在,则从portal目录拷贝。目录文件放置规则如下

  1. UI组件开发
  2. 目录位于MIP/PD中

  1. UI插件,放置于MIP/PD/{行业}/Code/PlugIn文件夹中(如果PlugIn文件夹不存在,自行创建)

 

  1. 一个行业只存在一个解决方案,存在多个插件时,每个插件只允许创建一个UI,Qry,ListUI,Print工程,如下图所示

  1. 修改工程配件名

命名格式要求:UFIDA.U9.MIP.{行业}.{项目名}*UI

举例:汽配行业要货拉动项目配件名:UFIDA.U9.MIP.MVP.PLUI

汽配行业滚动需求分析项目配件名:UFIDA.U9.MIP.MVP.RPSAUI

  1. 修改UIModel命名空间

命名格式要求:UFIDA.U9.MIP.{行业}.{项目名}.{名称}*UIModel(后缀)

  1. 新增引用时,请从发布对象浏览器中引用。同时检查.ubfmlproj中的引用路径,是否为U9Product中的组件,如下图所示

  1. 构造工程,生成程序集及元数据脚本文件

 

5、代码提交

1、分支命名规范

不允许 直接推送master分支到远程仓库

允许推送到远程的分支名称做下规范,只允许推送以 users/、features/、bugfix/、hotfix/、cherry-picks/ 开头的分支,具体命名规范可参考:

users/username/description 个人分支

features/feature-area/feature-name 功能分支,可构造开发流补丁

features/feature-name 功能分支,可构造开发流补丁

bugfix/description 用于常规BUG修复

hotfix/description 用于紧急BUG修复

cherry-picks/description 挑拣中转分支

详细说明参见 分支命名规范

  1. 在本地提交代码并推送后,vs上会提示拉取请求操作 或者 打开tfs进行拉取请求合并操作

BOM构造项配置

域账号访问: //u9dev03/U9CEBOMAdd   

注意:账号前缀加pdomain,例如:pdomain/公司分配的域账号,密码为域账对应的密码

添加构造项与bom内容,处理完后告知牛玉磊 进行BOM构造服务重启,重新排队;

1、准备工作

  1. 从构造机的环境中找到构造系统离线环境包:U9CEBOMAdd(U9CE构造环境)、U9CERep_BomAdd(U9CE报表构造环境)、V66EBomAdd (U9V66版本构造环境)等,每个代码存储库对应一个构造系统包;
  2. 产品维护的过程中如有新增的领域或业务模块,需要在构造系统中新增模块、行业、源代码库、环境变量管理等相关信息,用到什么配置什么就行,一般只需要新增模块信息

  1. 直接在共享目录中双击打开环境包中的UFIDA.UBF.Build.Tool.exe 文件,运行构造系统;
  2. 了解构造系统的常用功能(基础设置—>模块,工具—>构造Bom查询)和使用方式;

 

 新增模块信息图示:

 

 

 

  1. 了解构造系统的使用场景
  2. 产品中新增业务模块;
  3. 产品新增页面、表单、参照等设计;
  4. 产品新增工程项或BE/BP(UBF工具新增工程);

 

  1. 使用工具添加构造项与Bom文件(以U9CE为例,图示如下)

打开构造项面板找到对应的模块,此处以HR为例(APP_HR),构造项分为两部分App和UI。APP中存放应用模块的BE,BP,SV组件,UI中存放应用模块的UI组件;

如果是新增应用模块,右键“新建分组”,录入模块代码、名称;

如果只是新增构造项,选中APP或UI分组之后右键“新增构造项”,录入编码(程序集名称)、名称(同编码)、开始时间、结束时间、类型、所属分组、维护人员信息(默认:牛玉磊)

如果是多个构造项,重复此操作即可。

APP中存放应用的BE,BP,SV组件,分别包含(MetaData.DLL、Deploy.DLL、.DLL)、(MetaData.DLL、Deploy.DLL、Agent.DLL、.DLL)、(MetaData.DLL、Deploy.DLL、Agent.DLL、.DLL);

 

打开构造BOM面板,根据组件类型(APP,UI,MetaData,Deploy,Agent,UI_Ref),分别找到对应的应用模块分组(如果不存在,则新增分组),右键“新建构造BOM”,选择构造主项(编码,名称根据构造主项自动带出)、构造脚本(可参考已有模块项目选择构造脚本)、源代码库、模块名称并录入源代码路径(Model的项目路径)

新增之后有一个添加引用的操作可参见其它BOM引用项)

如果是多个构造BOM,则重复以上操作即可。

2.1 UI构造脚本

2.2 BE,BP构造脚本

  1. DLL构造脚本,放置于U9->APP->MIP->{行业}:

  1. Deploy,Agent构造脚本,放置于U9->U9Deploy/U9Agent->MIP->{行业}:

  1. Metadate构造脚本,放置于U9->U9Metadata->MIP->{行业}:

 

2.3 插件,公共类等纯.Net工程,按需放置于MIP目录下

UI相关配置项脚本如下:

$(MSBuildStartScript)$(ComponentPath)/UI,$(Portal)/UILib$(MSBuildEndScript)

App相关配置项脚本如下:

$(MSBuildStartScript)$(ComponentPath)/APP,$(Portal)/ApplicationServer/Libs$(MSBuildEndScript)

3、在U9Product对应版本下拷贝新增文件

在 //u9dev03/U9Product/U9CE的文件夹对应目录下拷贝新增Dll文件,用于制作补丁时时提供文件的安装路径;补丁制作配置信息是否正确可以到补丁的packageinfo文件中查看;

 

  1. 在Jira中提交构造排序申请或代码构造异常支持问题

Jira系统 地址:https://gfjira.yyrd.com/login.jsp 

账号/密码:域账号/域账号对应的密码+动态口令(友空间搜索动态口令程序获取)

登录成功后创建问题时,如果选不到U9C项目,需要先将自己添加到对应的产品线项目中,才可提问题,可联系测试部-吴高飞 解决

 

待问题处理结束后会收到Jira问题的处理结果,后续按照指导方式操作即可,确认问题已解决后点击【确认完成】

 

BOM流水线创建

BOM构造项配置完成后,我们就可以正常提交代码并自动生成流水线进行补丁构造

流水线构造

  1. 代码合并到远程master分支后,tfs会自动生成构造流水线作业,帮助我们制作集成流补丁文件,构造结果会在我们提交分支记录上体现。
  2. 如果构造失败请务必关注失败原因,并应及时解决报错问题。
  3. 如果是首次构造,请检查生成日志,查看构造项是否正确构造执行(如果提示找不到构造BOM请检查上一环节是否正确配置、是否已重启构造排序。

 

常见问题

Q1、安装完gvfs和git工具后,clone代码错误,提示auth认证失败,错误见下图:

解决办法:

找到*.gitconfig文件,增加以内容

 

Q2、解决Auth认证失败问题后,再次clone代码,提示PAT 过期

解决办法:找到自己的Azure DevOpts Server账号(如果没有请先创建),使用vs开发工具,在团队资源管理器上进行登录,登录成功后添加ADS,将tfs地址录入后验证通过即可。

 

U9C行业插件开发规范

U9C行业插件开发规范 文件编号: 版本号:V1.0修改状态: 编写人:刘强亚、尹烨超审核人: 批准人: 批准时间:  适用对象该规范适...
点击下载文档
标签: # U9C
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息