Oracle APEX 23.2 introduces a groundbreaking new feature – Workflows – that revolutionizes the way developers automate business processes within their applications. This fully integrated workflow solution empowers developers to design, manage, and execute intricate workflows without the complexities of external integration or coding.
With Workflows, you can design, manage, and execute intricate workflows without the complexities of external integration or coding. The intuitive, visual workflow designer allows you to drag and drop various workflow activities, such as sending emails, approving tasks, or executing SQL statements, onto the canvas. These activities are interconnected using transitions, defining the flow of the workflow based on specific conditions.
Unleashing the Power of Visual Workflow Design
At the heart of Oracle APEX 23.2’s Workflow feature lies an intuitive, visual workflow designer, seamlessly integrated into the APEX development environment. This drag-and-drop interface makes constructing complex workflows effortless, enabling developers to swiftly visualize and orchestrate business processes.
Visual Workflow Designer
Within the designer, developers can drag and drop various workflow activities, such as sending emails, approving tasks, or executing SQL statements, onto the canvas. These activities are interconnected using transitions, defining the flow of the workflow based on specific conditions.
Simplifying Approval and Task Management
Oracle APEX 23.2’s Workflow feature introduces Human Tasks, streamlining approval and task management within applications. Human Tasks provide a centralized platform for users to review and act upon assigned tasks, ensuring that critical business processes proceed smoothly.
Users can seamlessly access their pending tasks through a dedicated Human Tasks page, where they can review task details, provide feedback, and complete actions as required. This intuitive interface enhances collaboration and efficiency across the organization.
Harnessing the Power of Existing Process Types
Oracle APEX 23.2’s Workflow feature seamlessly integrates with existing Native Process Type Plugins, such as Execute Code, Send E-Mail, and Human Task – Create (Approval). These plugins serve as building blocks for constructing more sophisticated workflows, leveraging their proven functionality.
Enhancing Workflow Visibility and Control
Workflow Definitions in Oracle APEX 23.2 can be expanded to provide developers with detailed insights into the workflow’s structure and components. This includes visualizing input parameters, activities, transitions, and variables, facilitating comprehensive workflow understanding and management.
Revolutionizing Application Development
The introduction of Workflows in Oracle APEX 23.2 empowers developers to automate complex business processes with unprecedented ease and efficiency. This transformative feature simplifies application development, reduces time to market, and elevates the overall user experience.
Oracle APEX, known for its agility in web application development, has introduced a modernized Object Browser, enriching the developer experience and streamlining the navigation of database objects. In this article, we will explore the features and enhancements that come with the Modernized Object Browser in Oracle APEX and understand how it elevates the development journey.
Understanding the Object Browser: Evolution of Object Browsing
The Object Browser in Oracle APEX has undergone a significant transformation, aligning with modern design principles and providing a more intuitive interface for developers. This enhancement is part of Oracle’s commitment to improving the overall usability of the development environment.
Key Features
1. Simplified Navigation
– The Modernized Object Browser adopts a simplified and streamlined navigation structure, making it easier for developers to find and explore database objects.
2. Responsive Design
– A responsive and adaptive design ensures a seamless experience across various devices and screen sizes, allowing developers to access the Object Browser anytime, anywhere.
3. Enhanced Search Capabilities
– Improved search functionality enables developers to quickly locate specific database objects, reducing the time spent navigating through the hierarchy.
4. Intuitive Icons and Labels
– Icons and labels have been revamped to be more intuitive, providing visual cues that enhance the overall user experience. Developers can quickly identify different types of database objects.
5. Interactive Visualization
– The Modernized Object Browser introduces interactive visualizations, allowing developers to explore relationships between objects more dynamically. This is particularly useful in understanding complex database schemas.
Exploring the Enhanced Object Browser: Navigating the Hierarchy
1. Database Connections
– Start by connecting to your database, and the Object Browser will present a clear hierarchy of schemas, tables, views, and other database objects.
2. Interactive Tree Structure
– The interactive tree structure allows developers to expand or collapse nodes to view the contents of each schema or table easily.
3. Quick Search Functionality
– Use the search bar to quickly find specific objects. The search functionality has been optimized for efficiency, providing instant results as you type.
4. Detailed Object Information
– Clicking on a database object reveals detailed information, including columns, constraints, and dependencies, providing a comprehensive view for developers.
Responsive Design:
1. Cross-Device Compatibility
– The responsive design ensures that the Object Browser is accessible and functional across various devices, from desktops to tablets and smartphones.
2. Touch-Friendly Interface
– Developers can interact with the Object Browser using touch gestures on touch-enabled devices, enhancing the user experience for those on the go.
Visualizing Relationships:
1. Graphical Representation
– The introduction of graphical representations for relationships between objects facilitates a more visual understanding of the database structure.
2. Dynamic Exploration
– Developers can explore the relationships dynamically, gaining insights into how different database objects are interconnected.
Incorporating the Modernized Object Browser in Your Workflow: Integration with APEX Development
1. Seamless Integration
– The Modernized Object Browser seamlessly integrates with the Oracle APEX development environment, providing a unified experience for developers.
2. Enhanced Productivity
– With improved navigation and visualization, developers can expect increased productivity as they interact with database objects more efficiently.
3. In-Context Access
– Developers can access the Object Browser directly from APEX pages, ensuring a smooth transition between designing applications and exploring database objects.
Conclusion
The Modernized Object Browser in Oracle APEX 23.1 marks a significant step forward in providing developers with a user-friendly and feature-rich tool for exploring and understanding database objects. Its responsive design, enhanced search capabilities, and interactive visualizations contribute to a more enjoyable and efficient development experience. As you incorporate the Modernized Object Browser into your workflow, you’ll discover a valuable asset in navigating the intricacies of database structures within Oracle APEX. Happy exploring!
APEX, or Application Express, is a software development tool built by Oracle, one of the leading database management and development brands. It is used to create, run, and deploy database applications. Oracle Application Express (APEX) is a free, easy-to-use tool to help you quickly build and deploy database-driven applications. You can use APEX to create and publish your custom applications or build on top of our prebuilt widgets and components library. If you use Oracle Application Express (APEX) for your development, you’ll want to upgrade it from version 4.2.1 to 5.0.
The steps below will guide you through the process of upgrading an existing APEX application to version 5.0;
Assess the current state
The first thing you need to do is assess the current state of your application. Is it working? Are there any bugs? What are the features? How often is it used? What kind of data does it hold? Knowing these answers will help you decide which steps in this guide are relevant. With that information, you can identify the areas where you want to spend most of your time improving performance and user experience. Also, knowing how much time you have will help you prioritize what needs improvement most urgently.
Review documentation
There are several great resources for learning about Oracle Application Express (APEX), including books, blogs, videos and tutorials on the Oracle Learning Library website. It would help if you started by reading through some of these resources before making any changes to your application so that you’ll know what changes may affect other parts of your application and how they might be implemented differently depending on the platform and version of APEX.
Perform a database backup
Ensure you have taken a database backup before upgrading your schema or performing any other database operation, such as importing data from another source or adding new tables or indexes. You should also ensure that all users are logged out from APEX when performing these operations so that no user-related objects exist in APEX after completing them.
Test the upgrade in a non-production environment
After backing up your application, it’s time to test the upgrade in a non-production environment before moving forward with any changes to production systems. This aims to identify and fix any potential issues before they become problems for your users. Ideally, you could use an environment that looks similar to what your customers use so that they’re easy to identify and resolve when issues arise.
Backup your applications
This is critical but often overlooked. Backing up your application before upgrading is the best way to ensure you can revert to the previous version if something goes wrong. You should also consider backing up the database, especially if it contains large amounts of historical or important information.
Address compatibility issues
Before upgrading, it’s essential to determine if your Oracle APEX application is compatible with the new version of Oracle Application Express. The Upgrade Guide for each version has a section called Compatibility that lists known issues and workarounds for each release. You can also check the Compatibility Matrix in the Release Notes for more information about functionality added or removed since previous releases of Oracle Application Express.
Plan for downtime
If you’re doing a significant upgrade, it’s best to take the application offline while the upgrade is done. This will give you time to ensure the promotion goes well before users return to their seats. If the application is mission-critical, consider using an automated deployment process that can be initiated remotely and tested in a sandbox environment before pushing it into production. This will help ensure that any issues with upgrades are found before they affect users.
Execute the upgrade
There is no way around this step, so you should get it out first. Before you do anything else, ensure your upgrade scripts are tested and working correctly. The best way to test them is to run them on a development system set up with all of the same settings as your production system, including the database.
Update your database schema
This may be necessary if you’ve changed the structure of tables or added new columns to existing tables during the development of your application. The easiest way to do this is to use an external tool that can compare schemas and tell you what needs to be updated for the schema change to work as expected with Oracle APEX 4 applications or whatever version number you’re upgrading from.
Review application permissions
Now would be a good time to review your users’ permissions within the application and ensure they still match up with their roles and responsibilities within the organization. If any changes are required here, now is a good time to do it before deploying into production, where you might have more impact on other systems or applications due to changes in permissions.
Monitor and support
Monitor your production systems for performance issues, look for unusual traffic patterns and see if any security issues affect your applications or databases. You should also make sure that there are no changes in the configuration settings of these systems that may affect them adversely, e.g., backups. If needed, hire a support team to assist you with these tasks while you concentrate on upgrading your application codebase and database schema.
Protect against security threats
Security threats such as cross-site scripting (XSS) and SQL injection attacks can cause severe damage to your application if they cannot be detected and prevented in time. You should use appropriate measures to detect these attacks before they can cause severe damage to your database or other data sources your application or its users may access.
Conclusion
Generally, APEX is a compelling platform that can easily create applications without considering underlying development limitations. Understanding these steps will allow you or our team to confidently handle your upgrade and resolve any issues that may occur.
Oracle Apex workflows and automations help organizations streamline their processes, improve collaboration, increase efficiency, and reduce costs, all while ensuring compliance and better decision-making.
To review the built-in features that Oracle Apex provides, go to the Shared Components page of any Apex application
You will see two links under the Workflows and Automations section for Task Definitions and Automations.
In this article we will be diving into the functionality available in Oracle Apex Task Definitions. In our example, we are using the latest version Apex 23.1 (not yet ready for production release at this time).
Task Definitions
Task Definitions are used to define and manage tasks within a workflow. They provide ways to describe what needs to be done in a specific task, who is responsible for completing the task, and when it needs to be completed.
Common uses of Oracle Apex Task Definitions can include:
Creating workflows: Task Definitions provide a way to define the tasks that need to be completed in a workflow. By specifying the task type, due date, and responsible party, workflows can be created and managed more easily.
Assigning tasks: Once a workflow is created, Task Definitions can be used to assign tasks to specific individuals or groups. This ensures that everyone knows what they need to do and when they need to do it.
Monitoring progress: Task Definitions provide a way to monitor the progress of a workflow. This allows organizations to track which tasks have been completed and which are still outstanding.
Reporting: Task Definitions can be used to generate reports on the status of workflows and individual tasks. This can help organizations identify areas for improvement and ensure that everything is running smoothly.
Let’s use the Oracle Sample Approvals application as a foundation and create a new Task Definition for requesting a work phone, something many employees wish they had, and many others wish they could give back!
After importing the Sample Approvals application, navigate within APEX to the Shared Components page and select the Task Definitions link. Then click Create, to start our example.
After the Task Definition has been created, the next step is to create Participants to assign additional owners of the task and Parameters for the task. Task Definition Participants define the participants of a human task who can act on the task.
The two participant types are either Potential Owner, or Business Administrator.
Potential Owner is responsible for completing specific tasks assigned to them within a workflow, either as an administrator or end user.
The Business Administrator is responsible for managing the overall application and ensuring that tasks are assigned appropriately.
The Participant Value type can be one of the following options:
Static
SQL Query
Function Body
Expression
Participants will also be either named or role-based.
Named participants: A named participant is a specific individual who is assigned to complete a task within a workflow. The named participant is usually specified by their username.
Role-based participants: A role-based participant is a group of users who are assigned to complete a task within a workflow based on their role or responsibility within the organization. This can include roles such as manager, team lead, or executive, for example.
Task Definition Deadlines
After creating the task participants, a deadline can optionally be defined for the task. Here are the options:
Overall, these deadline options in APEX provide flexibility in defining Task deadlines that can be customized to fit the specific needs of a workflow process.
Task Details Page
After creating the participants, a Task Details page is defined to display information related to a specific task within a workflow. It provides a centralized location for viewing and managing details such as task status, due date, priority, and assignee.
Some of the common uses of the Oracle Apex Task Details page include:
Task management: provides a way to manage individual tasks within a workflow. This includes updating task status, adding comments, and assigning or reassigning the task to another user.
Communication: used to communicate information related to a task to other team members. This includes adding comments, attachments, or links to related documents or resources.
Tracking: provides a way to track progress on a specific task. This includes viewing the task status, due date, and any associated comments or updates.
Workflow management: used to manage the overall workflow. This includes viewing the status of all tasks within the workflow, adding or removing tasks, and updating the workflow due date.
In our case, we are reusing a details page defined for other tasks.
Adding Actions to the Task Definition
Actions are created and used to automate various tasks within a workflow. These actions are triggered by events such as task creation, completion, or reassignment. There are several types of Task Definition actions that can be created, including:
PL/SQL actions: PL/SQL actions allow custom PL/SQL code to be executed as part of a Task Definition action. This can be used to perform custom data validation, execute database operations, or integrate with external systems.
Email actions: Email actions can be used to send automated emails to task assignees, stakeholders, or other interested parties. These emails can include task details, attachments, or links to related resources.
Assignee actions: Assignee actions are triggered when a task is assigned to a new user or when a task is reassigned to a different user. These actions can be used to automatically update task status, due dates, or other related data.
Approval actions: Approval actions can be used to require approval from a designated approver before a task can be completed. This can be useful for tasks that require review or sign-off from a supervisor or manager.
To create an action for your task, click on Add Action
In our example, we are creating actions to
Send a reminder email to the Approver to approve the work phone.
Push the Apex email queue to send the email.
Update the work phone request status
There are several “On Event” options available for Apex Task Actions, including:
Claim: Triggered when an unclaimed task is claimed by an owner. Once the task is claimed by a user, the Task transitions to Assigned state, and the actual owner of the task is set to the user who claimed the task.
Complete: This option triggers the Task Definition action when a task is marked as completed.
Delegate: This option triggers the Task Definition action when a task is delegated to another user.
Update Comment: This action fires when an owner or business administrator of a Task adds comments to a Task. These provide additional information about a Task.
Update Priority: This option triggers an action when the priority of a task is changed.
Release: This trigger fires an action when the current owner releases an Assigned task and sets the task to Unassigned state.
Cancel: This option triggers the Task Definition action when a task is canceled or deleted.
Create: This trigger fires the action when the task is created.
Request Information: Fired when a request for more information is requested. The owner of a task can request additional information regarding a Task from the initiator. The task then moves to the Information Requested state and can be acted on by the owner only after the initiator submits the requested information.
Submit Information: This trigger is fired when the task initiator responds with additional information regarding a Task for which information has been requested. For example, an employee may need to provide information on a specific model of work phone or phone carrier in their area.
Before Expire: Trigger fired before a task is about to expire in order to keep the task progressing forward.
Expire: This trigger is fired when a task has expired. It could be used to cancel the task or reassign it to the initiator or business administrator.
Advantages of Oracle Apex built-in Workflow Tasks
There are several advantages to using Oracle Apex built-in workflow tasks, including:
Easy implementation: Oracle APEX provides a set of pre-built workflow task APIs that can be easily customized and integrated into your application.
Reduced development time: By leveraging built-in Oracle APEX features, developers can significantly reduce the time and effort required to build custom workflows from scratch.
Improved productivity: Using built-in workflow tasks allows users to focus on their core business processes rather than spending time on workflow development.
Consistent user experience: Oracle Apex provides a consistent user experience across all workflow tasks, which can help improve user adoption and reduce training time.
Integration with other Oracle products: Oracle Apex built-in workflow tasks can be seamlessly integrated with other Oracle products such as Oracle Database, Oracle Business Intelligence, and Oracle Integration Cloud.
Flexibility: Oracle Apex workflow tasks can be easily customized to fit the specific needs of your organization, allowing you to create workflows that align with your business processes and goals.
Overall, using Oracle Apex built-in workflow tasks can help organizations streamline their business processes, reduce development time, and improve productivity while providing a consistent and flexible user experience.
In a future article, we will continue exploring the benefits of Oracle APEX by looking into the features available in Oracle APEX Automations.
Mobile push notifications are the most popular type of push notification and are often referred to simply as push notifications or push, and it’s important to follow push notification best practices. They are mostly clickable pop-up messages that appear on mobile screens.
Web push notifications are a way for web apps to send notifications to a user’s device even when the user is not currently on the website. These notifications can be sent to a user’s desktop or mobile device and can be used to alert the user to new content or events on the website or to re-engage the user with the website.
Oracle APEX with PUSH!
These push notifications are well-designed by ORACLE to grab attention and can convey reminders, updates, and promotions. And they appear very elegant with industry-standard features that consist of a message title, body, icon, and link by the user tapping on notifications, then it gets redirected to an APEX app or a specific page of the app.
Apex sends a push notification to a user. All devices that the user subscribed to will receive the push notification.
Enabling this option will:
Add a new navigation bar entry: User Settings
Allow users to subscribe and unsubscribe to push notifications.
When subscribed, users can receive push notifications from the APEX app.
This option is default enabled for any newer applications.
Now , let’s create a sample PUSH application.
Create a new application and choose the Install Progressive Web App and Push Notification methods under the features section.
Note: A couple of new pages #20000 and #20010 appear automatically for this feature.
These setting pages appear because of the Easy Subscription method that lets users allow or disallow push notifications on their device.
Easy Subscription
APEX users can subscribe to push notifications from within their applications, while instance administrators can manage a queue of notifications.
The setup of push notifications can be configured either by Process or API invoke.
A new process type “Send Push Notification” is introduced under the process configuration section and execution point of this process invoke can be of any of its type like Before header , after region or after submit .
This process type comes along with of the supporting components of a process configurations setups like Server-side Condition, Authorization Scheme, Build Option, Comments and Audit Information.
New fields to consider 👍
Under the setting tab:
To:
Username of the application user who should receive the push notification. To receive the notification, the user must have subscribed to the application first. Username is case-sensitive.
Title : Title of the push notification.
Body: Body of the push notification.
Next, the application must be installed first before notification subscription by enabling the notification setting that appears in the top right corner.
Initially, the notification appears as Off.
Push notifications need to be enabled by each user. It works like that to respect user privacy and preferences. By explicitly enabling push notifications, users grant the application permission to send them notifications. This ensures that users have control over the information they receive and can opt out if they feel overwhelmed or uninterested.
Enable push notifications by letting the browser allow it as per the below example.
Subscription enabled.
Then, users log in and install the application to let push notifications appear on their device.
Notification Appears.
We can also send the notifications using a new apex_pwa API.
Windows/Brave & macOS/Brave: supported with privacy settings adjusted. iOS/Safari: with iOS 16.4 or higher — and only in installed PWAs. iPadOS/Safari: with iOS 16.4 or higher — and only in installed PWAs.
In Oracle APEX 22.2 new support for Template Directives is now available for both Classic and Interactive Reports.
Template Directives enable the ability to apply client-side directives to control the formatting of your data returned from SQL.
In the past, when creating an interactive report, developers had no options when it came to formatting special columns, such as multiple values returned for each SQL query line. Now with new Template directives, you can place the formatting in the APEX tool, leaving your SQL queries clean from client-side formatting.
How about an example?
Let’s say a developer needs to display data in an interactive report that contains a column with multiple values.
In the past, developers could only display the data as it was presented in the SQL statement, unless they introduced client-facing code, like HTML items like bulleted lists, or tables, etc, within the SQL query.
Now with APEX 22.2, developers can place any client-facing formatting code outside the SQL statement, making the statement much cleaner to read and maintain.
Lets display data from this table: EBA_DEMO_APPR_APPROVERS.
As you can see the raw data in the JOB_CODES field has a colon-separated list of job codes for each user.
To display data in this table in a report, we have created an APEX Interactive report using the table as the Source.
When displayed without formatting the Job Codes field is shown as it is returned in the SQL statement in an interactive report:
Now, after adding a template directive in the Column Formatting section of the IR, within the HTML Expression field for JOB_CODES, a bulleted list can be displayed
After adding the template directive to the column, the following formatted data can now be displayed
So there you have it. APEX developers no longer need to include client-side formatting logic within SQL queries in interactive reports.
Better yet, the same new Template Directive functionality is now available for Classic reports in APEX 22.2.
What is Oracle APEX?
Oracle APEX is a powerful and widely used low-code development tool that is popular among developers and businesses alike because of its ease of use, robust functionality, and scalability, ability to integrate with other Oracle products, and large community support.
Choose oAppsNet as your Oracle APEX partner
Reach out to oAppsNet today to see how we can help you maximize your investment with Oracle.
Why us?
Oracle expertise: oAppsNet has extensive expertise in Oracle technologies, including Oracle E-Business Suite, Oracle Cloud Applications, and Oracle APEX, among others. This means that they can provide valuable insights and advice on how to best leverage these technologies to meet your business needs.
Customization capabilities: oAppsNet has a strong track record of customizing Oracle solutions to meet unique business requirements. They can help you design, build, and implement custom solutions that fit your needs.
Implementation and support services: oAppsNet provides end-to-end implementation and support services for Oracle technologies, including project management, testing, training, and ongoing support. This means you can rely on them to guide you through the entire process, from start to finish.
Collaborative approach: oAppsNet takes a collaborative approach to work with clients, working closely with them to understand their business needs and requirements. This allows them to provide tailored solutions that are aligned with your business goals.
Proven track record: oAppsNet has a proven track record of delivering successful Oracle implementations and solutions to clients across various industries. This means you can trust them to deliver high-quality results that meet your expectations.
When looking for a partner with deep Oracle expertise, customization capabilities, implementation and support services, a collaborative approach, and a proven track record, oAppsNet may be a good choice for your Oracle needs.