有时,我们想把一个快速模型放在一起,展示FLP和Fiori应用程序的外观和感觉,以及在云门户中的可能性
使用构建、WebIDE和云门户,主题化一个漂亮的演示Fiori启动板,永久免费的云服务器,动态瓷砖和新闻提要可以在几个小时内放在一起。
一些开发人员面临的挑战之一该领域面临的问题是从构建项目生成的应用程序中重用FLP中的MockData。以下是今年早些时候的讨论档案,开心返利,深入探讨这个问题并寻找解决方案。https://archive.sap.com/discussions/thread/3783679
我们将对我如何克服MockData问题进行简单的演练(也许有人可以分享一个更优雅的解决方案)。
Build附带了一个非常有用的库,在开始构建应用程序时可以大大节省时间。对于本演示,免费云服务器试用,我们将使用图库中的创建销售订单模板。
创建销售订单使销售代表能够创建或显示销售订单。您可以将其用作相关项目的启动原型。模式:收集和结帐/响应:是/角色:销售代表
将模板克隆到您的构建帐户中。我们不会做任何更改,我们只会发布它,物联网操作系统,这样我们就可以在HCP试用帐户上将项目导入SAP WebIDE。
选择页面右上角的发布按钮。
然后发布项目。一旦URL可见,我们就可以将项目导入WebIDE。
在我的试用HCP帐户中,我启用了WebIDE服务。WebIDE内部的构建插件已启用。
这允许我们通过从模板创建新的应用程序,将项目从构建导入WebIDE。
从标准的租户中,我被选中创建先前创建的销售订单应用程序。
这将在WebIDE中创建包含模拟数据的项目。
使用"运行"运行此应用程序作为"Web应用程序",我们可以在WebIDE中看到应用程序正在运行模拟数据。
几分钟后,我们就可以创建好看的Fiori应用程序,我们可以在WebIDE中进行测试。
我们现在将此应用程序推送到HCP,以便我们可以在云门户中使用它。
将其注册到SAP Fiori启动板,并按照向导选择要运行的站点将其部署到。
一旦向导完成并成功注册应用程序,打开启动板。
云门户
我的调试门户看起来像这样,有3个tile:
现在如果我们从tile执行Create Sales Order应用程序,如果我们查看错误详细信息,我们会看到类似的内容:
应用程序是从build创建并导入到WebIDE的。数据不是从实际的OData服务创建的。我们可以在错误中看到应用程序试图从未配置的服务中检索元数据清单.json我们可以看到配置的数据源的uri不存在:
我们需要在这个场景中启用模拟服务器,软件企业条件,以便它处理数据请求。我们还可以在debug视图中看到失败的请求:
当应用程序在launchpad中运行时,Mock服务器并没有像从测试.html在WebIDE中。我们需要在中初始化模拟服务器组件.js.
…
更改数据源uri清单.json
如果再次部署到HCP,将加载模拟数据,但是,我们会再次出现错误弹出窗口。
现在,如果您按"重试",模拟数据将加载。
我们得到错误的原因可以通过在调用MockServer.init()英寸组件.js在网络跟踪中:
在MockServer初始化之前加载元数据。这意味着模拟服务器将不会处理元数据请求,但正如我们所看到的,它将成为一个失败的网络请求。
为了防止这种情况,我希望有一个更优雅的解决方案,我从中删除了默认模型清单.json并在组件.js模拟服务器初始化后
删除此项(包括中的",")清单.jsonsap.ui5版本.模型部分
在组件.js将模型创建添加到MockServer.init:
再次将应用程序部署到HCP并从启动板运行。应用程序现在应该加载模拟数据而没有任何错误消息。
如果有更优雅的方式在FLP上启用模拟数据,我洗耳恭听,但是现在从构建中的想法到在云门户中运行概念验证的过程是可以很快实现的。