SAP BAS中Fiori开发的高阶功能(storyboard, navigation, guided development, variant)

news2024/9/21 16:17:23

1. 前言

在之前的几篇文章中,我介绍了SAP BAS的一些基本功能,包括账户申请,创建工作区,git的使用以及如何step-by-step去创建出你的第一个Fiori项目等等。在本篇中,我将进一步介绍一些在开发Fiori应用程序时会用到的高阶功能。

2. 功能点

2.1 SAP Fiori View

在SAP Fiori视图活动中,我们可以访问应用程序建模器(Application Modeler)以及一些 通用的SAP帮助文档和消息发布。

我们可以通过Application Modeler来显示、修改已有的应用程序界面,也可以在此为应用程序添加新页面。

2.1.1 Page Map

在page map页面可以更改应用程序的页面结构,也可更改应用程序的设置例如如标题,描述或灵活列布局(Flexible Column Layout)。这些改动都会被保持至manifest.json配置文件中。

当然,通过page map可以为应用新增页面。

2.1.2 Page Editor

在Page Edior中,可以展示出每个Page元素,并在Properties面板上更改它的设置。
通过Page Editor对页面进行的调整会保存至manifest.json文件中或保存为SAPUI5 Flexibility Change。

2.2 Service Modeler

SAP BAS中的服务建模器Service Modeler支持基于.xml /.edmx 文件的OData V2/V4服务模型的可视化。打开Service Modeler的两种方式:

  • 通过命令面板,输入命令:Fiori: Open Service Modeler
  • 右键metadata.xml文件,然后选择Override Annotations

通过service modeler我们可以:

  • 轻松浏览复杂的服务,并查看服务的实体集、实体和属性
  • 查看与服务的实体和属性相关联的注释annotations
  • 管理SAP Fiori元素应用程序所需的服务,例如向项目添加新服务或同步已经存在的服务
  • 管理与SAP Fiori元素项目的不同OData服务相关联的本地注释文件(local annotation)
  • 在本地覆盖annotations(通过使用复制annotation按钮)

2.3 Manifest Manager

Manifest Manager包含两部分功能:Service Manager服务管理器和Annotation File Manager注解文件管理器。

邮件manifest.json文件,可以选择打开哪种管理器:

2.3.1 Service Manager

通过Service Manager服务管理器可以为项目添加新服务(仅适用于Overview floorplan和Freestyle应用程序),以及从服务器刷新服务,进而重新生成本地的metadata.xml和annotation XMLL。

2.3.2 Annotation File Manager

通过Annotation File Manager注解文件管理,则可以:

  • 列出项目中所有的annotations文件
  • 创建新的本地annotation文件
  • 更改注解文件的顺序
  • 激活/取消激活/删除注解文件

2.4 Storyboard

打开Storyboard的方式,命令面板 中输入命令 Open Storyboard 。通过故事版storyboard可以用图形化编辑器和向导的方式开发应用程序。

故事板提供了应用程序的数据模型、外部数据模型、服务和应用程序的UI前端的图形视图,以及它们之间的连接关系。这种可视化的表现形式让开发人员可以快速理解应用程序的结构和组件。

Storyboard也可以显示为树状结构。

2.5 Service Diagram

在Storyboard中有一个隐藏功能,那就是service diagram。在storyboard上点击service name, 然后选择View Diagram可以打开对应服务的Service Diagram。

在service diagram中可以显示metadata.xml文件的不同可视化模式:

  • 通用(General):实体及其属性的列表
  • 图表 (Diagram):可视化实体及其关系
  • 元数据 (Metadata):显示纯XML文件

注意,单独打开metadata.xml文件时,其仅会显示为元数据的格式。仅在service diagram中,可以显示成图表的方式。

2.6 Guided Development

通过有Guided Development,可以查看如何在SAP Fiori元素应用程序中实现某些功能的指南和教程。可以使用命令面板的 Fiori: open Guided Development 命令,或邮件webapp文件夹打开此功能。

选定功能后,可以直接通过Guided Development一步一步实现选定的扩展功能。

2.7 App-to-App Navigation (应用间导航)

如果两个应用程序位于相同的workspace工作空间中,则可以用预览功能,来测试从一个应用程序到另一个应用程序的导航。

使用命令面板并选择 Fiori: Enable App-to-App Navigation Preview 命令启动此功能

  1.  选择源项目-配置将被添加到该项目
  2.  选择目标项目-想要导航的位置

该命令生成一个新的配置 appconfig/fioriSandboxConfig.json 到源应用程序文件夹,并更新ui5.yaml 文件。可以向同一个源应用程序添加多个目标导航。

2.8 在外部的Fiori Launchpad上运行Fiori应用程序

SAP BAS为用户提供测试应用程序运行的能力,而无需在外部Fiori Launchpad上重新部署应用程序。打开命令面板, 输入命令Fiori: Add FLP Embedded Configuration:

然后完成以下步骤:

  1. 以小写输入已部署应用程序的BSP(BSP容器是SAP系统中的一个存储位置,用于存放Web应用程序的所有文件,每个BSP容器都有一个唯一的名称,可以通过这个名称在SAP系统中访问到对应的Web应用程序)
  2. 输入含后端配置的YAML(通常是_ui5.yaml_文件)
  3. 输入到SAP Fiori Launchpad的相对链接,例如sap/bc/ui5_ui5/ui2/ushell/shells/abap/Fiorilaunchpad.html (将根据后端服务解析)
  4. 构建应用程序
  5. 使用新的start-embedded脚本运行应用程序

完成任何更改后,应用程序不会立即刷新,需要通过执行npm _run build_ _来重新构建应用,进而查看UI上的变化。一旦构建执行完成,在外部启动台上运行的应用程序就会自动刷新。

2.9 创建开发者变式

通过SAP Fiori工具提供的variant creation,开发人员可以为应用程序或单个表创建variant,这些variant变式可以与应用程序一起交付给用户。这些variant将会作为SAPUI5 flexibility changes存储在项目的webapp/changes文件夹中,并在构建Build步骤中与应用程序一起打包。

执行NPM脚本 start-variables-management。也可以使用NPM脚本start-control-property-edito,它会以UI自适应模式打开应用程序,并封装在属性编辑器页面中。

如果这个脚本不存在,可以通过命令面板的 Fiori: Add Configuration for Variants Creation 命令来配置此功能。

对于每个新变体,在项目的webapp/changes文件夹中会创建一个或多个SAPUI5更改文件。


2.10 在本地运行单元测试

您可以在本地运行单元测试。使用预配置的NPM脚本,创建一个运行配置(run configuration)或从终端(terminal)启动它。

fiori run --open webapp/test/unitTests.opa.html

3 小结

在本文中,介绍了开发Fiori应用过程中会用到的一些高阶功能,但限于篇幅限制,对于特别复杂的功能仅是做了初步的介绍,并未完全展开。有需求的同学,可以进一步在此基础上学习和探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1546212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数仓】DataX软件安装及配置,从mysql同步到hdfs

相关文章 【数仓】基本概念、知识普及、核心技术【数仓】数据分层概念以及相关逻辑【数仓】Hadoop软件安装及使用(集群配置)【数仓】Hadoop集群配置常用参数说明【数仓】zookeeper软件安装及集群配置【数仓】kafka软件安装及集群配置【数仓】flume软件安…

C语言例4-7:格式字符f的使用例子

%f&#xff0c;实型&#xff0c;小数部分为6位 代码如下&#xff1a; //格式字符f的使用例子 #include<stdio.h> int main(void) {float f 123.456;double d1, d2;d11111111111111.111111111;d22222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n&qu…

关于在forEach循环中使用异步,造成forEach里面的函数还未执行完毕,外层的同步已经被执行的问题

使用 原生的 for循环替代forEach循环即可解决问题 1.实例代码&#xff1a; select_Father_comment_sql_res.forEach( (item) > {const Select_FId_children_sql util.format("Select *, \IFNULL(User.UserName,) as CommentUserName, \IFNULL(User.UserName,) as AtU…

2015年认证杯SPSSPRO杯数学建模B题(第一阶段)替换式密码全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 B题 替换式密码 原题再现&#xff1a; 历史上有许多密码的编制方法。较为简单的是替换式密码&#xff0c;也就是将文中出现的字符一对一地替换成其它的符号。对拼音文字而言&#xff0c;最简单的形式是单字母替换加密&#xff0c;也就是以每个…

如何学习VBA_3.2.19:利用Shell函数运行可执行程序

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

Git 分布式版本控制系统基本概念和操作命令

目录 Git 基本概念 功能特点 工作流程 操作命令 新建代码库 配置 增删文件 代码提交 分支 标签 查看信息 远程同步 撤销 其他 小结 Git Git 是一个开源的分布式版本控制系统&#xff0c;用于跟踪文件的变更历史。它最初由 Linux Torvalds 设计&#xff0c;用于…

JDK,Nginx,Redis安装

创建develop目录 mkdir /usr/local/develop/ cd /usr/local/develop 下载 wget http://nginx.org/download/nginx-1.17.4.tar.gz yum install git git clone https://github.com/arut/nginx-rtmp-module.git 解压文件 tar zxmf nginx-1.17.4.tar.gz 进入解压目录 cd ng…

STL和泛型编程

STL和泛型编程 一.STL六大部件"前开后闭"区间 二.容器(1)顺序容器1.array源码剖析 2.vector源码剖析vector的迭代器 3.list源码剖析迭代器的设计规则关于重载操作符关于重载->和*操作符 4.forward_list源码剖析 5.deque源码剖析底层数据结构操作实现deque的设计de…

力扣面试150 Pow(x, n) 快速幂 负指数

Problem: 50. Pow(x, n) 解题方法 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: O ( l o g 2 n ) O(log_{2}n) O(log2​n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public double myPow(double x, int n){if (x 0.0f)return 0.0d;long b…

centos7 装 docker-ce

安装必要的系统工具&#xff1a; sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 命令会以超级用户的身份安装三个软件包&#xff1a;yum-utils&#xff0c;device-mapper-persistent-…

2024.3.2-玄子Share-Mybatis 八股文面试题(共计:48 道 9000 字)

2024.3.2-玄子Share-Mybatis 八股文面试题&#xff08;共计&#xff1a;48 道 9000 字&#xff09; 前言&#xff1a; 本文部分面试题来源于网络仅供学习使用&#xff0c;请支持原作部分面试题有修改润色&#xff0c;部分面试题由我&#xff08;玄子&#xff09;自写面试题根据…

牛客NC12 重建二叉树【中等 dfs Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6 思路 先序遍历第一个值就是根节点&#xff0c;根据这个值可以在中序中划分左右子树&#xff0c; 我们这里已经将一个数划分成两颗子树&#xff0c;那么在递归的使用刚刚的分析…

大模型时代的向量数据库:原理解析和应用案例

大家好&#xff0c;在人工智能领域&#xff0c;数据处理和加工的需求愈发增加。随着人们深入探索AI高级的应用&#xff0c;如图像识别、语音搜索和推荐引擎等&#xff0c;数据的复杂性也在不断地增加。此时传统的数据库存储方式已不能完全满足需求&#xff0c;向量数据库应运而…

大模型知识点汇总——分布式训练

PS&#xff1a;本篇只在宏观上介绍相关概念和技术&#xff0c;不做数学推导和过于细节介绍&#xff0c;旨在快速有一个宏观认知&#xff0c;不拘泥在细节上&#xff0c;导致很混乱。 涉及技术名词 分布式框架等涉及的技术名词很多&#xff0c;很容易让人眼花缭乱&#xff0c;…

vdat文件分段了怎么合并成MP4?批量导入一键合并!

一些监控摄像头、视频录像软件或其他专用设备可能会生成vdat文件作为其录制的视频数据文件。一些浏览器比如夸克下载的视频也会出现vdat格式&#xff0c;因为流媒体播放采用的是分段加载&#xff0c;在网络不好的时候&#xff0c;重新加载对文件整体性损坏比较小&#xff0c;所…

springboot 中Aop注解切面实现收集日志与统计耗时2

一 Aop注解实现切面 1.1 工程结构 Before&#xff1a;前置通知, 在方法执行之前执行 Aroud&#xff1a;环绕通知, 围绕着方法执行 After&#xff1a;后置通知, 在方法执行之后执行 AfterReturning&#xff1a;返回通知, 在方法返回结果之后执行 AfterThrowing&#xff1a;异…

su怎么做展厅模型---模大狮模型网

要在SketchUp中创建展厅模型&#xff0c;你可以按照以下基本步骤进行&#xff1a; 绘制基本结构&#xff1a; 使用SketchUp的绘图工具(线条、矩形、圆形等)来创建展厅的基本结构&#xff0c;包括墙壁、地板和天花板等。确保按照实际尺寸和比例进行绘制。 添加家具和展品&…

vue学习日记18:data是一个函数组件通信

一、data是一个函数 1.概念 2.代码 相互独立互不影响 二、组件通信 1.概念 &#xff08;1&#xff09;什么是组件通信 &#xff08;2&#xff09;不同组件关系和组件通信方案分类 &#xff08;3&#xff09;组件通信解决方案 &#xff08;4&#xff09;父子通信流程图 -…

CrossOver虚拟机软件2024中文版最新功能介绍

CrossOver是一款由CodeWeavers公司开发的&#xff0c;运行在Mac和Linux操作系统下&#xff0c;能够模拟Windows系统应用运行环境的软件。它不需要用户单独安装Windows操作系统&#xff0c;就能让Windows平台上的应用程序在Mac和Linux上顺畅运行。CrossOver在技术上使用了Wine&a…

鸿蒙开发之了解ArkTS

鸿蒙开发者官网 &#xff1a; https://developer.huawei.com/consumer/cn/ 开发鸿蒙要用的软件是 DevEco Studio ArkTS建立在JS和TS的基础之上&#xff0c;扩展了声明式UI开发范式和状态管理&#xff0c;提供更简洁和自然的开发方式。 ArkTS引入了渲染引擎的增强&#xff0c…