创建微应用

创建微应用的一个关键组成部分是通过了解目标应用程序的数据库模式来规划工作流程。有了这个,你可以识别 API 来构建你的集成,你需要这些 API 来构建自定义集成。

有无数的应用程序可以集成到 Citrix Workspace 中。选择保存 Citrix Workspace 用户感兴趣的信息的目标应用程序。特别令人感兴趣的是经常用于快速任务的应用程序,而且用户无法直观地访问。使用户能够在 Citrix Workspace 中直接进行交互的可操作应用程序比简单启用用户通知的应用程序具有更大的价值。示例包括批准、创建和添加项目。

接下来,确定要集成到 Citrix Workspace 中的所选目标业务应用程序的关键用例。例如:

  • 创建PTO /假日请求
  • 批准PTO /假日请求
  • 查找待定批准
  • 标记任务完成
  • 通知用户已创建或更改的已分配任务
  • 批准发票

一旦知道使用案例,下一步就是确定允许我们从目标系统中提取相关信息或重新注入到目标系统中的 API。

下面我们展示了使用发票审批用例设计工作流的场景。有关完整的详细信息,请参阅 示例方案工作流设计

重要注意事项

在设计工作流程之前,请查看以下注意事项和限制:

  • 您只能访问一个页面上的数据。这意味着当页面构建时,您只能处理直接相关的数据。
  • 所有个性化设置都通过用户电子邮件的上下文进行。这意味着,如果您正在创建通知或创建个性化页面,则用户电子邮件最多可以是一个关系级别。
  • 您只能将通知的“转到页面”操作链接设置为基于与通知相同表的页面。
  • 一次更改会生成一个通知。如果收件人位于相关表中,关系必须为 1:1,则不支持 1:N 关系。
  • 由于服务器限制,数据库结构必须狭窄。在设计终端和创建数据库结构时,必须考虑到这一点。
  • 如果您配置了包含高度敏感数据(如凭据、API 密钥或密钥)的自定义字段,则数据不受保护。此类数据显示在调试日志和其他地方。

注意:

所有具有 Citrix Workspace 微应用访问权限的管理员都可以访问缓存中的数据。管理员无权访问数据源的凭据。

构建微应用基础知识

微应用由页面事件通知组成,通常由两者组成。

  • 通知是事件驱动的微应用,它在需要用户注意事项时自动通知用户,例如作为 Workspace 活动源中的卡片。此类微应用包括需要批准的新费用报告可供注册的新课程。以下列表显示了可用的事件触发器类型:

    • 新记录-在记录源 (SoR) 中创建新记录时发送通知。
    • 更改的记录-当 SoR 中的现有记录发生更改时发送通知。
    • 匹配记录-当记录与 SoR 中的特定时间定义的查询匹配时发送通知。
    • 删除记录-当 SoR 中删除当前记录时发送通知。
    • 定期通知-(用户操作)定期发送非数据驱动的通知。
    • 定期报告-在指定时间间隔内发送包含汇总报告数据(分组)的定期通知。
    • 日期提醒-在记录日期列值之前或之后的指定时间发送通知。
  • 页面是用户启动的微应用,可在 Workspace 中作为操作使用,并且可以轻松执行启动操作。例如,请求 PTO提交帮助台票证搜索目录。以下列表显示了页面类型模板:

    • 详细信息-创建一个页面以显示来自 SoR 的单个记录的静态详细信息。
    • 表单-创建一个可编辑的页面,以提供静态详细信息,除了能够将用户数据输入到您的页面。
    • 表-基于从目标应用程序 SoR 加载的多个数据表创建页面。
    • 静态内容-创建页面以显示静态、不可操作的信息,如标题新闻、错误消息或提醒事项。

添加新的微应用

此过程对于要创建的任何空白微应用都是相同的。

请按照以下步骤进行操作:

  1. 微应用集成页面中,选择要将微应用添加到的集成旁边的菜单。
  2. 选择添加微应用
  3. 选择空白模板,根据您的业务需求构建自己的微应用。 添加空白的微应用后,它会显示在微应用集成页面上的相关集成下。
  4. 返回“管理微应用”页面,然后从集成下的列表中选择空白微应用。 此时将打开“属性”页面。
  5. 给它一个适当的名称和描述。
  6. 选择微应用图标,然后从菜单中选择适当的图标。您可以从中选择应用程序图标操作和通知图标以及微应用和数据图标。

示例方案工作流设计

您拥有发票审批系统,您需要将以下用例纳入我们的工作流程:

  • 有新批准时,必须通知审批者。
  • 当申请者的请求被批准或拒绝时,必须通知他们。
  • 审批人需要有关发票的信息,包括状态、总价格、申请者详细信息(姓名/电子邮件/电话)和行项目详细信息列表(名称/价格/数量)。
  • 申请者需要有关发票的信息,包括总价格、审批者列表详细信息(姓名/电子邮件/电话)以及行项目详细信息列表(名称/价格/数量)。

现在让我们来看看我们的数据库,以及它们的表关系: 数据库模式及其表关系

设计您的微应用

从这个你知道你需要四个通知和五页.

您需要构建四个通知,其中两个用于审批者,两个用于申请者。审批者和申请者电子邮件位于与 approversinvoice-detail 表有直接关系的用户表中。

您需要构建五个页面,每个页面都有一个:审批人发票列表、审批人发票详细信息、请求人发票列表、请求人发票详细信息以及审批人和请求人行项目详细信息。

构建您的通知

首先创建通知。所有注意事项和限制都适用于通知。通知必须由用户发送。用户电子邮件需要位于表中,或者最多需要一个级别的关系。

approvers 表中为审批者生成通知:

  • 表中新记录的通知
  • 状态更改通知

invoice_detail 表中的申请者生成通知:

  • 表中新记录的通知
  • 状态更改通知

设计限制(审批者)

审批者源卡的数据只能从以下表格中获取:

  • approvers ( 主表)
  • invoice-detail (invoice_id relation)
  • users(仅限 approver_id 关系)

这意味着您无法获取有关申请者的任何数据到源卡,因为个性化是从用户电子邮件的上下文中进行的。例如,如果要使用申请者名称,则必须更改数据库模式并将申请者名称添加到 invoice_detail 表中。

设计限制(申请者)

申请者源卡的数据只能从以下表格中获取:

  • invoice-detail ( 主表)
  • users(仅限 requestor_id 关系)

这意味着您无法从中获取任何数据 line_itemsapprovers 因为关系是 1:N。例如,馈送卡文本 您的请求获得 manager@company.com 的批准是 不可能的。如果需要此信息,则必须更改数据库模式并将此信息添加到 invoice_detail 中。

结论

从中,您可以确定必须有两个 invoice_detail 页面:

  • 您在 approvers 表中生成的发票明细审批人
  • 您在表 invoice_detail表上构建的发票详细信息申请者

现在,您可以在“发票详细信息审批人”页面中识别自己的 限制。可以添加 approvers(主表)、invoice-detailinvoice_id 关系)和 users(仅 approver_id 关系)表中的所有数据。但是,您遇到与通知相同的问题。缺少申请者信息,line_items 表太远,这是两个关系级别。

解决方法

有一种解决方法可以从表中获取两个关系级别的数据。

选项 1 使用 GotoPage。您可以添加第三个按钮,例如“查看详细信 息”,并将用户从此页移动到“发票详细信息请求者”页。您在 invoice-detail 表格上构建了该页面,所以 requestorline_items 表格只有一个级别。

选项 2 使用未绑定的表组件:取消选择使用与详细信息页相关的记录切换,您可以选择 line_items。这将创建一个包含所有项目的表。您需要添加过滤器以仅为特定发票选择物料。line_items invoice_id = approvers invoice_id。可以为requestor使用类似的方法。当表位于 line_items 上方时,还可以从与 line_items 具有 1:1 或 N:1 关系的表中添加数据。

构建您的页面

您需要构建五个页面,每个页面对应一个页面:

  • 审批者发票列表
  • 审批者发票详细信息
  • 申请者发票列表
  • 申请者发票详细信息
  • 审批者和申请者行项目详细信息

如果您需要允许基于用户分配的详细权限,请使用单独的微应用。例如,您的工作流可能只需要特定用户访问创建页面。有关页面生成器 UI 及其组件的完整概述,请参阅 页面生成器组件。下面的食谱介绍了详细的步骤,这些步骤利用有用的组件来构建详 细信息列表 类型页面。

微应用食谱

请遵循以下常见类型的通知和页面示例,您可以使用提供的配料(组件)列表构建。

通知

生成通知,将新项目或更改项目从工作流推送到用户。从下面所示的事件触发器类型中进行选择,然后在构建器中自定义事件。有关详细信息,请参阅生成事件通知

事件触发器:

  • 新记录-在记录源 (SoR) 中创建新记录时发送通知。
  • 更改的记录-当 SoR 中的现有记录发生更改时发送通知。
  • 匹配记录-当记录与 SoR 中的特定时间定义的查询匹配时发送通知。
  • 删除记录-当 SoR 中删除当前记录时发送通知。
  • 定期通知-(用户操作)定期发送非数据驱动的通知。
  • 定期报告-在指定时间间隔内发送包含汇总报告数据(分组)的定期通知。
  • 日期提醒-在记录日期列值之前或之后的指定时间发送通知。

列表页面

构建列表页以显示工作流中可用的所有项目。首先使用以下组件。有关查看完成的页面以及重现它的分步详细信息,请参阅 构建列表页面

组件:

  • -通过定义表源、过滤器和定义列来添加表。可以添加页面链接操作。必须设置个性化查询以限制数据泄露。
  • 文本输入 -通过指定要加载到用户输入的页面的数据表、列和值来定义文本源。组件可以标记为可选组件。字段宽度可以修改。可以根据最小或最大长度或文本模式配置验证规则,以标识用户输入。

详情页面

构建列表页以查看工作流中可用的一个项目的详细信息。首先使用以下组件。有关查看完成的页面以及完成重现页面的步骤,请参阅 构建详细信息页面

组件:

  • 文本 -定义要从缓存加载到页面的文本源和格式。
  • 返回按钮 -允许用户返回上一页。
  • 静态文本 -定义静态文本以显示页面。
  • 灵活网格 -让您更好地控制组件在页面上的定位。当您设计面向具有较大屏幕的设备的页面时很有帮助。设置要在网格中的标签和单元格总数。
  • -通过定义表源、过滤器和定义列来添加表。可以添加页面链接操作。可以根据用户的电子邮件设置个性化查询来限制数据泄露。

创建页面

构建创建页面以将项目添加到工作流中。首先使用以下组件。有关查看完成的页面以及完成重现页面的步骤,请参阅 构建创建页面

组件:

  • 静态文本 -定义静态文本以显示页面。
  • 灵活网格 -让您更好地控制组件在页面上的定位。当您设计面向具有较大屏幕的设备的页面时很有帮助。由网格项目组成。设置要在网格中的标签和单元格总数。
  • 文本输入 -通过指定要加载到用户输入的页面的数据表、列和值来定义文本源。组件可以标记为可选组件。字段宽度可以修改。可以根据最小或最大长度或文本模式配置验证规则,以标识用户输入。
  • 选择 -允许用户从一组值列表中进行选择。使用源系统中的数据填充,也可以手动输入值列表。可以添加操作。
  • 查找 -允许用户通过大量值进行搜索,并允许用户通过搜索其他值来选择值。
  • 按钮 -使用操作和逻辑在页面上添加一个可点击的组件。

其他资源

查看此 Citrix Workspace 智能和微应用服务概述,请访问 视频:微应用概述

了解有关创建自定义集成和微应用的信息,请访问 视频:微应用定制集成

了解有关获取测试实例的更多信息,请访问 Citrix Workspace 开发人员门户

以下是一个快速指南,用于设置 RSS 微应用:在存在 Citrix 安全公告时获取通知

访问 微应用讨论论坛

创建微应用