Getting Started With Firing Events and Triggering Customizations
By Richard Bingham-Oracle on Jun 30, 2014
We're often asked 'what options exist for firing my customizations?' (example). For on-premise deployments you can leverage the standard hooks in ADF and ADFbc, SOA, ESS, etc - with the only limitation being by the degree to which you wish to implement customization. This article therefore concentrates on Oracle Cloud (SaaS) implementations, providing information and observations on what is available at the time of writing (Release 8). It's a strong focus area within product development, so we'd also recommend you review each product release for exciting new capabilities as well.
In many cases, the points where the addition of custom triggers makes sense you'll already find options to configure the system. This is usually done through the Setup and Maintenance screens, such as using additional financial services like Vertex for tax calculation. For more details see the individual Implementation Guides for each product.
On similar lines, you can create a new Enterprise Scheduler Service (ESS) jobs for running custom reports that contain data from various sources, either ad-hoc or based on a predefined schedule. For on-premise instances you could also include your custom programs and scripts in the job (or job set), and custom wire it into the application directly (e.g. from a page submit). For more details see our overview video, our getting started with ESS whitepaper, or the related documentation.
Triggers from BPM and SOA
SOA represents the industry standard for deploying related events into a complete business process, and full BPEL customization is supported for your on-premise applications. For SaaS deployments the equivalent Oracle Business Process Management (BPM) flows can be triggered through Application Composer using the Object Workflows feature. Oracle provides a seeded standard approval process (CrmCommonSerialApprovalProcess) for use here, however new custom processes with basic functionality can also be used. For an example see this video:
Similarly HCM’s Workforce Deployment product allows you to not only adjust the seeded steps for pre-boarding and on-boarding your employees, but within the ‘Register Workforce Business Process’ setup task it permits the selection of new BPM processes you’ve added. The features available continue to evolve with each release, and you can read more about the options and mechanisms available in the related HCM documentation or in the new public help portal.
Calling Extension Applications
As well as adjusting the setup of existing process flows in the application often the goal is to add or extend them to fire extra activities. For SaaS implementations this usually means calling an externally hosted API, such as your custom application running on the Oracle Java Cloud, described in these integration posts. So in addition to the setup options mentioned above, the following is a list of other areas where you could include various kinds of remote calls.
- Within Application composer you can configure an Object Workflow to fire a custom ‘Outbound Message’ action, which is a SOAP web service call that includes the data for the current object record (e.g. a sales lead). This asynchronous trigger can be used to spawn activities hosted in self-contained external systems.
- Application Composer supports making web service and other API calls directly from Groovy, commonly implemented through a Field/Object Trigger or perhaps as a button via an Action/Link (as in this example video). Indeed if you are using Oracle Sales Cloud, then you may wish to also review our post on where you can add custom Groovy code into the application.
- Adding new tabs and regions to pages using Page Composer or Application Composer allows you to make remote HTTP-based requests, with input parameters included in the URL. This also includes some options for adding basic context logic via Expression Language (Page Composer) or Groovy (Application Composer). Take a look at this simple example video showing the city field passed to the Google Maps API.
- Page Composer features permit the addition of iframes as the source for a custom region allowing the pages and output of another application to be embedded (videos here). Angelo also gives some examples on his blog.
- The standard Navigator Menus and the sidebar Task region links can also be pointed directly to external applications, opening URL’s in a new browser session and potentially passing in runtime parameter data. See the example video here.
- More advanced BI Reports and Analytics could be developed that when rendered include external data, such as using a data source based on an external web service. Vice-versa BI reports can be also be invoked from remote systems too, see our existing blog post.
Although simple, many customization requirements include support for changes to the standard approval processes (examples) and their related notifications. In some cases you can adjust the standard notification content to meet your needs, as explained in this video. In addition the standard BPM Worklist Tasks feature includes email notifications and these are used by most products. BPM Tasks can also be triggered via Application Composer Object Workflows, again shown in the enbedded video above.
Finally Object Workflows allows you to define pre-built email notification templates that can include runtime data and groovy triggering condition logic.