Tag: OPA

Oracle Siebel: Simplifying Data Capture in Siebel using Oracle Intelligent Advisor

Oracle Siebel: Simplifying Data Capture in Siebel using Oracle Intelligent Advisor

Oracle Siebel: Simplifying Data Capture in Siebel using Oracle Intelligent Advisor

Oracle Intelligent Advisor – formerly known is OPA – readily connects to Siebel CRM and provides the ideal means of capturing data through intelligent dynamic interviews. The first half of this webinar gives a functional overview, for business users and IT management, while the second half focuses on the technical aspects of integration.

AWS Accelerated A to Z Intelligent Advisor Install

AWS Accelerated A to Z Intelligent Advisor Install

The other day an esteemed reader of this humble blog asked me a question about installing Intelligent Advisor on Amazon Elastic Cloud. Of course I immediately sugested they try Oracle Cloud instead but the questions were valid and it soon struck me that this site has not, for a long time updated it’s installation posts and guides (notably the Create an OPA Self-Study Series). So I had a few minutes to spare while waiting for a train the other day and I sat down and recorded an example. To assist with the example, which is extremely edited to simply hightlight he key points, here are the things that I needed to install the entire stack for an Intelligent Advisor Install.

  1. I started with Windows 2012 R2 Server as the base image. Old, stable and easy to navigate
  2. I choose 100Gb for the disk size and Large for the image
  3. I downloaded WebLogic Quick Installer
  4. I downloaded Oracle Database 12c database
  5. I downloaded JDK 8 261
  6. I downloaded the latest version of SQL Developer
  7. I downloaded the 20B release of Intelligent Advisor

The install routine is very well documented here online and you could pretty much follow that as-is. my own way of installing in this demonstration focuses at the end on the Data Source, which is often forgotten about during the install. Here are the stumblng blocks you might come across:

  1. Local Security Policy stopping IE from being launched so you cannot install Chrome.
  2. Local Server setup put IE in enhanced security mode which slows everything down.
  3. Microsoft Visual C++ Runtime Missing which stops SQL Developer running. (See the section entitled Note: the Windows EXE requires a MSVCR100.dll to run. Most computers will already have this file and in the Windows PATH. However, if the first copy of the file found by the EXE is a 32-bit copy of the DLL, then SQL Developer will fail to start. You can fix this by copying a 64-bit version of the DLL into the BIN directory or updating your OS PATH such that a 64 bit copy of the DLL is found first.).
  4. Creating the database user for the install with the correct permissions.
  5. Ensuring the Data Source in your WebLogic is targeting the database and can connect / the database name is correct and the data source is accessible from the WebLogic server you created
  6. Ensuring for this demonstration machine that Node Manager is not using a secure connection

As I state clearly in the beginning of this video, this is for demonstration purposes only, and it is entirely your responsibility to ensure that you have licenses, permission and authority to do any of this. Good luck with your Intelligent Advisor Install and do not hesitate to leave a comment if you run into issues.

Oracle Dynamic Siebel Data Capture with Intelligent Advisor

Oracle Dynamic Siebel Data Capture with Intelligent Advisor

Oracle Dynamic Siebel Data Capture with Intelligent Advisor

Oracle Intelligent Advisor – formerly known as OPA – readily connects to Siebel CRM and provides the ideal means of capturing data through intelligent dynamic interviews. The first half of this webinar gives a functional overview, for business users and IT management, while the second half focuses on the technical aspects of integration.

Intelligent Advisor 2020 Virtual Product Strategy Events – APAC

Intelligent Advisor 2020 Virtual Product Strategy Events – APAC

These online events facilitate collaborative discussions with the Intelligent Advisor Product Development, let you hear from other customers about their projects, and give feedback on planned innovations directly to the Intelligent Advisor product development team. This year we plan to make them even more interactive.

This is an excellent opportunity to connect with the Product Development team. This is not a marketing event! It is your opportunity to really have your say and connect with others.

Partners please forward this invite to your customers. You can also register directly on the Oracle OPA Blog. Tell them the OPA Hub Website sent you!

Continuous Delivery – OPA and Postman, Newman and Jenkins #3

Continuous Development – OPA and Postman, Newman and Jenkins #3

Following on from the two previous episodes, (part one / part two) the stage is almost set to move to automation over and above the simple concept of a Postman Collection. In this chapter we will see how to use data files in Postman to facilitate making use of CSV or JSON data in a dynamic way, and we will get Newman up and running. So let’s start with the first element.

In our Collection, we currently have one request which is sending information to OPA and getting a journey time and plan back in response. Great. But we want to test our journey planner with more than one journey. And we want to be able to easily change the journeys without having to mess with our request. So this is where the ability to load data into a Collection from a text (CSV or JSON) file comes in very handy in deed. In pictures

  • Create a CSV file with your data in it. For the project used in this example we would need to have something like this

Collection Data File

Notice the headers are origin and destination. They will become variables that we need to add to our request.

  • Make sure that the request is updated

So now my request looks like this:

Request Modified

Don’t forget to save your request. Now if you go to Collection Runner and run your Collection, you can use the Select File button and select your file:

Using a Data File in Postman

As soon as you select the file, you will see that the number of iterations changes to take into account all the rows in your file. Now when you want to push a new set of journey tests all you need is to change that file. Awesome!

Armed with all of this, we can now move to the next challenge. Postman is great but not everyone wants to use the graphical user interface all the time. How about the ability to run a Collection from the command line? That would be great AND would open up lots of options to running Windows Scripts and the like. Well, the news is good. Newman is the CLI (Command Line Interface) for Postman. Setting it up if you are not familiar with Node.js can be a bit daunting, but let’s just make a shopping list first:

  1. Install Node.js (here)
  2. Install Newman using the Node Package Manager
    This step should be as easy as opening the Node Command Prompt (which got installed in your Windows Start Menu in the first part) and typing something like the following:

    Installing Newman

  3. Run Newman from the Node.js prompt to use Postman Runner with your chosen Collection and Data File using the ultra simple command line.

So the last step might look a little like the following – notice that in the command line you specify the Collection (which you must first export to a file from inside Postman) and the Data File (wherever it is – I put both files in the same location for ease of use. And once the job is done, Newman reports back with it’s own inimitable, Teletext-style display of the output. A word of advice – before exporting a Collection make sure you have saved all the recent changes!

Exporting Ready for Newman


Once the Collection is exported, you might run it like this. This is just a simple example. It is possible to also load environment variables and more to fine tune it.

Newman Command Line

After a few seconds we get the output from Newman. Note the 4 iterations, and that iteration 3 failed due to an excessively long journey time.

Newman Output in Teletext

Now this is of course a major step forward – running Collections from the command line, feeding in data sets just by using a simple command line switch – these features mean we can really now start to think of automation in our approach to testing this project. But we are not done yet. The output from Newman is pretty ugly and we need to change that. By installing Newman HTML Reporter, we can get a much nicer file. Follow the steps in the link and then change your example command line to something like this:

Note the new command line option -r html (which means, use the HTML reporter) and the –reporter-html-export option (with two dashes) which ensures the output file is stored in the folder of my choice. And the HTML output is so much better:

Newman HTML Reporter

What a nice document. So far so good. We can spin these collections with just a command line. But wait a minute, what about running tests when you are not in the office – sure, you could write yourself some sort of Powershell Script in Windows. But what if you wanted to run a set of tests every day at 3pm, then again on Tuesdays, then once on the first Monday of every second month…it would get quite hard. And what if you wanted to send the HTML Report automatically to all your colleagues on the testing team…but only if there were failures?

And so, we march onward to the next phase. See you shortly!

Oracle Policy Automation – Workshop Toronto

Oracle Policy Automation – Workshop Toronto

Oracle Policy Automation – Workshop

A complete, hands-on introduction to all parts of Oracle Policy Automation :

  • Introduction
  • Oracle Policy Automation : Architecture
  • Oracle Policy Automation : Job Roles
  • Oracle Policy Automation : Software
  • Oracle Policy Modelling : Basic Principles
  • Oracle Policy Modelling:  Writing Good Rules (exercises)
  • Oracle Policy Modelling:  Attributes and Data Types (exercises)
  • Oracle Policy Modelling:  Using Functions (exercises)
  • Oracle Policy Modelling:  Interviews (exercises)
  • Oracle Policy Automation:  User Roles and Collections
  • Oracle Policy Automation:  About the Hub Application
  • Oracle Policy Modelling:  Repository Uploads & Downloads (exercises)
  • Oracle Policy Automation:  Deployments & Activations (exercises)
  • Oracle Policy Automation:  Testing Deployments (exercises)
  • Oracle Policy Modelling:  RTF and PDF Forms (exercises)
  • Oracle Policy Modelling:  Validations and Error Management
  • Oracle Policy Modelling:  Entities, Relationships and Instances (exercises)
  • Oracle Policy Modelling: Temporal Reasoning  (exercises)
  • Oracle Policy Modelling:  Writing Rules for Entities (exercises)
  • Oracle Policy Modelling:  Connections and Data Mapping
  • Oracle Policy Automation : Good Practice and Refactoring (exercises)
  • Time for Project Discussions

Basic knowledge of Oracle Policy Automation concepts. Microsoft Office and Windows is assumed. Some knowledge of business software (ERP, CRM or similar) is useful. The target audience is any member (policy designer, modeller, team leader, manager, and administrator) of the Oracle Policy Automation project.


The environment for this seminar is Oracle Policy Automation 12 Latest Version. We supply environments so that customers do not have to pollute their own. Any exercises done can be recovered for later reference.

The course materials provided are copies of all slides used, plus a copy of the best-selling Oracle Policy Automation book Getting Started with Oracle Policy Automation. Cette formation est également disponible en langue française (support en langue anglaise)

Register :  register here and you will receive instructions how to pay. Only paid registrations are considered active. Terms and Conditions apply.

Winners – Where Are You?

Winners – Where Are You?

We appreciate that you have many more important things to think about right now, but we just wanted to remind our recent winners that we are still waiting to receive address information so we can send some wearable goodies. If you want to find out what they look like, then you only have to see what winner Orlando R, sent the OPA Hub Website earlier this month.

Orlando R. is a long time Oracle Policy Automation / Intelligent Advisor practitioner, and we have had the pleasure of crossing paths with him multiple times over the last 15 years or so, from his early years in the Siebel CRM world, to his fanatical use of Oracle Policy Automation today. He is a very respected member of the community and an all-round nice guy as well.

Winners 2019

Here you can see Orlando, one of the winners, modeling his fantastic tee-shirt and winner’s mug. He also, of course, received a copy of the new JavaScript Extensions book in electronic format.

So, Annie and Manohar, please reach out either in the comments here or (better, since you probably don’t want to print your address in the comments) via LinkedIn. We look forward to sending you the prizes.

And it is worth saying, the OPA Hub Website wishes all of our readers and their families the best of everything during these difficult times, wherever you are in the world. As someone who spends nearly 150 days away from home on average each year, it is safe to say that it is a time for adjustment and new opportunities, as well as a time for protecting and nurturing those that I love and cherish. May we all come out of this in a better place than before.

We will continue to post during these times. Have a great day. And if you have not yet participated in the survey, please do.

Whats New in Oracle Intelligent Advisor 20A?

Whats New in Oracle Intelligent Advisor 20A?

The crop of new features in 20A this month can also be filled out with some extra new features that crept into 19D when it was updated about a month after the initial release.

20A General Release

In 20A, the focus is very much on enhancing the connection with Oracle Engagement Cloud. As those who work with it know, up until now getting set up with an Intelligent Advisor interview has required Groovy Script. More importantly, Oracle Engagement Cloud / Oracle Intelligent Advisor integration has lagged behind the others (notably the Oracle Service Cloud, or even Oracle Siebel integrations) in terms of functionality. And finally, in the past it was absolutely awful in performance terms, notably the GetMetaData was renowned, at least where I was working, for taking up to 4 minutes to provide a response.

The performance issues were worked on a while ago, and Oracle have made great strides in that direction, so now it is fantastic to see that the other aspects of the connector are getting some love too:

Dynamic reference data loading – the ability to load in additional data from Engagement Cloud (for example, product catalog or transaction history information) after the user is already part way through an advice experience, Yup, ExecuteQuery comes to Engagement Cloud integrations.

Native Intelligent Advisor control in Application Composer – adding an Intelligent Advisor interview into a subtab of an agent workspace no longer requires groovy script. Essentially a “plug and play” drop-in component for your Oracle Engagement Cloud subtab.  You can read more about it here.

Connector support for the Case object – Given the broad reach of Oracle Intelligent Advisor (benefits, law enforcement and so on) in the Public Sector and other “case focused” industry use cases, Case records can now be loaded, updated and created directly from Intelligent Advisor interviews. This includes support for  child objects of case (contact, household, message, resource and custom child) within the same interview. For further details, you can click here.

As a final, fun bonus – this time not related to Oracle Engagement Cloud – Image Control Extensions come to JavaScript! Very cool, since I have a friend and customer who has been waiting for this for a long time. Thanks to Oracle Intelligent Advisor Development for delivering it. We’ll be showing an example in the coming days. You get stuff like this:

  • getImageSource() – Returns the URL of the image to be displayed
  • getLinkUrl() – (Optional) Returns the URL of the link the user should be navigated to when they click on the image
  • openLinkInNewWindow() – Returns true if the image’s link URL should be opened in a new window
  • getHorizontalAlignment() – Specifies the horizontal alignment of the control
  • getWidth() – Returns the width of the control in pixels
  • getHeight() – Returns the height of the control in pixels
  • getCaption() – Returns the image description (alternate text)

If you want to learn about Control Extensions, you can read the book.

There are a few other enhancements, notably a versioned authentication in REST. But the OIA team have once again moved the bar higher and I think they deserve a big round of applause.

Oracle Policy Automation – Atelier Pratique (Québec)

Oracle Policy Automation – Atelier Pratique (Québec)

Oracle Policy Automation – Atelier Pratique (Québec)


Ce séminaire de deux jours initie les stagiaires à une présentation complète de l’environnement Oracle Policy Automation 12, version 2019. Les exercices pratiques renforceront les présentations sur les stratégies de modélisation, l’administration de l’équipe, le déploiement, la collaboration et l’intégration.

La plateforme OPA est composée de deux éléments principaux: l’outil de conception Oracle Policy Modeling et la couche serveur Oracle Policy Automation.

Sur demande du client, ce contenu peut être étudié plus en détail. Nous restons bien entendu ouverts à toute demande de personnalisation selon le contexte métier ou technique. Une proposition personnalisée sera alors fournie.


Le séminaire ne suppose aucune connaissance d’Oracle Policy Automation 12. Une connaissance de base de Microsoft Office et de Windows est obligatoire. Une certaine connaissance des logiciels de gestion (ERP, CRM ou similaire) sera fort utile. Le public cible est toute personne, (concepteur de règles, modélisateur, chef d’équipe, gestionnaire et administrateur) membre d’une équipe de projet Oracle Policy Automation.

Un ordinateur portable Windows avec Word et Excel installés. Un guide de téléchargement vous sera fourni avant le début du cours afin de préparer votre atelier. Une connexion Internet sera fourni pendant le cours.


L’environnement cible de ce séminaire est Oracle Policy Automation 12, dernière version disponible.


  1. Introduction
  2. Oracle Policy Automation: Architecture
  3. Oracle Policy Automation: Rôles
  4. Oracle Policy Modeling: principes de base
  5. Oracle Policy Modeling: attributs et types de données
  6. Oracle Policy Modeling: utilisation des fonctions
  7. Oracle Policy Modeling: Enquêtes HTML
  8. Oracle Policy Automation: Travailler en équipe
  9. Oracle Policy Modeling: Téléchargements et déploiements
  10. Oracle Policy Modeling: versions et emplacements des concentrateurs
  11. Oracle Policy Modeling: débogage et tests
  12. Oracle Policy Modeling: formulaires RTF et PDF
  13. Oracle Policy Modeling: entités, relations et instances
  14. Oracle Policy Automation: Tour d’horizon des Web Services SOAP et REST
  15. Résumé

Le support de cours

  • Une copie PDF des diapositives
  • Une copie PDF des exercices pratiques pour chaque module du cours
  • Un accès à un environnement OPA en direct pendant le cours
  • Un exemplaire du livre Getting Started with Oracle Policy Automation

Les horaires

09h00 – 17h00 avec une pause de 60 minutes pour le déjeuner et deux courtes pauses (matin, après-midi) de 10 minutes.


Inscrivez-vous en cliquant le bouton ci-dessus. Vous serez contacté par notre équipe commerciale pour les modalités de règlement.

Fun with Aliases and Strings #2

Fun with Aliases and Strings #2

Returning to the ” Aliases and Strings”  theme of the previous post, where we looked into an example of String concatenation. Just a reminder, in the previous article you created the entity model and set up a couple of relationships, before using a rule to decide if the ticker tape instance is a member of a relationship called  the next ticker tapes.

So here is the continuation of the document you saw in the previous steps:

Aliases and Strings #2

The first part should look reasonably familiar, since it builds on the example with the next ticker tapes. But is uses the second relationship, called the closest ticker tape. Note the wording closest ticker tape not ticker tapes. We are aiming for the closest one, or if you prefer, the next one in line. So for ticker tape number 3, the closest would be number 4.

Dodgey Ticker

We again use an alias, but things get a bit sticky in the following parts. Where did the further ticker tape come from? Well, perhaps unsurprisingly, it’s another alias. You see, we already used the other ticker tape in the conclusion so we need to use another word : in this case further was my personal choice, but it could have been another word that meant something in this context. So by now we have the following, expressed in conversational style :

Compare ticker tape A (with other tapes, let’s say B, C and D). B,C or D will be called the closest ticker tape if the following is true.

  1. B,C or D have an ID that is higher than the ID for A
  2. Using the next ticker tapes as your starting point (so, B C and D)
  3. Compare them (so B compared to C, B compared to D etc) to this rule
  4. Is B’s ID is less than or equal to C (for example)?

So we end up with the ticker tape that is in the next ticker tapes AND has an ID that is less than or equal to the other next ticker tapes. So it is the closest one.

I’m reminded of this excellent conversation from Monty Python since it can get a bit confusing at first:


The final rule concerns whichever ticker tape has the longest string. And that string is what you are about to create, for each and every instance of your entity.

We’re coming with you!

You will generate a string of text for each of the entity instances (so, for each of the ticker tape instances). And this string will be the driver of a logical loop.

Firstly, let’s set your scene and remind of the context:

  1. “Text 1”
  2. “Text 2”
  3. “Text 3”

Each ticker tape has a text message, for example “Text 1” . This message should be concatenated with the other text messages to form a long “final” string. Each should have a comma inserted between them, into the final string, and of course a “.” at the end. Just to make a nice tidy “final” string. It might look like “Text 1, Text 2, Text 3.”.

Aliases and Strings #2

So each instance has a text string, and a “final text”. The “final text” will be the ticker tape text string concatenated with the closest ticker tape’s text string, plus a comma if required – for example if there are no “next ticker tapes” for a given tape, it’s because we have reached the end of the instances (number 4 , if there is no number 5).

The following attributes give us the numbers used in the table above:

Aliases and Strings #2

And the final (final) global attribute:

Final String Result

Aliases and Strings #2

In the next part of this series, there will be a chance to look back on the techniques, observe the warning message and generally investigate your logical loop.

Aliases and Strings part three will be with you in a few days, In the meantime of course you can read the online help here.

Logo by Southpaw Projects LLC