Mendix 10.15 版——整个软件开发生命周期的福音

此版本为整个软件开发生命周期带来了各种改进。Studio Pro 性能得到了改进,包括一些不错的页面构建改进和Data grid 2 更新。工作流通过工作流边界事件变得更加强大,数据库连接器和提交也得到了很好的改进。使用新的管道功能(包括检查最佳实践)提升您的 DevOps。此外,使用新的治理增强功能管理应用程序也得到了改进。最后但并非最不重要的是,通过我们所做的各种改进,构建 AI 注入应用程序变得更加容易,包括能够用不同的语言向 Maia 聊天提问,并以您的语言回答。

Studio Pro

性能

我们对 Studio pro 做了一些性能改进,特别是围绕表达式编辑器中的自动完成弹出窗口、属性工具窗口和其他一些性能改进。

Maia Chat 多语言支持

并非所有国家和地区都喜欢英语,而且其他国家/地区对英语的了解较少,这使得开发更具挑战性。现在,您可以用自己的语言提问,Maia 会检测语言,并用您的语言回答!此外,由于这是后端改进,您甚至不需要更新 Studio Pro。

Maia Chat 多语言支持

页面构建

X-Ray 模式正式发布

在测试版发布后,X-Ray 模式经历了改进和完善,包括错误修复、数据源信息的添加和界面的重新设计。X-Ray 通过在画布上直接添加容器、布局网格和数据小部件等结构元素来增强设计模式,同时保留其余样式。这样,无需切换到结构模式,就可以更轻松地在画布上选择和放置小部件。数据源信息的加入进一步增强了用户体验,让您可以直接在画布上查看可用的数据上下文。随着 10.15 的发布,我们也将其普遍用于 Windows。

表达式无需数据视图

现在,您可以使用表达式来实现条件可见性和动态类,而无需使用周围的数据容器。这简化了建模,因为当您仅使用顶层可用的变量(例如页面参数、选择和常量)时,您不再需要添加包装数据容器。Jean Gabeler 也在 Mendix 论坛上提出了这个问题。谢谢!

表达式无需数据视图

生成概览页面覆盖选项

生成概览页面是生成数据管理页面的快捷功能。以前,如果生成了新页面,它会添加一个新文件夹,您必须手动复制页面等。现在不再如此!从此版本开始,概览页面生成对话框现在允许您覆盖以前生成的文件夹,从而节省大量时间。

生成概览页面选项

数据小部件增强功能

改进个性化

用户现在可以从Data grid 2 的改进个性化中受益,因为过滤器值将作为数据网格个性化的一部分进行存储,这意味着不再需要单独存储个性化过滤器配置。此外,过滤器运算符现在也已存储,从而增强了数据网格的自定义和个性化。感谢您在 Idea 论坛上提出这个问题,Adam!

參考集

最后,为Data Grid 2 列选择参考集的新选项允许用户将相关数据查看为以逗号分隔的值列表,从而为数据表示和管理提供一种直接且适应性强的方法。

工作流边界事件(测试版)

是否曾经需要对用户任务进行升级建模,或者能够在工作流运行时对外部事件做出反应?我们引入了边界事件,以此来对异常进行建模并响应工作流中的不同类型事件。例如,当用户任务在一周后仍未完成时,应将其升级给经理。边界事件是一种可以附加到活动的事件,触发后将启动替代路径。熟悉 BPMN 的人会知道这些概念。可以有非中断边界事件和中断边界事件。非中断边界事件将保持父活动处于活动状态,同时启动其他路径。中断边界事件将中止父活动并启动替代路径。可以使用不同类型的事件来定义何时应该发生这种情况的触发器。在边界事件的第一个(测试版)版本中,我们为(多)用户任务、子工作流(又名调用工作流)、系统任务(又名调用微流)和“等待通知”活动引入了非中断边界事件。第一个可用作边界事件的事件是计时器事件。只需将计时器事件从工具箱拖放到用户任务上即可。就这么简单!您可以将多个边界事件添加到单个活动(参见下面的视频),并且边界事件路径中的活动也可以具有边界事件(参见下面的视频)。可以通过 Studio Pro 中的“新功能”选项卡启用边界事件(测试版)。

工作流边界事件测试版

提交信息

提交对话框现在会显示每个选项卡的更改数,让您可以更轻松地快速查看修改的内容。此外,在创建新提交时,将预先选择包含更改的第一个选项卡,这样就无需额外点击几次。

在数据小部件中提交信息

数据库连接器查询现在可以共享响应实体

多个查询现在可以共享相同的响应实体。您可以选择重用另一个查询中定义的实体,也可以使用其他属性更新现有实体。实体的重用应该使构建需要对同一数据进行多个查询的页面变得更简单、更快捷。例如,显示不同查询结果的数据网格。

数据库连接器查询共享响应实体

移动设备:支持 iOS 18

科技界的好消息!本月,Apple 对其移动操作系统进行了重大更新。此新版本包含大量增强功能和改进,很快就会在全球用户手中。由于 Apple 用户倾向于快速更新其设备,因此让您的应用与此更新保持一致至关重要。我们很高兴地宣布,我们已为使用 Mendix 10 构建的原生移动应用添加了对 iOS 18 的支持。要启用支持,请将原生移动模板更新为最新版本并发布应用的新版本。敬请期待,因为我们也将很快为使用 Mendix 9 构建的原生移动应用提供此支持。

Studio Pro 可扩展性 – 对模型的完全读取权限

可扩展性使开发人员能够构建新的 Studio Pro 功能。许多用例都围绕读取模型,例如进行质量、分析或生成报告。在此版本中,我们引入了非类型化模型访问 API,这使得从模型中获取各种信息成为可能,从而使扩展更加强大!示例代码:

public IReadOnlyList GetMicroflowActionActivities() =>
untypedModelAccessService.GetUntypedModel(currentApp)
.GetUnitsOfType("Projects$Module")
.Single(unit => unit.Name == "MyFirstModule")
.GetUnitsOfType("Microflows$Microflow")
.Single(unit => unit.Name == "MyFirstLogic")
.GetElementsOfType("Microflows$ActionActivity");

首先,请参阅我们的文档如何使用非类型化模型访问 API

可插入小部件 API – 指定操作的默认值

小部件通常作为模块的一部分发布,在某些情况下,某些属性总是调用相同的微流或应默认打开相同的页面。现在可以指定微流、纳米流或打开页面操作,让小部件用户的生活更轻松!示例 XML:

<property key="buttonAction"
   type="action"
   defaultValue="MyFirstModule.MyFirstLogic"
   defaultType="CallMicroflow">
   <caption>On click</caption>
   <description>Action to be performed when button is clicked</description>
</property>

有关更多信息,请参阅我们的文档

DevOps

Pipelines Plus Plus – MAIA 测试和 API

Mendix Pipelines 支持平台原生低代码 CI/CD,帮助您实现软件打包和部署自动化,无需 DevOps 专业知识。通过一组可配置的步骤,您可以在 Mendix Portal 中设计管道,使其根据指定条件自动触发,例如提交到 TeamServer Git 时。就是这样。坐下来放松,使用 Mendix Pipelines 的自动化可以为您节省数小时的精力。它目前在公开测试版中可供无限使用。快来看看吧!Mendix Pipelines 不断发展。在此版本中,我们为您带来了两个非常强大的功能:

使用 Mendix 最佳实践推荐器进行测试

如果您也可以像其他 CI/CD 自动化一样实现测试自动化,那不是很棒吗?您可以自动确保部署的 Mendix 应用程序本质上是高质量和安全的,而无需花费宝贵的开发人员时间来执行此操作。介绍 Mendix Pipelines 中的第一个测试步骤 – Maia Best Practice Recommender(以前称为 Mx Assist Performance Bot)。

  • 什么是最佳实践推荐器? Maia Best Practice Recommender 是一款智能虚拟协同开发者机器人,它通过根据 Mendix 开发最佳实践检查您的应用模型来帮助您提高应用的性能。它会显示错误、警告、弃用和建议,以帮助您优化 Mendix 应用。它类似于高代码世界中的静态代码分析。
  • 它在管道中是如何工作的?引入了一个名为 Maia Best Practice Recommender 的新管道步骤。此步骤将根据 Mendix 开发最佳实践评估您的 .MPR 文件。您可以根据质量规则配置步骤以使管道失败。例如,如果 Best Practice Recommender Bot 检测到错误,则停止管道,从而确保质量不足的项目不会通过打包为 MDA 或部署在环境中而进一步传播。通过展开日志,可以在“运行详细信息”页面中看到 Best Practice Recommender 的详细结果。

使用 Mx 最佳实践推荐器进行 DevOps 测试

配置最佳实践推荐器步骤(以前称为 Mx Assist Performance Bot)

  • 我如何将其添加到我的管道? 很简单,只需在 Checkout 后添加步骤即可。示例管道如下所示:

DevOps 添加到管道

  • 归根结底,我为什么要使用它? 其好处是多方面的:
    • 通过自动化测试提高开发人员的工作效率
    • 通过阻止创建 Mx Assist Bot 中存在错误或弃用的部署包来向左移动
    • 最终,使用 Mendix 创建高质量的软件!
  • 是否会有更多种类的测试步骤? 当然!请继续关注博客发布以了解更多!

Pipeline APIs

API:任何想要超越孤岛的软件的秘密武器 。它们就是为管道而生的!以下两个 API 调用可用:

  1. 启动管道 – 现在可以通过 API 启动可以手动触发的管道。提示 – 从设计页面复制管道设计 ID 即可使用此 API
  2. 查询管道运行状态 – 使用此 API 调用查询任何正在运行的管道的状态。

如何使用 API?

  • 定制触发器 – API 允许自定义触发条件,从而能够根据特定事件或条件启动管道。例如,当工单的 Jira 状态通过 Jira Automation 更新时,您可以触发管道。通常,Jira 还用于促进内部审批,而集成管道有助于节省流程中的另一个步骤。
  • 与其他系统集成 – API 可以与各种工具和服务集成。例如,从您选择的第三方 CI/CD 工具触发 Mendix Pipelines。
  • 增强的可见性和协作 – 管道完成后,也可以通过管道协调对组频道的通知或对 Jira 票证的更新。

治理

软件组合改进

软件组合 – 在控制中心开发者门户中 – 可帮助您分别了解应用环境和应用的外部依赖关系。了解这些构建块有助于有效监控安全风险。最新版本进行了以下改进:

  • 深层链接实现无缝协作 – 软件组合中的每个页面和子页面均提供深层链接,因此您可以轻松地与同事共享应用程序的组成或独特组件的使用方法。
  • 性能改进 – 该功能获得了大量积极反馈,但导致了一些性能问题。我们在此版本中做出了一些改进,并将在后续版本中继续改进。
  • 通过管道生成 SBOM – 使用构建和发布步骤时,软件物料清单 (SBOM) 也通过管道生成。SBOM 显示在软件组成页面上。

集中的公司角色

让我们来谈谈 Mendix 平台上的项目角色——这些是授予参与应用程序开发过程的人员的权限集(因此与您使用 Mendix 构建的应用程序中最终用户角色无关)。目前,任何项目的 Scrum Master 都可以根据需要设置任意数量的自定义角色,然后可以将这些项目角色分配给团队成员。我们知道这并不理想,这就是我们改变其工作方式的原因。我们已将平台角色管理完全转移到公司级别。这在实践中意味着只有公司管理员才能创建和编辑公司角色,一旦创建,它们就可以由各个项目使用。Scrum Master 将不再有权在每个项目中创建自定义角色,他们只能从一组管理员批准的角色中进行选择。

DevOps 集中化公司角色

那么究竟发生了什么变化?如果您公司的人员尚未创建任何自定义角色,则变化不大,唯一的区别是现在管理员将能够更有效地审查和管理控制中心中的平台角色。如果您确实有自定义角色,那么在切换到集中式公司角色后,项目中的所有自定义角色都将在控制中心中可见。例如,也许不同的人采用了同一组权限,并在不同的项目中以不同的方式命名。或者可能存在一个角色,该角色的权限集对您的组织来说实际上没有意义,但它在某个项目中被使用过。简而言之,您的公司管理员将不得不做一些清理工作。如果他们试图删除或修改某个地方使用的角色,我们会提示管理员选择其他角色来重新分配这些用户。这应该不会花费太多工作量,您可以随时恢复到我们提供的默认设置并删除其他所有内容(我们将所有其他角色标记为“从项目继承”)。

集中角色 - 角色和权限

您可能想知道这为什么重要。除了改进访问管理方面的治理之外,下一步将是将云权限添加到组合中,以便管理员能够在公司级别选择哪些角色有权部署(或专门部署到生产)。对于那些更复杂的用例,仍然可以选择将部署权限留给最了解谁需要访问什么的个别项目成员。最后,只要您切换到集中式公司角色,您就可以使用 Projects API v2 以编程方式分配您想要的任何角色(目前,这仅适用于 Scrum Master 角色)。如果您想进行切换,您只需转到控制中心并单击顶部横幅中的“了解更多”即可开始迁移流程。

默认应用程序角色

请记住,我们要求每个人都在 2025 年 1 月 1 日之前切换到集中式公司角色。 此步骤对于您集中管理云权限至关重要,但它也使我们能够为您提供更多选项,以便您使用我们的 API 管理对 Mendix 平台的评估。

AI

使用 Token Monitor 监控 GenAI 应用程序的使用情况

在最新版本的对话式 UI 模块中,我们提供了监控用户在 Mendix 应用中使用生成式 AI 功能的频率的功能。查看一段时间内使用了多少输入和输出令牌,以跟踪采用情况、掌握消耗情况并控制成本。使用内置图表快速概览,或导出数据进行自己的分析。

使用新的 Markdown 小部件作为对话式 UI 的一部分显示富文本

我们现在还将最新的 Markdown 小部件纳入了对话式 UI 模块 AI Bot Starter App。大多数模型都经过训练以返回富文本(格式、表格、链接等),或者可以通过提示轻松进行指示(例如:您以 markdown 格式设置响应,以便它包含项目符号、粗体文本和有序列表(如果适用)。使用新的小部件,它将在您的应用程序中自动正确格式化,以便您可以向最终用户显示更丰富的文本。内容将自动被清理,因此不必担心任何 JavaScript 注入 whatsoever.

显示富文本

支持助手入门应用程序

使用我们最新的支持助手入门应用创建您自己的 AI 增强型支持助手。使用函数调用、知识库、检索增强生成 (RAG) 和提示工程等先进技术,帮助您的用户更轻松地处理工单。使用历史数据和静态数据来帮助用户,这样如果可以自动提供答案,他们就不必创建工单。系统将自动引导用户创建工单,其中包含他们在对话中输入的所有信息,从而顺利过渡到更手动的过程。使用此入门应用启动您的开发,或使用它来了解有关将常见的生成式 AI 模式组合成一个无缝体验的更多信息。

使用新的统一展示轻松比较模型和用例

我们为 Bedrock 和 OpenAI 创建了统一的展示体验,以取代各自的展示。转到 GenAI 展示应用程序并使用 OpenAI、Azure OpenAI 和 Amazon Bedrock 进行测试,探索在您的应用程序中实现生成式 AI 的不同方法。使用它来比较结果并开始使用不同的架构模式。

你准备好启动下一个应用程序了吗?