Oracle APEX 24.1 新增功能

阅读公告

APEX 为开发人员提供生成式 AI

AI 辅助应用开发

我们推出了 APEX AI 助手,它是一个集成的对话助手,使用生成式 AI 来帮助您完成许多开发活动,包括创建应用到编写代码。使用 APEX AI 助手,您可以在 APEX 的任何代码编辑器中生成、优化、解释或调试 SQL 查询,或者获取 HTML、CSS、JavaScript 和 PL/SQL 方面的帮助。

Oracle APEX 24.1 支持开发人员配置 AI 提供方,以实现 AI 辅助的应用开发体验。阅读博客帖子。
  • 使用自然语言创建应用

    只需描述您所需的页、数据和功能类型,APEX AI 助手就会整合这些要求为您构建应用蓝图,帮助您起步。您可以使用完备的创建应用向导进一步完善应用,也可以立即生成应用。

  • AI 辅助 SQL 编写

    APEX AI 助手通过理解您关于要检索数据的自然语言描述,帮助您编写针对应用数据模型的 SQL 查询。它还可以通过解释要包含的其他信息来扩充现有查询。这样,您不必查找确切的数据库表名和列名或使用精确的 SQL 语法,就能获得结果。

  • AI 辅助调试

    需要调试 SQL 或 PL/SQL 代码中的错误?使用错误消息下方的“帮助我解决此问题”链接调用 APEX AI 助手,可帮助您诊断问题并提出解决方法。

AI 驱动的应用

利用 Oracle APEX 24.1,将 AI 功能集成到您自己的应用中比以往更简单。您只需配置一个或多个 AI 提供方,然后使用它们以声明方式或通过新的 APEX_AI API 以编程方式构建定制 AI 功能。

  • 配置生成式 AI 服务

    APEX 在工作区级别提供 AI 服务的抽象层。这样可以在各个应用中无缝集成这些服务,并在导入/导出过程中轻松移植。

  • 对话 AI 聊天内容

    使用新的专用动态操作,轻松配置 AI 驱动的对话体验。只需提供系统提示和欢迎消息,并定制外观 — 选择 AI 助手是显示在模态对话框中,还是直接内嵌在页中。

  • APEX_AI API

    使用新的 APEX_AI API 实现更深层次的 AI 集成。其 chat()generate() 方法使用在 APEX 工作区中配置的生成式 AI 服务简化构建智能功能的过程。借助这些方法,您不必了解各个提供方的 API 和交互流之间的差异。

新增和更新的组件

新的“单选”和“多选”项

这两个新的页项允许用户从值列表中选择一个或多个选项,其样式和搜索功能比浏览器本身的选择列表更加灵活。

  • 轻松搜索和选择

    在多列中搜索并选择多个选项,同时使选择下拉菜单保持打开状态。

  • 灵活友好的 UI

    可以使用定制 HTML 和模板指令设置搜索结果样式,还可以选择包含图标和组。所选选项在编辑时显示为“条”,其他时候显示为分隔列表。

更快更灵活的模板组件

现在,模板组件提高了呈现速度,支持选择和槽以实现嵌套,并且可以在没有数据源的情况下使用。

  • 选择支持

    使用模板组件报表时,以声明方式启用选择单行或多行,并轻松访问所选行的主键。

  • 仅区域模板组件

    使用无需数据源的模板组件简化重复的 UI 模式。模板组件的标记可以引用定制属性和槽,而这些属性和槽可以包含内置页设计器支持的其他组件。

  • 提高了呈现性能

    由于对呈现过程进行了改进,模板组件的呈现速度比过去提高了 33%。

  • 轻松组合组件

    页位置和显示点已标准化为一个术语:槽。模板组件开发人员可以在模板组件级别定义槽,以允许开发人员在页设计器中的模板组件内部嵌套组件。

支持分层 REST 源数据概要文件

APEX 组件现在可以在每个层次结构级别使用 REST 源中的数据。

阅读博客帖子
  • 数据概要文件中的数组列

    通过 REST 数据源中的新数据概要文件数组列,可以对整个 JSON 数据层次结构的任何级别进行建模。

  • REST 源目录支持

    REST 源目录现在支持数组列和层次结构。

  • API 支持

    使用增强的 APEX_EXEC API 以编程方式提取分层 JSON 数据,并使用数组列构建 DML 请求。

工作流和审批增强功能

阅读“工作流”博客帖子
  • 可嵌入的工作流图表

    新的工作流图表区域允许您直接在自己的应用中嵌入并显示工作流状态。

  • 新的工作流面板页

    “创建工作流控制台”页现在包含一个选项,它允许工作流面板显示分析结果,例如按状态、活动和故障工作负载以及平均完成时间列出工作流。

  • 灵活的假期任务处理方案

    可以在任务定义或应用级别添加假期规则,并使用过程在运行时替换任务参与者。APEX 会在创建或委派任务实例时评估这些规则。阅读“假期规则”博客帖子

  • 开发人员可以指定任务启动方是否也有权批准或拒绝任务。
  • 通过增强的 API,您可以检索可清除的任务和工作流实例,并在归档前对其进行处理。
  • 执行异步工作的定制活动现在可以指定终止函数,以便在工作流实例终止时根据需要做出响应。
  • 现在可以在调试消息中包含工作流实例 ID。
  • 开发人员可以在任务定义编辑器或“人工任务 - 创建页”流程中使用开关来指定任务启动方是否也有权批准或拒绝任务。

开发人员体验

组件组

  • 新的共享组件类型

    新的共享组件类型“组件组”是其他共享组件的集合。利用它,您只需执行一次操作,即可轻松复制、订阅或刷新组中的所有组件。所有支持订阅的共享组件都可以添加到组件组中。

  • 订阅增强功能

    我们扩展了对全部订阅功能的支持,这包括将订阅组件设置为只读、自动解析相关性、订阅状态列以及批量刷新或删除订阅。此扩展适用于以下共享组件:列表、数据加载定义、REST 数据源、验证方案、授权方案、值列表、插件、快捷方式和搜索配置。

工作副本改进

应用工作副本功能集已改进,当页在不同副本之间存在变化时,可提供更高效的开发体验。页设计器中的新选项允许开发人员查找和比较某一页在主应用与其他工作副本之间的变化。

  • 标记在其他副本中发生了变化的页

    当前页在另一个工作副本或主应用中被修改或被锁定时,页设计器工具栏现在会显示直观指示。使用此工具可打开完整报表,以查看哪些开发人员在哪些副本中更改或锁定了页。

  • 比较不同副本之间的变化

    从页更改和锁定报表中打开 YAML 差异编辑器,查看页设计器中的当前页与另一个副本中发生更改的同一页之间的差异。或者,使用“工作副本”菜单中的新实用程序“比较当前页与主应用”,快速比较当前页与主应用中的版本。

  • 告知开发人员在主应用中工作

    当开发人员在主应用中工作时,可以借助新的预警横幅了解自身所处的环境,从而避免意外修改主应用。

文档生成器远程打印

利用OCI 文档生成器预构建的函数和新的远程打印服务器类型生成 PDF 文档。

阅读博客帖子
  • 报表布局管理

    使用 Microsoft Word 定义模板,然后将其拖放到 APEX 中即可创建报表布局。就这么简单,剩下的就交给 APEX 管理!

  • 像素级完美打印

    使用新的页处理类型“打印报表”有针对性地处理报表查询,轻松打印出完全符合您要求的报表布局,不会有任何一个像素发生错位!使用新的 APEX_PRINT API 以编程方式生成 PDF 文档,例如在工作流中或在后台执行链中生成文档。

构建器扩展增强功能

现在可以配置工作区托管 APEX 构建器扩展,同一实例上的其他工作区可以调用这些扩展。如果调用工作区授予构建器扩展读取权限,那么扩展就可以在 APEX 字典视图中看到调用工作区的元数据。

  • 扩展应用

    这些扩展应用不需要您再次登录即可从当前的构建器会话中打开,使您能够深入了解工作区的应用元数据。

  • 发布和订阅

    使用“扩展”菜单发布扩展应用,并为工作区订阅扩展工作区中的“扩展”菜单,或者调用已发布的扩展。

  • 新 API

    适用于构建器扩展应用的新 API 可以实现扩展工作区对工作区应用元数据的访问。

常规构建器改进

  • Spotlight 搜索增强功能

    APEX 构建器 Spotlight 搜索已改进,现在按类别显示结果,并在每个结果中突出显示搜索词。

  • REST 数据源改进

    新的 REST 源参数类型“父列”允许将主从关系中父 IG 的值传递给 REST 源。利用新的“公用”数据概要文件列属性,创建页向导在创建新页时可以重点处理重要属性。

  • 以可读格式导出页

    通过应用构建器中的“导出页”选项,或通过 SQLCL 和命令行,以可读 YAML 格式导出页,并使用此格式轻松比较页的不同版本。

  • 页设计器增强功能

    页设计器中的图标选择器现在可以调整大小;区域标题现在可以不同于区域名称。

用户体验

通用主题和字体 APEX 更新

  • 字体 APEX 2.3

    新版本的字体 APEX 为通用主题提供了 70 个全新图标,包括 AI、商业、日历和 Web 应用图标,以及纪念我们的朋友和同事 Allan Sitterson 的 Badgerine 图标。

  • Redwood 浅色

    Redwood 浅色主题的更新包括对以下项进行了细微的 UI 改进:头像和徽章模板组件、组合框和 LOV 条、文件删除流程向导、输入焦点样式、交互式网格、交互式报表筛选器和条以及页标题。

  • 其他主题更改

    新增的模板选项可隐藏值对和上下文信息模板的空结果。

可访问性改进

  • 只读项

    只读项已更新为支持可访问呈现。现在为许多本机项提供了相应的新 API,包括:颜色选择器、组合框、日期选取器、数字、仅显示、弹出式 LOV、选择列表、单选、多选、切换文本、文本字段、具有自动补全功能的文本和文本区域。插件开发人员可利用 APEX_PLUGIN_UTIL.PRINT_READ_ONLY API 支持新的可访问呈现。

  • 可访问性帮助文本

    许多属性对于可访问性非常重要。为了简化流程并强调这些属性的重要性,我们在页设计器中为这些属性添加了新的可访问性专用帮助文本,以更好地指导开发人员创建易于访问的 APEX 应用。

  • 错误修复

    在整个 APEX 中进行了大量可访问性方面的错误修复,以改善所有用户的用户体验。

自动关闭成功消息

  • 应用级控制

    新的应用级设置“自动关闭成功消息”允许开发人员轻松控制应用成功消息的行为。启用此新的应用用户界面属性后,应用中的所有成功消息都会自动关闭。

  • 设置关闭首选项

    使用新的 setDismissPreferences API 可控制关闭首选项并定制自动关闭功能的定时设置。

其他更新和增强功能

  • 不受限的地区属性

    在发行版 23.2 中,取消了模板组件的定制属性限制。此更新将同样的功能扩展到了区域插件。新的区域插件现在默认使用更新后的基础设施,以允许开发人员配置不限数量的插件属性。

  • 筛选器支持日期选取器

    使用“输入分面”和“手动范围”输入中的日期选器器,可以在“分面搜索”和“智能筛选器”区域中筛选结果,以及设置格式掩码来定制日期表示形式。阅读有关“分面搜索”和“智能筛选器”的日期选取器支持的博客帖子。

  • 支持声明式文件下载

    利用新的下载动态操作和流程类型,可轻松触发 BLOB 和 CLOB 文件的下载。以 zip 文件形式下载单个文件或多个文件,并选择文件以下载附件的形式显示,还是以内嵌形式在浏览器中显示。

  • 动态操作增强功能

    使用新的“输入”动态操作事件,在每次元素值发生变化时触发操作。此外,“动态操作”操作类型的快速选取选项中还添加了 JavaScript 代码操作和“执行服务器端代码”操作,以便您轻松访问这些常用选项。

  • 按钮处理

    通过显示处理动画和使用为页按钮提供的新属性“显示处理”暂时禁用页交互,避免意外多次提交页。

  • 运行时消息支持新的语言

    扩大了对 APEX 运行时消息的语言支持,现在包括乌克兰语和越南语,使支持的语言总数增加到了 34 种。

  • 内置 Oracle TEXT 搜索函数

    利用新的 Oracle Text 查询函数以及 APEX_SEARCH API 中提供的搜索引擎和专家搜索,实现高级全文搜索功能,包括模糊搜索和近似搜索。

  • 支持数据库身份证明

    基本验证或 OAuth2 客户端 Web 身份证明可引用存储客户端 ID 和客户端密钥的数据库身份证明。此功能仅适用于 Oracle 数据库 23ai 或自治数据库发行版 19c 或更高版本。

  • 用于多值项的定制分隔符

    组合框、列表管理器、弹出式 LOV、选择列表、多选和往复类型新增了定制分隔符支持,可为基于多个值的项定义定制分隔符并避免单项实施。

  • SAML 验证支持多个域

    在 SAML 验证中新增了对 "AssertionConsumerServiceIndex" 属性的支持,从而 APEX 实例管理员可以在“实例管理”设置中为多个域的受支持回调 URL 配置 SAML 回调。

  • 数据库相关性

    APEX 开发人员可以使用新的 APEX_APP_OBJECT_DEPENDENCY API 分析应用,并按页和应用报告对数据库对象的所有引用。

  • 服务器端地理编码

    APEX ADB 实例中提供新的流程类型“服务器端地理编码”,它允许用户独立于 UI 将邮政地址转化为坐标。

  • 报表列替代标签

    现在为交互式报表列提供了“替代标签”属性,它允许开发人员使用标记定制列标题,并将其用于对话框和其他各种列标题位置。

  • 受限邮件请求

    实例管理员可以通过定义每次调用 ORACLE_APEX_MAIL_QUEUE 调度程序作业时要处理的最大电子邮件数,控制单个租户发出的邮件请求数。

  • PL/SQL API 更新

    新增的 PL/SQL API 为开发人员提供了新功能。APEX_AUTOMATION API 中的新函数 TERMINATE 允许开发人员终止当前正在执行的自动化。使用 APEX_EXEC 中的新函数 DESCRIBE_QUERY 可描述数据源的列和数据类型。此外,APEX_INSTANCE_ADMIN API 也已更新,在创建和解锁账户和实例以及授予 APEX 权限方面提供了更高水平的控制。

  • JavaScript 库升级

    我们已经将多个 JavaScript 库更新到较新发行版,包括 Oracle JET 16.0.1、FullCalendar 6.1.11、Monaco Editor 0.47.0、MarkedJS 12.0.1、Less.js 4.2.0、DOMPurify 3.0.11、Terser 5.30.3、TinyMCE 6.8.3、PrismJS 1.29.0、CSSO 5.0.5、Cropper.js 1.6.1、Turndown 7.1.2、字体 APEX 2.3、Oracle 多信息文本库。此外,Mapbox 已升级为 MapLibre 4.0.1。

APEX 24.1 还实现了社区提交的 40 多项意见!

了解以前的发行版

查看发行说明