Releases: flowsforapex/apex-flowsforapex
Release 24.1
Changes in this Release
- Adds JSON-typed process variables.
- Adds APEX Simple Form type of BPMN UserTask, allowing a user input form to be specified as a JSON document.
- Adds BPMN-Color support into the Modeler and Viewer, allowing shading of BPMN objects on a diagram.
Colors can optionally then also be shown in the process viewer. - Enhancement to BPMN Viewer to allow task start from the viewer.
- Enhances flow_admin_api so that a diagram can be 'released' from the API.
This is useful for remote deployment of diagrams into production environments. - Change storage of the APEX Task ID from a process variable to inside flow_subflows for use of APEX Human Tasks.
- Fixes a bug preventing rescheduling interuptable timers on subflows having a previous interrupting timer event.
- Adds a new example application that can be used as a process hub for end users to start new processes.
- Required APEX version increased to APEX v22.1
Installation Instructions
1. Fresh Install
2. Upgrade from Flows for APEX v23.1
3. Enabling the REST API
Use the steps as documented in the installation instructions.
4. If you upgrade APEX to a new version after installing Flows for APEX
If you upgrade APEX to a new version, you will see a message when opening the Flows for APEX application.
Follow the instructions outlined here, to make Flows aware of the upgrade.
Release 23.1
Changes in this Release
- Adds Due Dates and Priorities to bpmn:processes and to bpmn:userTasks, allowing declarative tracking of scheduling, priority and due dates.
- Adds Task Assignment to bpmn:userTasks, allowing easier declarative assignment of tasks to potential users and groups.
- Adds REST-enabling of the Flows for APEX API
- Major upgrade to the BPMN Modeler, with new, modern-looking properties panel.
- Enhanced support for modeling and viewing of collapsed subProcesses that can be easily expanded / collapsed.
- Adds support for BPMN Child Lane sets, allowing nesting of lane sets inside parent lanes.
- Adds explicit definition of relationship (or not) between Lanes and APEX roles/groups.
- Adds Timestamp with Time Zone datatype option for Process Variables.
- Adds binding of Process Variables into PL/SQL scripts, variable expressions, and element settings.
- Adds support for binding non-varchar2 typed (i.e., number, date, timestamp with time zone) process variables.
- Allows process variable substitutions to be used in all of the parameters of an APEX Page task.
- Adds 'is Startable' information to Processes, along with users and groups that can start a process.
- Allows BPMN diagrams to contain Groups and attached Annotations.
- Adds Automation to create daily, month-to-date, monthly, and quarterly statistics on process and step performance.
- Enhances Flows for APEX Application dashboard to display process and step performance, errors, and waiting time statistics.
- Adds auditing / logging of changes made to process diagrams, to complete the existing logging capabilities
- Adds the ability to create a summary document, as a JSON document, describing all actions taken to run a process instance.
- Adds an Automation creating archive summaries for all recently completed process instances into an archive table or OCI Object Storage.
- Adds an automation for automated purging of old logging data and statistics summaries.
- Allows an administrator to easily change the timer polling frequency, or temporarily enable / disable timers on non-production systems.
- Experimental Feature - Adds MessageFlow between sendTasks, receiveTasks, Intermediate Message Catch and Throw events. Phase 1 of more...
- Adds support for additional languages Italian, Simplified Chinese, Traditional Chinese, Korean.
- Required APEX version increased to APEX v20.2
Installation Instructions
1. Fresh Install
2. Upgrade from Flows for APEX v22.2
3. Plugin for APEX Approval Tasks Integration (APEX 22.1+)
- Download the file
f4a_approval_return_result_plugin.sql
. - Import the plugin into your application.
- More information can be found in our documentation.
4. Enabling the REST API
Use the steps as documented in the installation instructions.
We also include a Postman Collection and the OpenAPI specification in the release assets.
FlowsForAPEX_v23.1_Postman_Collection.zip
FlowsForAPEX_v23.1_openapi_3_0_0.yml
5. Combined Task List for APEX Approval Tasks and Flows User Tasks
If you are running on an APEX release which support Approval Tasks you might want to run FlowsForAPEX_v23.1_Combined_Task_List.sql
as the Flows schema from the assets below.
This view allows you to have a combined view of Flows & APEX Tasks.
You can find more information in our documentation.
6. If you upgrade APEX to a new version after installing Flows for APEX
If you upgrade APEX to a new version, run the after_apex_upgrade.sql
script as the Flows for APEX user after upgrade. You will be prompted / reminded to do this on opening the Flows for APEX application if it detects that APEX has been upgraded.
Bug Fixes
Issue 681 - Logging of Step Key, Due Dates and Priority.
Adds Step Key to subflow_log and step_event_log so that a unique task identifier is present in the logs. Also corrects an omission of priority and due date information from the logs. Step Key, Priority and Due Due are also added the instance summary JSON document.
You should NOT run this after running the combo-675-676-681.sql script. You can run the combo-675-676-681.sql script instead of running this script (better option).
To install - Run the fix-681.sql script as the Flows for APEX user.
Issues 675, 676 and 681 - Support for Oracle Database 23c (23.3.0)
This provides support for Oracle Database 23c (23.3.0) by fixing an issue in Flows for APEX and providing a workaround for a database 23c 23.3.0 issue. Running on 23c requires issue 681 to also be fixed, and so is released as a combo script that fixes issues 681, 675 and 676. It can be run if 681 has or has not already been fixed. This script can be run on 19c or 23c databases.
To install - Run the combo-fix-675-676-681.sql script as the Flows for APEX user.
Issue 690 - Updating Flows for APEX after upgrading APEX version.
The Flows for APEX app added compatibility checks on startup in 23.1 to check that the app is being used on the matching engine version, and to check if APEX has been upgraded. If APEX has been upgraded, a script is required to updated the environment parameter and then to re-compile all of the Flows for APEX PL/SQL packages. This script was omitted from the distribution, but is provided here as after_apex_upgrade.sql
. If you upgrade APEX to a new version and receive a warning, run this script as the Flows for APEX user.
Release 22.2
Changes in this Release
- Adds BPMN Call Activities, allowing a process diagram to call another process diagram, passing and returning in/out variables.
- Adds scoping to process variables at diagram level to support call activities.
- Support for timer, escalation, and error boundary events on call activities.
- Adds support for Oracle APEX Approval Tasks when running with APEX v22.1 and above. Approvals are called as a type of bpmn:userTask.
- Adds an Approval Result Return process plug-in for declarative configuration of Approval Tasks.
- Adds support for Gateway Routing Expressions, defined as part of each forward path from an Inclusive Gateway or Exclusive Gateway.
- Adds process variable bind syntax (:F4A$myvar) to bind varchar2, number, and date variables into Gateway Routing Expressions.
- Adds error detection to Inclusive and Exclusive Gateways when no Routing Variable is detected and Gateway Routing Expressions are present.
- Adds support for integration of Flows for APEX userTasks into the APEX v22.1+ Unified Task Inbox through custom Task Inbox views. (Note that this functionality may change in upcoming APEX and Flows for APEX releases).
- Makes processVariable naming case-independant, so that myVar and MYVAR are the same variable.
- Creates an APEX session for non-APEX originated end points, ensuring that variable expressions, debugging, etc. work correctly from non-APEX API calls, after timers, from test engines, etc.
- Changes Lane processing from parse-time to step-run-time to facilitate call activities with or without lanes in any involved diagram.
- Internally enhances storage of parsed BPMN object attributes using JSON structures in place of the flow_object_attributes table.
- Simplifies translation framework, allowing contributors to more easily supply translations to be incorporated into the product.
- Adds new translations to support Brazilian Portuguese (pt-BR), German (de), Spanish (es), and Japanese (ja).
- Enhanced engine testing regime now introduced through utPLSQL regression test suites.
- Enhanced sample app "Expense Claims" to reflect features added to Flows for APEX v22.2.
Installation Instructions
1. Fresh Install
2. Upgrade from Flows for APEX v22.1
3. Plugin for APEX Approval Tasks Integration (APEX 22.1+)
- Download the file
f4a_approval_return_result_plugin.sql
. - Import the plugin into your application.
- More information can be found in our documentation.
Bugfixes
- Active Timers are missing the needed values for creating an APEX session when needed. (see issue #563)
This is fixed with the scriptmigrate_active_timers.sql
, run this script immediately after the upgrade. - Issue 570. If Diagram Name is longer than about 90-100 characters, an error can occur when opening or copying a diagram. This fix allows 150 character diagram names. Run this script as the Flows for APEX owner to update flow_engine_app_api package body.
- Issue 652. Duplicate rows in flow_sublows_vw when boundary timers get terminated by a complete step of the user task
Release 22.1
Changes in this Release
- Adds repeating timers for non-interrupting boundary events - facilitating repeated reminders.
- Adds BPMN Business Rules Task type,
which can accept user-defined PL/SQL script for linking to credit scoring, ML models or other automated decision tasks. - Adds the ability to declaratively define sending an email from a Service Task
- Improves Timer Usability, by allowing timers to be specified using Oracle data and interval syntax in addition to ISO 8601 format.
- Improves multi-user integrity by adding a unique Step Key as part of the context for each process object.
- Improvements to the Flow Engine Application, with enhancements to the Flow Modeler:
- Addition of the Monaco text editor for PL/SQL input to variable expressions and script code entry.
- Use of APEX metadata in UI for specifying links to APEX pages and page items.
- Enhances the step operations plugin so that it can issue the flow_start_step command.
- Separates private and public calls and views used by the Flow Engine Application to ease reuse by customer apps.
- Added flow_globals.step_key and flow_globals.business_ref to get these values.
- Enhanced the sample app "Expense Claims" to reflect all features added to Flows for APEX 22.1.
Upgrading from 21.1 without SQL*Net access
Download the supplied file no_sqlnet_migration.zip, which contains to SQL scripts you can then run using SQL-Workshop.
Hotfixes
- Migration issue for customers upgrading from v21.1 or earlier who have in-flight process instances to migrate
Hotfix #423 is available for this issue.
Check attached file issue-423.sql - XML Migration could lead to variable expressions not recognised by Modeler.
Hotfix #425 is available for this issue.
Check attached file issue-425.sql - Interrupting Boundary Events not executing correctly. (see Issue #437 for details).
Hotfix #437 is available for this issue.
Check attached issue file issue-437.sql - get_objt_list was limited to 4000 byte and failing on big diagrams. (see issue #514 for details)
Hotfix #514 is available for this issue, check attached file issue-514.sql
Release 21.1
Changes in this Release
- Introduces model-based declarative process variable expressions to set process variables before and after each step.
- Introduces 3 process plugins to ease application integration:
- Manage Flow Instance, for controlling instance creation, starting, termination, reset and deletion.
- Manage Flow Instance Step, for controlling step start, reservation, release and completion.
- Manage Flow Instance Variables, for transferring process variable content to and from APEX page items.
- Introduces Transaction Safety, making each process step a separate database transaction.
- Introduces new Instance Status of 'error' and 'terminated' to signal abnormal instance conditions.
- Introduces new Subflow status of 'error' signalling an abnormal condition.
- Steps halted with error status can be re-started after an administrator fixes the problem.
- Introduces Monitoring and Auditing event logs of Instances, instance steps, and process variables
- Major upgrade of the Flow Engine Application, with enhancements to the modeler, viewer, and the app UI.
- App: enhanced UI, including support for dark mode
- App: Flow Monitor additionally supports side-by-side and multi-monitor support for administering larger systems.
- App: Multiple models export/import
- Modeler: Properties panel can now be expanded by dragging
- Modeler: Supports Cut, paste, zoom, keyboard shortcuts, and save of model components
- Viewer: Clicking on an object opens pop-up containing definition, status and history.
- Viewer: Allows export of process status diagrams.
- Addition of (optional) flow_start_step API call used to gather wait time vs. processing time statistics.
- Addition of flow_terminate API call to allow an administrator to stop an instance without having to delete it.
- Adds a built-in process variable BUSINESS_REF to link a flow instance to its underlying business object.
- Makes process_id and subflow_id available to scripts and expressions through flow_globals.
- Adds a configuration option to allow editing of models in a development environment without strict versioning enforcement.
- Modifies behaviour of flow_reset to delete all non-built-in process variables.
- Disables (non-operative) cycle timers from all timer event types.
- Allows Inclusive Gateways to be used as 'merge-then-resplit' gateways.
- Allows process variables to be deleted.
- Introduces a flow_configuration table containing configuration parameters, initially for audit and language settings.
- Makes Engine App and engine error messages available in French language.
- Removes deprecated V4 API calls.
- New sample app "Expense Claims".
Hotfixes
- Performance issue on flow_instances_vw, flow_instance_details_vw and flow_task_inbox_vw views
Hotfix #345 is available for this issue
Check attached file issue-345.sql - Lane name truncated at 50 characters
Hotfix #361 is available for this issue
Check attached file issue-361.sql - flow_p0005_api compilation error on Oracle DB 12.2
Hotfix #377 is available for this issue
Check attached file issue-377.sql
Release 5.1.2
Changes in this release
- Added business reference to views
- flow_task_inbox_vw
- flow_instances_vw
- flow_instance_details_vw
- Introduced the demo app "Holiday Approval"
- The demo app "Order Shipment" is now deprecated
Hotfixes
- When using diagram name and diagram version to start a flow you could run into TOO_MANY_ROWS exception.
Hotfix #215 is available for this issue.
Check file hotfix/issue-215.sql in the master branch or attached file. - Performance issue on flow_instances_vw, flow_instance_details_vw and flow_task_inbox_vw views
Hotfix #345 is available for this issue
Check attached file issue-345.sql
Release 5.1.1
Changes in this release:
- Fixed several bugs occuring when all of the objects after an event object or a gateway are scriptTasks or serviceTasks, causing process not to be marked as Completed when finished.
- Fixed a bug causing the first task after an Interrupting Escalation Boundary Event to be skipped
- Fixed bug preventing flow monitor showing process progress in extremely large and repetitive models
- Fixed a problem with diagram export file names being too long
- Fixed serviceTask missing engine option for type "Run PL/SQL code"
Release 5.1.0
- Introduces process diagram versioning and lifecycle management
- Supports diagram import and export to XML or SQL files from the Flows for APEX application
- Adds process categories to aid management of business processes
- Enhanced user interface to support versioning and categories
- Adds plain PL/SQL option for Script Tasks and Service Tasks to allow automated tasks to execute following a timer
- Fixed bug preventing processes with nested open parallel gateways from completing
- Fixed bug preventing long duration (months, years) timers from starting
- Updated bpmn.io libraries
- Added upgrade support to installation process
- Hey, we even have our own logo now!
Release 5.0.1
Changes in this release:
- Enables process variables to be used when specifying timer definitions
- Fixed bug that rises when reusing an ID across flows
- Added tutorial Flows for beginners in BPMN 2.0
- Added pagination on the flow control page
- Added a Getting Started page
- When processing timers errors that occur mark respective timer as broken but don't break job anymore
- Added "Add Gateway Route" to Flow Control for convenience when adding a process variable for a gateway
Release 5
Changes and new Features in Release 5
- Support for userTask objects that can now run an APEX page, defined inside modeler
- Support for scriptTask objects that can run a PL/SQL script, defined inside modeler
- Support for serviceTask objects that can run a PL/SQL script, defined inside modeler
- Support for Timer Boundary Events on Tasks, User Tasks, and Sub Processes (interrupting and non-interrupting)
- Support for Escalation Boundary Events on Sub Processes (interrupting and non-interrupting), along with Escalation Throw Events and Escalation End Events.
- Support for Error Boundary Events on Sub Processes, along with Error End Events.
- Support for Timer Events on startEvents, intermediate Catch Events, and Boundary Events.
- Support for Sub Processes with multiple end events.
- Support for Terminate End Event inside a Sub Process.
- Support for Link Events.
- New plugin for BPMN Modeler removes size limits for models and eases modeler integration.
- Model Linting in the Modeler
- Process Variable System providing persistent process variables.
- Task Inbox view
- Task Reservation System to support multi-user lanes.
- PL/SQL API Changes to support reservation.
- Processes now flow through automatically, using process variables to decide on gateway routing.
- Enhanced "Order Shipment" demo.
- Enhanced Flows for APEX Mnitoring app.
- Enhanced documentation.
- Cleaner flow_api_pkg by separation of engine components into flow_engine