云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

全站加速_百度云社区_学生机

小七 141 0

这是对实时流录制内容的可搜索描述,特别是"Hand-on SAP dev with qmacro"系列中的"第28集–深入了解工作流用户任务UI"。视频录制中有直接指向特定亮点的链接。有关其他剧集注释的链接,请参阅该系列博客文章的"捕捉重播"部分。

这一集名为"挖掘工作流用户任务UI",于2019年6月5日(星期三)直播,长度约为一小时。视频流录制可在YouTube上获得。

下面是一个简短的概要,以及指向特定亮点的链接-使用这些链接直接跳到录制中的特定地点,基于"hh:mm:ss"样式的时间戳。

简要概要

继续上一集,我们深入挖掘用户任务UI,查看工作流API和任务信息,以及"我的收件箱"API,以了解通用UI组件的实际工作原理。

指向特定要点的链接

00:02:50:提及https://people.sap.com/grahamrobinson测试驱动开发与ABAP网络研讨会,这是发生在这个直播插曲后直接-显然这是现在,如果可以的话,你一定要搜索录音并检查一下。

00:03:55:简单地看一下John Patterson在博客上的一条tweet,这是我以前看到其他人做的事情,也就是把OData服务当作一个普通的JSON端点,技术上你可以做到,但也许你真的不想这么做。社区成员Jakob Marius Kjær提供了一些有用的提示,甚至提供了一些示例代码,帮助博客作者朝着正确的方向前进。干得好,雅各布!

00:07:28:谈到最近的新闻,苹果将在即将发布的macOS中用Z shell替换默认的Bash shell,注意到它们有不同的许可证,这可能是苹果移动的部分原因。

00:09:45:看看我们上次停的地方,也就是说,我们正处于这样一个阶段:在SAP Web IDE中构建的工作流定义中,我们有一个服务任务和一个用户任务。

我们有一个正在运行的工作流实例,其中一个用户任务在我的收件箱中等待着我们,引用产品HT-1000,但是(正如我们从上一集结束时记得的那样),我们注意到我们设置的断点没有到达。

00:14:13:开始找出断点没有到达的原因,以及查看视图中的绑定,物联网产品,以及它们是什么–有到默认模型和"应用程序"模型的绑定。

00:16:10:在查看组件启动时,我提到在我的"发现SCP工作流"系列中,有一篇关于这个主题的博客文章叫做组件启动。

00:20:50:在调试过程中,我们简要地看了一下我们正在使用的实际工作流API的文档,可在SAP API Business Hub上获得:Workflow API for Neo–我们正在检索的实际资源是:

00:23:21:结果发现,由于需要一些未定义的值,因此未到达断点。因此,在这个阶段,我们向工作流定义中添加一个脚本任务来指定这些值。

在用户任务之前插入了脚本任务,我们注释掉其中的示例代码,并在分析所需内容的基础上指定以下内容:

00:28:28:我们创建一个工作流定义的新实例来测试它(显然,因为现有实例在其上下文中没有这个必需的数据)。

这次我们看到断点确实到达了,继续时,任务UI正确地显示了我们所期望的,即来自三个产品属性的数据。很好!

00:30:20:我们很快偏离了上一集讨论的内容,即为什么OData的JSON表示以"d"开头。基本上,重点不是选择属性名的"d",而是选择在返回的资源中的对象(映射)中实际嵌入真实数据,以抵御跨站点脚本攻击。

有关这方面的更多信息,请参阅JSON格式(OData版本2.0)文档中的"JSON表示"一节。

00:33:10:我们现在切换回SAP API Business Hub上的Workflow API主页,看看是否可以找到仍在运行的工作流实例。

虽然有一个沙盒API环境可以进行常规尝试,您还可以定义自己的环境,这就是我们在这里所做的,以反映我们的SAP云平台试用子帐户。

00:36:43:我们首先对/v1/task instances端点进行更一般的调用,以列出我们的所有工作流实例(包括已处于"完成"状态的工作流实例,物联网技术应用,例如,

00:37:35:在这个阶段,直接尝试API是值得的(即不在SAP API业务中心内),还有什么比使用curl更好的方法呢。事实证明,curl支持.netrc标准(用于存储和使用身份验证详细信息),您可以在这里阅读:https://ec.haxx.se/usingcurl-netrc.html。

00:39:48:我们对/v1/task实例端点调用curl,因此(为了可读性,行被分割):

我们得到了各种各样的数据,尽管以一种人类难以理解的方式,

00:40:45:所以,进入jq,它被描述为"轻量级和灵活的命令行JSON处理器"。我以前提到过jq,甚至在上面录了一段视频:"使用jq解析SCP目的地信息"。这将使我们能够更轻松地读取JSON输出并从中提取数据。

我们首先从"可能工作的最简单的事情"*开始,并将curl的输出导入jq:

这给了我们一个更可读的布局:

00:43:20:由于我们稍微偏离了jq,我们不妨再偏离一点,看看jq包括优秀的fzf,事实上我们在Ep.1中做了简要介绍!

首先,我们向jq提供了一些指令,因此(注意添加了-r参数以要求"原始"输出,该输出将符合"\\t"制表符):

这给了我们:

这允许我们快速搜索给定的项目,例如,状态标准。

00:46:40:我们现在更进一步,使用cut修改fzf给我们的内容,因此:

只提供所选项目的ID。可爱的。

00:48:00:继续我们真正想做的,物联网应用技术是什么,那就是修改实例的状态,我们看下面的API端点(和方法):

为了进行有副作用的API调用,我们需要一个跨站点请求伪造(CSRF)令牌,我们可以用另一个工作流API端点检索一个令牌: