What's new in Oracle APEX 24.1 - Part 3
What's New in Oracle Apex 24.1?
Introduction to the Session
- The session is part three of a four-part series discussing new features in Oracle Apex 24.1, held on July 11, 2024.
- Announcements include an upcoming in-person conference at OD TUG Kscope 24 in Nashville, Tennessee, featuring over 65 sessions.
Upcoming Events and Resources
- Other conferences mentioned are the Latin America Oracle User Community Tour and the Oracle Apex Nordic Tour starting August 26th.
- The recording of this session will be available within a week; previous office hours recordings can be found on apex.oracle.com.
New Learning Opportunities
- New blogs cover topics like archiving human tasks and workflows, REST data sources, and nested JSON responses.
- A learning path for empowering low-code apps with AI is now available for free at Oracle University, including several hands-on labs.
Ground Rules for Q&A
- Participants are encouraged to use the Q&A section for questions relevant to the content presented during the session.
- For more complex inquiries not covered during the session, users should post on apex.oracle.com forums for community assistance.
Overview of Previous Sessions
Recap of Past Topics
- The series began on June 20th with a general overview of Gen AI in Apex; subsequent sessions covered vector search and working copy improvements.
Focus Areas for Today's Discussion
Key Features Being Discussed
- Today's focus includes workflow enhancements, approval processes, component groups, and builder extensions.
Improved Shared Component Subscriptions
Enhancements Introduced in Version 24.1
- Shari Rava discusses improved shared component subscriptions and introduces a new feature called component groups.
Features from Version 23.2 Revisited
- In version 23.2, subscription functionality was extended to several shared components with added features such as read-only status upon subscription.
New Functionalities Added
- Version 24.1 adds support for previously unsupported shared components regarding subscription functionalities like bulk refresh options and dependency resolution during refreshes.
Demonstration of Improvements
Shared Components and Component Groups in Version 24.1
Overview of Shared Components
- The new features for shared components include the ability to see all subscribed components that need refreshing, along with a bulk refresh option for quick updates.
- Upon upgrading from version 23.2 to 24.1, previously subscribed shared components may show a status of "could not determine needs refresh" due to potential modifications made while they were still subscribed.
- To resolve this temporary status, users must refresh the shared component or publish it, which is a one-time task after the upgrade.
Introduction of Component Groups
- A new feature in version 24.1 is the introduction of component groups, which serve as collections of other shared components without additional functionality.
- These component groups allow users to copy multiple components across applications and subscribe to them as a group, facilitating bulk operations like refreshes and publishing.
Benefits of Using Component Groups
- When subscribing to a component group, all individual components within it are automatically subscribed, enabling bulk actions on diverse types of shared components.
- If new reusable components are added to the library app's component group, all subscribing applications will be notified about changes and can easily refresh their versions.
Demonstration of Creating Component Groups
- The demonstration begins with creating a component group named "group ABC," where users can assign various types of sharable components.
- Users can select specific application processes or settings when assigning components to ensure relevant functionalities are included.
Copying Component Groups into New Applications
- In an example scenario, an existing application can copy essential components from a library app using few clicks while subscribing simultaneously.
- The copied component group's status remains up-to-date in the new application context, ensuring seamless integration and usability.
Utilizing Component Groups in Existing Applications
- Existing applications can also benefit from newly created component groups by copying them from library apps while maintaining subscription statuses for already existing items.
Understanding Component Subscription and Management
Overview of Subscription Status
- The subscription status is updated by reusing existing components without making changes; it links to the component group.
- If a component is not subscribed but shares the same name as one in the master application, it can be replaced with caution.
Handling Component Replacement
- Components that share names are treated as identical; users can cancel replacement if they believe they are different.
- Users have the option to rename components to avoid detection issues when using similar names.
Modifying Component Groups
- Changes made in the master application affect subscribing applications, demonstrating how modifications propagate through linked systems.
- Deleting or assigning components within a group reflects real-time updates across all applications.
Refreshing Subscribed Applications
- After changes, subscribing applications require a refresh to update their status and settings based on modifications made in the master app.
- A preview feature allows users to see potential changes before executing a refresh, ensuring informed decisions.
Unassigning and Deleting Components
- Unassigning components does not delete them; it merely removes them from the current component group while retaining their existence.
- Upon refreshing, all updates reflect accurately across subscribed applications, maintaining synchronization between master and subscriber apps.
Implications of Deleting Component Groups
- Deleting a component group retains shared components and subscriptions intact; no data loss occurs during this process.
- Recreating deleted groups will reuse existing components efficiently without requiring additional setup.
Understanding Unsubscribe Actions
- Unsubscribing from a component group also unsubscribes all associated components; this action should be taken with caution due to its broad impact.
Limitations of Shared Components
Component Subscription and Workflow Enhancements
Component Subscription Overview
- The only action available for refreshing components is to click on the refresh button. Directly subscribed components can be unsubscribed or deleted, highlighting a key difference between direct subscriptions and component group subscriptions.
Questions on Component Groups
- A question was raised about whether a component group can consist of other component groups. Currently, this feature is not planned for phase one but is in the pipeline for future updates.
Customizing Shared Components
- An inquiry from Travis addressed whether an application could unsubscribe from a specific shared component while keeping others intact. The suggested solution involves creating two separate component groups to manage customization effectively.
Flexibility in Component Group Management
- Users can create multiple component groups within a master application, allowing one component to belong to several groups. This flexibility enables tailored configurations based on specific needs.
Transitioning to Workflow Enhancements
- The discussion transitions to workflow and approval enhancements introduced in the 24.1 release of Apex, with Anania Chedy leading this segment.
New Features in Workflow Console
- A new workflow console was introduced in version 24.1, which allows users to create workflows and monitor their status through an out-of-the-box dashboard that tracks running, completed, or terminated instances.
Dashboard Monitoring Capabilities
- The newly added dashboard page provides insights into workflow statuses such as faulted instances and average completion times, enhancing user monitoring capabilities.
Detailed Insights into Active Workflows
- Users can view active workflows initiated by them along with metrics like how many are active or suspended. Clicking on these metrics reveals detailed information about where each workflow is currently waiting.
Faulted Workflows Visibility
- Users defined as participants can see faulted workflows even if they were not the initiators. This feature helps track issues across different workflows effectively.
Enhanced Workflow Diagram Representation
Workflow Enhancements Overview
Workflow Diagram Integration
- The workflow diagram is generated automatically, allowing users to utilize it on their own pages beyond just the details page.
- A customized console displays active workflow instances with a small diagram icon linking to a detailed workflow diagram page.
- Users can view a simplified version of the workflow diagram on any existing page by configuring attributes like the correct workflow instance ID and zoom settings.
User Experience Improvements
- The ability to disable the navigator and adjust zoom levels enhances user convenience, especially for end-users tracking workflow progress.
- This feature allows users to see not only current progress but also upcoming tasks in the workflow.
Workflow Termination Features
Enhanced Termination Process
- Users can now terminate workflows more efficiently; when a termination occurs, associated tasks are also canceled automatically.
- In previous versions, terminated workflows could leave lingering tasks; this update ensures clarity by canceling these tasks simultaneously.
Custom Process Type Plugins
- New features allow for custom process type plugins that include both completion and termination functions for better housekeeping within workflows.
- Developers can implement termination functions that execute upon workflow termination, facilitating record management such as deletions or status updates.
Debugging Enhancements
Workflow Instance Debugging
- A new debugging feature enables filtering messages by specific workflow instances, improving troubleshooting efficiency in applications dealing with workflows.
Human Task Management Improvements
Vacation Rules Implementation
Introduction to Vacation Rules
Overview of Vacation Rules in the Sample App
- The concept of vacation rules is introduced, with a sample app available for download from the gallery for users to explore.
- Users can customize their own vacation rules; for instance, when Bo is on vacation, James becomes an additional participant in tasks assigned to Bo.
- The system automatically adds covering users as participants rather than replacing the original user, enhancing task management during absences.
Task Management and History Tracking
- A demonstration shows how changing a salary (e.g., to 3250) results in James being added as a participant in the approval process.
- The history section of tasks can be modified to include alternate participants and reasons for changes, which are not included by default but can be easily added.
Building Vacation Rules
Defining Vacation Rules
- Vacation rules can be specified within application definitions under workflow settings, allowing customization based on specific needs.
- These rules apply universally across all task definitions unless overridden for specific cases like salary changes.
Customization Options
- Users have the option to override application-level vacation rules at the task definition level if different handling is required.
Approval Tasks Enhancements
Changes in Approval Processes
- New functionality allows initiators of tasks (like bank account changes) to approve their own requests after receiving multiple requests from users.
- This feature can be set within task definitions through an "initiator can complete" switch that provides greater control over task approvals.
Archiving and Purging Workflows
Improvements in Workflow Management
- Discussion on purging and archiving runtime instances highlights improvements aimed at providing seamless archiving options for users.
Purgeable Workflows and Archiving Automation
Understanding Purgeable Workflows
- Purgeable workflows refer to completed or terminated workflows that have surpassed their retention period. They are scheduled for deletion in the next purge window.
Archiving Workflows
- Users can create actions to archive workflows, such as a package workflow archiver that saves activities, variables, participants, and audit information.
Workflow Archiver Implementation
- A blog is available for those interested in detailed archival processes. The archiver uses a simple merge operation to manage data from specific views.
Automation of Archiving Processes
- The automation checks for purgeable workflows and archives them accordingly. This includes tasks history and parameters through a dedicated tasks archiver.
Discussion on Vacation Rules
Clarification on Terminology
- A question arose regarding the term "vacation rules," with suggestions for alternative names like "proxy rules." It was noted that vacation rules can serve various purposes within workflow contexts.
Builder Extension Enhancements
Introduction to Builder Extensions
- Christian Rita introduces Builder extensions as new features aimed at developers wanting to provide additional tools within the Apex Builder context without needing separate installations.
Publishing Builder Extensions
- To publish an extension application, workspaces must be configured with specific rights. An example workspace named "tools" is used for demonstration purposes.
Creating Applications in Apex
Application Setup Requirements
- Developers need to enable hosting extensions in their workspace settings before publishing applications as builder extensions.
Authentication Scheme Configuration
- A dedicated authentication scheme is required for published applications. The new Builder extension sign-in allows single sign-on functionality within the Apex environment.
Application Functionality Overview
Basic Application Features
- The demo application performs simple checks on form items, ensuring they have labels, are marked as required when necessary, and adhere to formatting standards.
Exception Handling in Checks
Application Publishing and Extension Management
Overview of Application Publishing
- The process of publishing applications to other workspaces has evolved; previously, it required exporting and installing the application manually.
- In an extension workspace, administrators can use the extension menu to publish applications directly for use in other workspaces.
Managing Extension Links
- Administrators must provide a session parameter from the invoking Builder session when publishing applications as extensions.
- After saving changes, users can access published applications without needing to install them in their own workspace.
Subscription to Extension Workspaces
- Workspace administrators can subscribe to extension workspaces, granting read access to Apex repository views.
- Once subscribed, new entries appear in the application interface, allowing seamless access to tools defined in the original workspace.
Accessing and Filtering Data
- Applications running in an extension workspace can still access data from other workspaces while maintaining user-specific visibility.
- Custom tables may require additional filtering through APIs to restrict visibility based on user permissions within different workspaces.
API Utilization for Extensions
- Various APIs are available for managing extensions, including creating or removing entries from the extension menu across different workspaces.
Apex Builder Extensions Overview
Context and Setup
- The discussion begins with the context of the Apex Builder, specifically regarding how variables are passed through URLs in the page designer.
- The user is logged in as a system administrator (sis), demonstrating subscription management to extension workspace tools, including modifying labels and access entries.
Script Execution and Application Checks
- An attempt to run a script encounters an error due to a syntax issue; after correction, it successfully completes.
- The speaker checks for additional links in the application builder and verifies that no checks have been performed on application 10011.
Interactive Reports and Failures
- In an interactive report, failures are noted automatically linking back to application 103, page two.
- It’s emphasized that not all Apex repository views are accessible when building extension applications; developers must be cautious about using certain views.
Session Context and Database Interaction
- Developers can utilize session contexts within automations without needing explicit definitions but can leverage mechanisms from their extension workspace.
- A demonstration shows how to create a session context within the database schema for installed applications.
API Usage and Automation Checks
- The API allows users to check which workspace context they are currently operating in, highlighting its utility for managing multiple workspaces.
- There are specific views available for checking applications subscribed to extensions, useful for nightly automation checks.
Security Considerations of Builder Extensions
Authentication Mechanism
- A question arises regarding security around Builder extensions; it's clarified that authentication validates active sessions before allowing access.
Conclusion of Presentation
- The presentation wraps up with acknowledgments and mentions future sessions covering new features like date picker support and PDF document generation.
Apex 24.1 Overview and Resources
Introduction to Apex 24.1
- The speaker thanks attendees for joining the session and encourages them to visit the Apex Oracle website for recent session recordings.
- Mentions a long history of sessions, hinting at a significant number of past events, possibly nearing triple digits.
- Expresses hope that participants learned valuable information during the session.
- Encourages attendees to start exercising with Apex 24.1 immediately after the session.