SAP Build Work Zone是BTP上最新的企业门户平台服务,通过Work Zone,企业可以更好的配置企业应用统一入口。与SAP Portal类似,Work Zone底层也是基于SAP Fiori Launchpad,所以Work Zone的插件开发,利用的就是Fiori Luanchpad的插件开发技术。
与On premise系统中的SAP Fiori Launchpad一样,通过插件的开发,开发人员可以扩展SAP Fiori Launchpad的基本功能,可以在SAP Fiorilaunchpad中添加自定义代码,在页面上添加新的元素等。
Fiori Luanchpad中的插件(Shell plugin)开发使用SAPUI5开发技术,SAP Business Application Studio作为开发平台。本文会展示如何开发、打包、部署Shell Plugin插件以及如何并在Work Zone中配置。
准备工作:请在SAP BTP中创建以下服务,并分配用户权限。
- SAP Business Application Studio
- SAP Build Workzone/ SAP Portal/ SAP BTP Fiori Launchpad
1. SAP BAS开发环境准备
打开SAP BTP中的BAS服务,创建SAP Fiori的开发空间。
2.BAS中开发插件
Shell Plugin应用本质上是一个MTA中的Freestyle的Fiori应用。所以与Fiori应用开发一样,需要创建MTA工程,添加Managed Approuter等。未来可以在MTA中添加CAP、Nodejs或者JAVA等后端程序,并连接SAP HANA Cloud, SAP Event Mesh等服务实现复杂需求。本文仅展示如何使用模板创建Fiori应用,不会涉及到后端程序。
具体步骤如下:
选择 "New Project From Template"并选择"SAP Fiori Application"模板
选择Basic模板,并填入所有参数
Data Source:None
设置Viewname(本文中的开发不涉及的到view和controller,所有的开发都在componentjs中进行)
设置应用基本信息,并勾选Add deployment configuration以及Add FLP configuration。
部署target选择CF环境。
设置 Semantic Object为Shell,Action为plugin。
完成设置,创建mta工程成功,webapp为Fiori应用所在文件夹,mta.yaml文件为mta工程的描述文件。
修改Fiori应用Manifest文件,添加Shell Plugin参数:修改类型为component,添加hideLauncher,添加flp类型,请参考文档:adding-shell-plugin
添加代码,添加自定义menu等。自定义代码需要添加在component.js中,本文自定义代码实现两个功能:
代码可参考SAP官方github SAP-samples
- 当用户打开workzone时,弹出对话框显示自定义消息
- 在Fiori launchpad的表头中添加自定义button。
获取ushell的render对象
在component.js的init方法中添加自定义button 以及dialog。
代码开发完成后,将mta工程打包并发布到BTP CF环境中。
在mta.yaml文件上右键打开菜单,选择Build MTA Project
打包完成后,选择mta_archives中的mta文件右键打开菜单选择 Deploy MTA archive,将工程部署到BTP中
部署结束后,在BTP中可以看到创建的instance以及Shell plugin 程序
Workzone配置插件
打开workzone的site配置页面
channel manager页面刷新 HTML5 apps
content manager页面中的content explorer,选择HTML5 app
在content explorer中可以看到刚部署的Shell plugin 应用,注意确认应用type为shell plugin,选择然后点击add添加应用
回到content manager,并将开发的应用添加到预定义好的everyone角色中。
workzone配置完成,现在可以打开workzone测试!
打开workzone的site 可以看到,我们添加的dialog已经显示出来,并且在左上角添加了我们的自定义button。
打开F12,代码已经加载成功。
恭喜你,插件开发成功!