Welcome to the OPA Hub!

Category Archives: eLearning

New Quizzes – New Prizes!

New Quizzes – New Prizes!

Our Quiz-making team has been hard at work setting up more quizzes to keep you entertained. We now have a grand total of 10 quizzes for you to practice your skills on (go to the Quizzes option on the main menu of this site). Plus, to give you even more of a challenge we have introduced the Complete Prize OPA Quiz for 2019. It contains all 100 questions from the individual quizzes, rolled into one quiz with 100 questions and only 90 minutes to finish it.

It will be reset each month (you can only take the quiz once per month) and new questions added / old questions removed as months go by. For our first month we are  offering a $50 US Amazon voucher to the winner, to be decided on 28 February – since January is almost finished. Find out more here. The runner-up will receive the OPA Hub Official T-Shirt, and the third place an OPA Hub Official Mug!

Get Prepared

Here are the links to the individual quizzes. Our research shows that these help new-starters get an idea of their knowledge gaps, and help build confidence in the product. It doesn’t matter if you are just having fun or perhaps you are preparing for an interview or even the Certification exam, they can be helpful and certainly will test your reflexes. For these new quizzes we have added some “non Multiple Choice” questions – drag and drop, sort and order that kind of thing – to give your mind something a little different to focus on.

Individual Quizzes

Oracle Policy Automation Quiz : Part One (10 questions, timed)

Oracle Policy Automation Quiz : Part Two (10 questions, timed)

Oracle Policy Automation Quiz : Part Three (10 questions, timed)

Oracle Policy Automation Quiz : Part Four (10 questions, timed)

Oracle Policy Automation Quiz : Part Five (10 questions, timed)

Oracle Policy Automation Quiz : Part Six (10 questions, timed)

Oracle Policy Automation Quiz : Part Seven (10 questions, timed)

Oracle Policy Automation Quiz : Part Eight (10 questions, timed)

Oracle Policy Automation Quiz : Part Nine (10 questions, timed)

Oracle Policy Automation Quiz : Part Ten (10 questions, timed)

Have Fun!


Oracle Policy Automation Quiz Leaderboards

Oracle Policy Automation Quiz Leaderboards

Oracle Policy Automation Quiz - LogoIt seems to  be Oracle Policy Automation Quiz Month here on the OPA Hub Website. Lots of readers are taking part in the Oracle Policy Automation Quizzes here. Of course I suppose many of them might be preparing for their Oracle Policy Automation Certification (I’m thinking of the Oracle Policy Automation Cloud Service 2017 Certification in particular), but I suspect some people just like to test themselves and see how they measure up to their peers. The quizzes are quick-fire (since there are only 10 questions in each) and they can be something to do during a coffee break I guess.

With that in mind, I thought I would publish the Leaderboard for the first two of the quizzes – there are four, and the fifth is going to be released this week so watch out for Part Five. Once we reach the magic marker of 100 questions, then we will package it into a single Quiz and set the timer to mimic the duration of a certification examination, for those of you who like to have a frisson of stress when doing this sort of thing.

OPA Hub Quiz Part One Leaderboard

These leaderboards are generated on the fly, so they may take a couple of seconds to display. For the sake of brevity they only show the top fifteen or so placed players.

Leaderboard: OPA 12 Certification Preparation Quiz #1

maximum of 10 points
Pos. Name Entered on Points Result
Table is loading
No data available

OPA Hub Quiz Part Two Leaderboard

Leaderboard: OPA 12 Certification Preparation Quiz #2

maximum of 10 points
Pos. Name Entered on Points Result
Table is loading
No data available

Keep watching the OPA Hub Website this week for the release of the next part of the Quiz, with ten new all visual questions (you know the ones that show you the same image five times and ask you to make declarations about it)! Thanks to all the players (especially Bob, who seems to have had a good time!. See you soon on the OPA Hub website, hopefully for a quiz or three.

Back to Basics 5 – Using the Go To Button in Oracle Policy Modeler

Back to Basics 5 – Using the Go To Button in Oracle Policy Modeler

Alright so this one is a bit strange, but I wanted to point out a piece of screen Real-Estate that in my humble opinion does not get used enough. The Go To Button in Oracle Policy Modeler in the Microsoft Word Ribbon that you see when you are editing Word Documents using Oracle Policy Modeler. Let me demonstrate by showing you a screenshot, as this will hopefully make things clear.

the Go To Button in Oracle Policy Modeler

To be honest, the name on the button bugs me. It is not really a “Go To” button at all. For me, luddite that I am, “Go To” means go somewhere in my document. And while the Go To button in Oracle Policy Modeler does indicate location, it does not go anywhere. In fact you have to put your mouse on the relevant item to get it to work. It is more a “what’s here?” button if you ask me. And yes, it tells me of the different properties of the item I have put the cursor on. Like this:

the Go To Button in Oracle Policy Modeler -- Results Window

As you can see in the screenshot above, the mouse was clicked on the conclusion. Then the Go To button was clicked. The dialog that was displayed reveals the text and any locations it appears in the Project (for example if you have your logic in two separate Word files, they will both appear here). In addition there are shortcut buttons to edit the Attribute or jump into the Oracle Policy Modeler Debugger. But the best part, if you ask me, is the ability to pin the window and open one, or many, more at the same time. Sometimes when debugging a document written by someone else it can be useful to have these all displayed as reference points – or just because you are trying to keep track of several things at once. If you pin a window, you can go right ahead and “Go To” again on another Attribute or whatever takes your fancy.

the Go To Button in Oracle Policy Modeler Pinned Wiindows

This picture is too big to display immediately so you can click it to go to full size. These simple things can be the source of saved time and heartache – for finding misspellings and so on – and I’m happy to be talking about them here on the ODE OPA Blog. Oh, and I did a little dance just now as we passed the 100 post landmark. Woohoo!

Getting Started With Oracle Policy Automation Book Now Available

Getting Started With Oracle Policy Automation

The book is now available on Amazon UK, Amazon India and Amazon United States, all of which you can access from our Online Shop here on ODE OPA Blog. I look forward to having some fun with it in the coming weeks, notably in the courses coming up in May, June and beyond.

Update : A common request has been to be able to buy the book outside of Amazon – well, now in addition you can place worldwide orders using another shipping service.

Update : Response to the book has been positive and I look forward to creating more content on this site and preparing the second edition!

Update December 2016

Getting Started With Oracle Policy AutomationThanks to the many people who bought the first version of the Book. Like a lot of guides and other similar material, the first version was never considered to be the endgame, so as soon as the first version was released we began collecting the feedback, correcting the errors and building out some of the areas where, for the sake of brevity, the book did not go first time around. The result is almost ready.

The new, expanded release of the book (20 chapters, about 250 pages) is expected to enter final draft in December 2o16. Watch out for it in the Amazon bookstore and elsewhere, probably before the end of January 2017. Happily this will allow for the new features of the December 2016 release to be included in the next version of the book, as well as some of the updated content that has been on this site in the last few months (with more text, example and so on!)

Oracle Policy Automation : Things I wish I had known…

Oracle Policy Automation: Things I wish I had known…

I’m really pleased to say that the team at P8 Tech have helped me wrap up the forthcoming Getting Started With Oracle Policy Automation and the book has now gone onsale from a variety of online bookstores. I sincerely hope that it helps people get familiar with the Oracle Policy Automation family (Modeler, Mobile, Hub) in a fun and interactive way, to prepare them for their training, their job or their certification examination. It is available in paper or PDF format.

In the spirit of “Things I wish I had known …?” I thought it might be fun to highlight the sort of content you can expect to find in the book. The Book is, in my humble opinion, a great self-study tool for anyone getting into the product, or who is waiting for / coming out of their Oracle University Training. And the title pretty much says it all. Of course the book tries to get rid of these hindrances, and many many more as well.


Update : Book Now Available

You can find out more on the official Getting Started with Oracle Policy Automation book page. Of course this website will also be continuing to cover Oracle Policy Automation and I’m sure we will revisit some of the content in the book, to extend it, translate it or otherwise give more examples.

Update : Second Version On the Way

At the time of this latest update, the second version  of Getting Started with Oracle Policy Automation is currently about to enter final draft stage, with 20 chapters (5 new) and 250 pages already in the bag. This greatly expanded and reviewed edition builds upon the format of the first and introduces yet more content to ensure you get started more efficiently and more effectively. Look out for the release of the book, probably in January 2017.

OPA – Quiz Question #1 OR

A Quiz Question for you

Stepping away from our series on Entities this week, I am sharing with you all a question I often ask during the Oracle Policy Automation training to my students. I ask it for three main reasons

  1. It helps to understand the Engine and the inferencing process
  2. It’s fun and a great way to challenge yourself
  3. It is good preparation for the sort of question that you might get in the Certification examination.

Of course this is an easy one – it is meant to be – but it certainly helps get students thinking about how to optimize the Web Determination experience and how to structure their work. I am also a great believer in the need to include this sort of thing in training sessions. Too often nowadays it has become a “knowledge transfer” with someone reading out loud a script and a bunch of slides. I find it hard to believe that the new “virtual learning” revolution has come down to that.

Anyway enjoy and we will be back in the Workshop for more Entities Adventures very soon.

OPA Quiz Question 1 - Web Determinations

Something to think about

The Oracle Policy Automation Certification, as it is sometimes called (incorrectly) is in fact actually called “Oracle Policy Automation 10 Rule Developer Essentials 1Z0-534” and as such is focuses for the major part on rule development. The exam study guide seems to have gone 404 on the Oracle University Website but the corresponding guide in the partner website is still useful.

ODE Summer Series – Siebel and Policy Automation

[Note : these videos are now available here]

In France, Summer Series are a common thing. Next week my daily newspaper will start a summer series of fictional pieces about the fall of the socialist government. My favorite TV channel will be running crime documentaries about how people can get ripped off on holiday. And the Socialist Party, along with every other party, will hold an endless series of “Summer Universities” as if they couldn’t think of life outside of politics.

But why do I mention this? Because ODE is also going to run a Summer Series. We have put together 4 (soon to be 5) modules for you on the subject of Siebel Enterprise and Policy Automation. Now, we are not in the business of replacing the excellent training and certification you can get from Oracle University on both Policy Automation and the Siebel Connector. Instead we want to fill a gap and show you the end to end process from the point of view of the “how, why, what, where” – just enough so that your average consultant (that’s me) understands the tools, steps. traps, fun and games and other things involved. Start with a piece of paper and end with Siebel and OPA running together happily to solve a business need.

But wait! There’s more!


It is not the same as a scheduled post, because everyone can sign up on a different day, and they need to get drip-fed on their schedule, not yours. Anyway, if you make it to the end of the series, some super bonuses are waiting for you :

  • A Badge and Points for your Profile on the ODE eLearning Site
  • 50% discount off all our eLearning for the rest of August!!!

That’s right, everything is half-price for you until the end of the Summer Season!

If you wait too long the prices will go back up. AND the five chapters we are offering free today will no longer be free after August 31st 2014 midnight GMT+1. So you have even more reason to hurry. As soon  as you get your completion badge, the 50% discount will kick in automatically as you shop.

Enjoy your summer series and we will be back in a few days!

Policy Automation – Uncertain and Ambiguity

Since we were speaking the other day about unknown knowns and so forth, it seems appropriate to address the subject of uncertainty, at least as far as simple Policy Automation rules are concerned. Uncertainty of course has a bit more impact when you talk about other forms of automation, such as autonomous vehicles.

Anyway, on with the discussion. Consider the following simple rules:

Policy Automation - Horse AgeThe above scenario assumes the existence of an Entity called the horse, whose Containment Relationship is called all the horses, as well as various attributes which are shown below for clarity.

Policy Automation - Horse Entity and Attributes

Policy Automation - Global Attributes

When we start the Debugger and enter data, all seems perfectly fine, and we get conclusions that are logically correct and inferences that make sense.

Policy Automation - The Oldest Horse Version A

But when we change the data to propose that more than one horse has the same age, we get a surprise. The InstanceMaximum function continues to return a value, since there is still a highest value (irrespective of how many horses have the same value for their age).

Policy Automation - Uncertain Horse Name

However, the InstanceValueIf function reports that the name of the oldest horse is uncertain. That’s because InstanceValueIf returns a value if it “Obtains a value from a unique entity instance” which clearly is not possible here, and furthermore “If more than one target instance meets the condition, then Uncertain is returned.” The text in quotes is from the Function Reference which you can access from the Policy Modelling application via the Help > Function Reference option.

So we need to be prepared to manage this situation, both in a Web Interview and perhaps more so in the case of a determination via Web Service. In the case of Siebel integration for example, it may not be possible to ensure that distinct records are sent to the determinations server for processing (there are Siebel Business Component User Properties to implement Distinct as a Query criteria, but that may not be appropriate and may require duplicate Business Components and other effort that is not acceptable.)

So how can we signal that issues such as this have occurred? The approach will differ depending on the nature of the missing data. For example, if you are checking that all he instances have a certain attribute populated, then :-

Policy Automation - Missing Data

But it is better to simply leverage the uncertain value, which is designed for this very purpose:-

Policy Automation - Uncertain Horse Name 2

On the other hand, if you are checking for the existence of two horses with the same age, things become a little different in Policy Automation. We will need to use the functions designed to refer from one entity to another, and specifically to use an alias to compare instances without Policy Automation going into a tailspin.

Policy Automation - Comparing Instances without Ambiguity

In the above example, we use ExistsScope with the additional “the other horse” alias which is enough for us to be able to reference an attribute of the horse (the horse’s age) and compare it to the age of the other instances of the same entity. Policy Automation - Horse Data in Debug

Thus in Debug without Screens, upon entering 3 horses, two of which have the same age, we see the above. And when we click the “View Decision” option from the right-click menu, we can see the data is as follows:-

Policy Automation - Debug Data View

Silver and Danny Boy have identical ages.




Policy Automation – Required *

In Policy Automation, just like our old friend Siebel Enterprise, required base Attributes are highlighted to the user in the form of an asterisk, thus:-

Policy Automation - OPA Required Attribute Asterisk

You will notice that the Policy Automation asterisk is rather small. In fact, it is easy enough to not see it at all. So the question often comes up, how can we rectify this. There are three ways to approach this problem. All will require modification of files used in the Release folder of the Policy Automation Rulebase.

Option One – change the text used for all controls in all situations. Edit the messages.XX.properties files (where XX is the locale you are concerned with in your situation).

Policy Automation - OPA Release Folder Messages File Location

There is a reference in this file as follows, concerning the display of the asterisk. Mandatory text is defined as per the last entry in the section shown below.

Policy Automation - OPA Messages File Mandatory Text Example

So the text can be changed in this file. Upon running the interview again, we can obtain an improved version in this way.

Policy Automation - OPA Required Attribute Improved Version A

The text can include any of the defined authorized HTML tags such as B, I and so on for added formatting. The color of the text is defined in the appearances.properties file, under the heading mandatory-marker-text-color.

However, this solution changes the text for all controls. Suppose you wished to only change it for text controls, or boolean controls and so on?

Option Two therefore is to edit the corresponding VM file from the WEB-INF/classes/templates/controls folder. For example in the following image, the relevant code is highlighted before modification.

Policy Automation - OPA Editing Control VM file for Mandatory Text

Editing the text in the SPAN class=mandatory allows us to change the effect, in this case for a Text Input Control. A demonstration of the effect is below. In the screenshot below, the Boolean Input Control VM file has been modified. The Text Input Control VM file has been left unchanged.

Policy Automation - OPA Required Attribute Changed for Boolean Control

Finally, what if the custom effect is only to be used in certain circumstances? For example, enable the rule designer to optionally use this on certain boolean attributes but not others, in which case the normal asterisk should be shown.

Option Three – To create such an effect (and indeed, a similar technique can be used for many different reasons) requires two steps.  Firstly create a Custom Property within the Rulebase Project for the relevant Object type, in this case Control:

Policy Automation - OPA Create Custom Control Property

Secondly, within the VM template file of the relevant Control, edit in a similar way to the following. In the first part of the file, include a statement such as the example below, in order to get the value of the Custom Property and store it in a variable.

Policy Automation - OPA Boolean Control VM with added Property GetIn the same file, add conditional logic to use the desired text effect when the variable is True or False. The code below is for educational purposes only.

Policy Automation - OPA Custom Boolean Entry VM with Conditional DisplayIn this final case, the developer of the Rulebase can select to use the custom effect just by editing the Custom Property value for the desired control in the relevant Screen, as in the example shown here.

Policy Automation - OPA Custom Property in Screen Editor

So the resulting output looks like this, for False and True values respectively for the Custom Property – which can be managed, moving forward, by the Rulebase designer as needed. No further file modifications are needed to handle the conditional application of our effect.

Policy Automation - OPA Custom Property set to False for Control in Screen Policy Automation - OPA Custom Property set to True for Control in ScreenUntil next time.





Policy Automation – Entities Function Example

A common thread of discussion with many students in the Policy Automation training is the concept of Entities. We briefly touch on the subject in the course, but most students will be faced with the challenge of integrating Policy Automation with, for example, Siebel CRM – and thus the entity models that they will use in Policy Automation are in fact Siebel Integration Objects.

There is a specific course for such students to discover the stages of the integration  and this course is called Oracle Policy Automation (OPA) Connector for Siebel. It covers the mechanics of mapping, integration and configuration of Siebel to store and handle the outcome of the determination, the decision reports and so on.

Note : since this article was written the Siebel OPA Connector class has been withdrawn, making life harder for you to find out how to do it. In addition, the arrival of OPA 12 with a new architecture and the continued availability of OPA 10 for on premise customers further muddies the waters. I have left some content here on this OPA Blog to help:

1 – Brief Overview of Siebel Connector Concepts for OPA 10

2 – Our  Video Series Walk-through of Siebel Connector installation and usage for OPA 10

3 – OPA 12 Architecture Articles here on this site

Back to the original article now :

In the practical courses the discussion tends to revolve around what you can actually determine with Entities. So here are a couple of nice simple examples to get you in the spirit. The examples use two entities, “the horse” and “the rider” and the Global entity of Policy Automation represents a race. Of course you can easily replace them in your imagination with Siebel business components. The model looks therefore like this:-

Policy Automation - Data Model Horses and Riders in Global race

There are a range of useful entity related functions to assist in determining valuable insights. For example (assuming the number of runners has been defined as a number attribute as in the above model, and the containment relationship is called “all the horses” as above:

the number of runners = InstanceCount(all the horses) will calculate the total number of horses in our race.

the age of the oldest horse = InstanceMaximum(all the horses, the horse’s age)  will return the age of the oldest horse, assuming there is a number attribute called the horse’s age.

the oldest horse = InstanceValueIf(all the horses, the horse, the horse’s age = the age of the oldest horse) will return the name of the oldest horse, based on the horse’s age attribute. This assumes that “the horse” is the text associated with the identifying attribute of the horse entity.

The final example for today needs a picture :

Policy Automation - Final Entity Example

Policy Automation - Final Entity Example with Hidden Text

If there are three riders and three horses for example, which rider is riding the oldest horse? This syntax uses the ForScope function which allows us to refer from one entity to another (from the rider to the horse) and apply conditions. So if we enter three riders and horses like this in the Debugger:

Policy Automation - Debug Data Example

Then the decision that Steve is the rider with the oldest horse will look like this in the Debug Data window. Notice how substitution produces “Steve rides the oldest horse” from the “the rider rides the oldest horse” rule.Policy Automation - Debug Decision ExampleUntil next time.