Category: Training

The Consultant’s Guide to Oracle Intelligent Advisor

Well, it has taken a bit longer than originally intended (the current lockdown kind of slowed things down) but I’m happy to say that the new book is available for preorder now. It’s been retitled and significantly reworked, in the new book we have thirty four chapters and lots of examples in Zip Archives to play with. We’ve really tried to create the Consultant’s Guide to Oracle Intelligent Advisor.

It has been reviewed and many chapters rewritten to be bang up-to-date for Intelligent Advisor latest release 20B. Of course it covers all the things a new starter needs to know, and should be a useful reference to anyone working with Intelligent Advisor. We even fixed all the URLs to match the new standards of Oracle documentation (as I am sure you have noticed, Intelligent Advisor is now in the URLs).

This kind of book of course can only be possible when so many people help out – the Oracle team have been absolutely fantastic, as always, and provided lots of ideas and help. And the readers of this website have also provided so many things for the book, the community really stepped up.

In the next 10 days or so, we will also be releasing the complete set of videos (there are about another fifteen or so to finish in the studio) and they will be available as a package with the book. I’ll let you know as soon as that is done.

For the time being however, you can read all about the Consultant’s Guide to Oracle Intelligent Advisor over on P8 Tech (the Publisher’s Website). The book will be the OPA Hub Shop as well.

Introducing the OPA Hub Website Academy

Introducing the OPA Hub Website Academy

We’re thrilled to be able to announce the launch of the first of our training classes available in recorded format. The course, entitled “First Day at the Office” is made up of 11 modules to help new starters get to grips with what Oracle Intelligent Advisor (Oracle Policy Automation) actually entails. The modules are presented in an engaging, easy to follow style. Where needed, example projects are available for download.

Recorded in a professional studio, they have excellent sound and video and playback on any device. For corporate clients wishing to acquire larger scale use, please contact us for pricing of the raw 4K Video.

Training - Module 1
Module 1 – The Platform

Think of it as the way to answer all those questions that come up once the product is purchased, when you or your team are sitting, wondering:

  • Where do we start?
  • What happens now?
  • How does my team get up to speed?
  • What’s a good way to knowledge transfer?
  • How do I?

And many more…there is often a period of disarray following the acquisition of any software, and without practical guidance it can be hard to get started, even with Oracle Intelligent Advisor. That’s why these modules were created. Find out more on the OPA Hub Academy First Day at the Office Training page.

Combine with Book or eBook

This course can be easily built into an onboarding program for any new starter. The other courses in the Academy take the student further in their learning program and build on these initial chapters. The chapters also combine logically and practically with the Getting Started with Oracle Intelligent Advisor book from P8 Tech Publishers for a complete learning experience.

Further Training Classes

Already planned are:

  • The complete series (Second Day in the Office, Third Day in the Office) on getting to grips with the basics.
  • The JavaScript Series (dealing with extensions for Interviews)
  • Integrating with Siebel CRM (step by step guide)

And the Training Survey Prize Draw Winner Is…

And the Training Survey Prize Draw Winner Is…

So, the results of our Training Survey Snap Poll have been collated, and we are ready to announce the winner in just a moment. First, let’s get the results off our chests and see what the community thinks about Oracle Intelligent Advisor (see what we did there?) and Training Requirements. So the OPA Hub Training & Documentation Survey started with the following question:

Q1: Which of the following training products would you consider the most suitable training format for OPA?

 

Training Survey 1

Interested in the Training Survey data breakdown? OPA Hub Website supporters can download the PDF here. You can get a quick glimpse of the latest results on this public dashboard.

The two “in class” options beat the other answers hands-down. Consultants and users, in contrast (often) to their employers, still regard in class training as the premium format. Then comes interactive online training, finally we have recorded / non-interactive online training. Managers, Training Departments, take note! We’ve been in the training business for 30 years, and the answers were the same 30 years ago (albeit with CD-ROM or computer based training instead of on-line). At some point, the value for money equation became focused on the cost rather than the benefit. And it all went wrong from there :).

Training Survey Q2: Which of the following have you personally used most recently in relation to Policy Automation?

 

Training Survey 2

And so we come to the reality on the ground. If question one represented what you wanted, this is what you got! Very low numbers for in class training, and much higher for online. The Other option revealed that a fair number of you don’t even get that option, instead you have to read the documentation, forums, websites like this one, or just asking colleagues. What does that say about the availability and cost of training in your area, or the unwillingness of employers to pay for training? Some might blame the Salesforce Effect “Trailhead means I don’t have to buy any training for my staff ever again”. Yeah, right.

Training Survey Q6: In which region are you based?

S0 does Oracle Policy Automation only exist in your area?

Training Survey 4

These are only 3 of the Training Survey questions – we don’t want to bore you with all this unless you are interested in the full data breakdown? OPA Hub Website supporters can download the data here. You can get a quick glimpse of the latest results on this public dashboard.

So who the heck is the winner?

The OPA Hub Website is pleased to announce three winners (yes, we came over all “Holiday Season”).

Mr O.Rodrigues (France)

Mr Manohar Veeraiah (India)

Miss A.Fisher (Australia)

The winners should leave their details in a message using the Contact Form of this website.

Input Extensions – DropDowns

Input Extensions – DropDowns

Many thanks to long-time reader and Oracle Policy Automation expert Aaron H for an interesting discussion just before the holiday season. The subject for this post is as you can tell, Input extensions that are dropdowns.

Our conversation was wide ranging but this article will focus on a couple of things

  1. How to ensure that the extension displays and handles the text and value elements of your list of values
  2. How to handle <uncertain>
  3. How to have a different label for <uncertain>

Along the way this will give us the opportunity to understand the usefulness of the Value() function in a rule. In later posts in this series we will look at other forms of Input, also beyond the basic INPUT or SELECT tag.

So let’s begin with a simple setup – the Zip Archive is available in the OPA Hub Shop by the way) – starting with just one attribute and a Value List:

The initial Value List looks like this – notice that in this case, there is no distinction between the displayed text and the actual value:

Input Extensions - DropDowns

In this simple scenario, one often sees extension code that focuses on the control.getOptions() method and then iterating through the various options from the returned object, something a little like this (for educational purposes only) :

var myChoices = control.getOptions();
for (key in myChoices) {
if(myChoices[key].value)
{
$('#xDropDown').append('<option value="' + myChoices[key]..text.toString() + '">' + myChoices[key].text.toString() + '</option>');
}
}

The code works fine, but makes a few assumptions that can come back and bite later when the rule designer has made changes.

  1. It does not take into account the possible change in the Value List to include display and values.
  2. It will error out if the dropdown becomes non-mandatory since “uncertain” will cause .toString() to fail

So when the developer of the rule changes the Value List to something like this:

Input Extensions - DropDowns 2

The code would no longer be useful since the [key].text and [key].value are two different values. And if we are updating the underlying control, we need to remember that we call control.setValue() so it is expecting a value, not the display value.

So maybe the code gets changed to :

 $('#xDropDown').append('<option value="' + myChoices[key].value + '">' + myChoices[key].text.toString() + '</option>');

Or something similar. All is well and the dropdown is correctly handling things :

Until the attribute is defined as non-mandatory in the Screen where it is displayed. At which point the code breaks again, as the uncertain value is not handled. Let’s take a step back and remind ourselves of the defaut behaviour in these situations, without an extension:

The standard control renders an empty option for the uncertain value. I’ve always considered it a bit of a bug that it does not respect the optional Display Value (in my case, “Not Sure” – see the screenshot a little further up) but always renders a blank, at least in all my browsers.

So in the case of an Input Extension that needs to render the uncertain value (because the control is not mandatory) and also wants to show the Display Value, the code will probably need to have another quick change:

Input Extensions DropDown Code Last One

Which will ensure that the dropdown is rendered with the correct text and value, if there is one. Also, the added bonus is that the display text of uncertain is rendered as we would expect:

Input Extension Showing Uncertain Vlaue

And finally, we have good use of the Value() function so that we can be sure that the correct value is stored in our Interview:

The function above, in a Word document for example, will return the value rather than the display value. So you can drop it onto the final Screen of your testing Project and compare the two to make sure you have gathered the correct one.

Hopefully that was fun and interesting, and you can practice yourself with your own project. As mentioned above the code is available in the OPA Hub Shop. The documentation is of course on the Oracle Intelligent Advisor website.

Table Headers : Tabular Layout Trick

Table Headers : Tabular Layout Trick

Updated 18th March 2020

[Update Start

Thanks to assiduous reader Steven Robert (see the comments) who reached out and pointed out some annoying side effects and  a requirement, now I get to revisit this topic after a while away. As luck would have it, I was working on a similar situation to the one Steven describes, and I had not been timely in updating this post. Thanks to him and here is the updated version of the concept, with explanations.

  1. As the original post mentioned, and Steven pointed out, the selector used in the example is unreliable
  2. Steven proposed a new selector and solved that issue, making it multi-column as well

But the downside is the lack of display when the table is first instantiated. We need something capable of reacting before the think cycle kicks in.

In order to  achieve something like this, our “payload” needs to be part of the table that is displayed automatically. So the obvious candidate in this case is the label extension, since the first column is actually a label anyway. You could extend this concept to include other controls, but  it would require more heavy lifting as you would probably end up, if you were unlucky, building an entire Entity Container. We covered that in the JavaScript Extensions book and it isn’t usually a short effort. Anyway, we have a label so we are cool.

Our label extension has a mount key which fires when the label is displayed. So if the table is displayed, the label code will kick in. So we can be ready as soon as the table is ready. Secondly, we could in theory add several label columns and have custom headers for each of them (you could of course achieve that using non-JavaScript techniques).

Here is the walkthrough based on the previous Project (with the credit cards and visa cards which are derived as a subset of the credit cards).

  1. Add a label in the row in the table and add custom properties. It should display whatever attribute is appropriate.
  2. Generate a standard label extension and edit it a bit.
  3. Add the custom properties to trigger the code when the label is displayed.
  4. Add another label if you want (I ran out of originality but added a second one for demonstration purposes).
  5. Fire it up in the Debugger, and then in the Browser.

I didn’t go all the way to deployment but it looks like it could be elevated into a viable concept. Also, I wasn’t a very good citizen as I didn’t do any checking to avoid my code running every time the label is instantiated – I would most likely check to see if the header already had the text I wanted to avoid setting it again.

And finally, of course if you want the Project Zip just leave a note in the comments!

Here is a walkthrough video. Hope it makes sense!

Update End]

Original Post :

There is always much discussion when users first discover the Interview tab. Let’s be honest – not all of the comments are exactly positive. It all feels a bit, well, basic.

There are a number of things that catch you out at first (and indeed, later). So let’s take a moment to study tabular layouts and a common issue.

For this example I’m going to use the same project (Credit and Visa Cards) as the previous post, since that gives us two entities to work with.

Tabular Layout

Let’s consider that you want to display both entities using tabular layout. You create a Screen and set them both to tabular display. But let’s assume that you want to display the Visa Card with a couple of specifics. You want to include the provider of the credit card. So let’s set that up as a Value List and use an attribute on the Credit Card, and infer it on the Visa Card:

Table Headers Tabular Layout Trick 1So, with that now done, we want to display the Visa Card provider in the Entity Collect (as it is an inferred entity, we cannot use an Entity Collect). But we want to display it as a label as you can see in this screenshot (we added a name to the attribute as you saw in step one so we can reference it in our Screen:

Table Headers Tabular Layout Trick 2Notice how we added a label and used that to display the text of the provider? Using a label ensures three things

  1. It is read-only
  2. If the user is tabbing from input to input, the cursor will not get stuck in that field
  3. It doesn’t look like a read-only input, just a label (which is what we want).

But the downside is that the label does not have a table header in that column, since the Interview designer only adds those for Inputs:

Table Headers Tabular Layout Trick 4

I find it a shame that we cannot put table headers in this “tabular” column, since in HTML a table should have column headers. In fact if we take a moment to inspect this table in the browser, we note that annoying, there is a table header in the table:

Table Headers Tabular Layout Trick 5

So, we need to get that table header populated with our chosen text. But how shall we do it? We don’t want to create an Entity Container extension, since that would mean we have to do the whole thing from top to bottom. So we only want a little tiny change. We have a couple of choices.

  1. Create a Style Extension for the Entity Collect
  2. Create a Label Extension for stealth modification

Let’s try the first option, since it reveals some interesting facts about Styling Extensions. Firstly, get ready by doing the following; change the text associated with your entity in the Interview by double-clicking where the rectangle is, and entering whatever text you would like to display in the missing header.

Then add a compound Styling Extension to your Project. Tabular Containers allow for nested styling, like this:

OraclePolicyAutomation.AddExtension({
style: {
tabularContainer: function (control) {
if (control.getProperty("name") === "xContainer") {
style: {
headerRow:
YOUR STUFF GOES HERE
 
}
}
}
 
}
});

Notice the “headerRow” is a child of “tabularContainer”. And notice the line that says YOUR STUFF GOES HERE. Now for an interesting fact about Styling Extensions. They behave, to a reasonable degree, just like Control Extensions. They are really one and the same thing – the main difference of course is the handlers that are exposed in Control and Interview Extensions.

Drop jQuery into your resources folder, and then replace YOUR STUFF GOES HERE with the following line:

$("#opaCtl4th0").text(control.getCaption());

Of course, the jQuery selector may be different for you but it is easy to find the “header” I illustrated in the previous screenshots. Open your Project in a real Browser (Ctrl+F5) for debugging and take a look at the results:

Final Header Result

Our Styling Extension has added the text to the header, drawing it from the Interview Screen Entity Container definition, and we have it where we want it. Of course, you could style it as well.

But it goes to show that Styling Extensions are really not very different to Control Extensions!

Oracle Policy Automation Cloud 2019 Certification #2

Oracle Policy Automation Cloud 2019 Certification #2

I don’t normally comment on certification examinations – I don’t really feel that a website like this should focus on getting people certified – sure, we can help you prepare and give you lots of fun things to do while you get ready. But we are never going to be selling “certification dumps” or any nonsense like that. If you cannot prepare for an examination, you shouldn’t be taking it. End of story.

But, since I just took the Oracle Policy Automation Cloud 2019 Certification today, I thought I would give you some heads-up on the kinds of questions that I noticed (and bear in mind, that my memory is not what it used to be). Again, I’m not going to give you the questions, I’m going to give you some pointers as to the kind of question you might see.

Firstly, this is clearly an update of the 2017 Certification, so if you took it and passed, many of the question styles and content will be familiar to you. But the vast majority of them have undergone review, editing and minor changes.

Question Styles That Might Bug You

You need to do X. Place the following things (1-9) in order of doing them to achieve X. If a step is required more than once, only mark the first time the step is used.

The steps are unclear, the answers are unclear, and some of the terminology used is dubious.

You have an entity model X to achieve Y. What kind of relationship is Z?

Beware your terminology – get in your head that it’s asking for a relationship even if the example provided is not obvious.

Which of the following is a good example of the correct phrasing for X

Be very clear about what that question style is asking. Many of them look like they are asking Y but they want X. Re-read the question several times!

Choose four things that are true about X functionality

Some of the examples I saw were completely generic – you know the sort of thing. They ask you about swimming 100 meters, and one of the answers is “a swimming pool is full of water” whilst all the other answers are about breathing, swimming technique, strokes. Watch out for these “sleeping choices”.

Which of the following are incorrect when talking about AND and OR

These questions require a certain amount of time to consider – which ones have the correct combinations of AND, OR, ANY, ALL, BOTH, EITHER and all the other combinations of grouping words. Read it slowly!

Poor Quality Graphics

Aside from these bugbears, the other thing that still annoys me is the quality of the screenshots used. And of course, this is dependent on the software used for the certification examination, I know that. But at least try and give clear, large images without any silly stuff (like the Word examples that have clearly gotten the grammar and spelling check with the blue line underneath the text). It’s a question of quality.

Web Page Not up to date

One thing that bothers me is that the Certification page on the Oracle Website does not specify which version this examination has been validated against. And I saw at least 1 question for which the answer would have been different, depending on the version.

Good Luck!

Good luck to you all. If I have any more thoughts, I’ll let you know. And yes, I did pass :). If you are interested in accelerating your learning, read about our workshops here.

 

Oracle Policy Automation Cloud 2019 Certification

Oracle Policy Automation Cloud 2019 Certification

I’m not sure if we have mentioned it before, but the latest incarnation of the Oracle Policy Automation Certification (to give it it’s commonly used name) is now live and available as a proctored examination, as well as a remote examination in some jurisdictions. It’s called Oracle Policy Automation Cloud 2019 Implementation Essentials.

The examination has the following characteristics:

  • Format:  Multiple Choice
  • Duration: 120 minutes, 80 questions, 68% passing score
  • Examination Code : 1Z0-1035

It is the gateway to the Oracle Policy Automation Cloud Service 2019 Certified Implementation Specialist certification.

Workshops for Oracle Policy Automation

Now, as many of you know, the OPA Hub Website runs Workshops to help people get to grips with Oracle Policy Automation. If you want to know if a Workshop can help you and your team prepare for the certification examination or indeed just to improve your knowledge of the product, then you can learn about it in the video below which gives you an example.

The three day workshop we describe in the video can be extended to four days, or can include a variety of different content areas which you can read about on the Education page. Of course most of our workshops about Oracle Policy Automation use the book Getting Started with Oracle Policy Automation 2019 edition as their support materials as well as presentations and exercises.

Amazon Availability Issues – Solved

If you have been trying to get a copy of the book and you have noticed that the lead time on Amazon is too long, you can get the book in record time by using our other approved channel, the Book Depository. You can get the Getting Started with Oracle Policy Automation 2019 Edition here, and they ship worldwide. Otherwise you can of course go to the publisher, P8 Tech and order it there.

Prepare and Test Yourself ready for Certification

There are hundreds of questions on this site to help you get ready for certification or an interview. Go and try one of our mini-quizzes or the Prize Quiz, they are all free to enter.

Have a great day and see you soon!

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:

video

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.

We’ve Updated our Free Challenge

We’ve Updated our Free Challenge

When you register for the OPA Hub Website, you land on a Thank You page. That page includes a Free Challenge , where you can win an OPA Hub T-Shirt just for answering a simple one question quiz.

Free Challenge QuizSo many people have answered the free challenge quiz but nobody has given the correct answer yet. We have now added a new Section “Hints to Help You“.

We have added various remarks culled from previous answers. So we are helping you get closer to the answer. We hope that the new hints help eliminate some of the common answers and save you time.

Enter As Many Times as You Want

The winner will get a free OPA Hub T-Shirt in the size of their choice. It’s free to enter, you can enter multiple times and we will keep the Challenge open until somebody wins.

Yes : You can enter the  Challenge as many times as you want, there are no limits.

So what have you got to lose? Nothing, so get over there and try your luck – can you crack the Challenge? Do you have an idea for another Challenge – get in touch, leave a comment or reach out on LinkedIn. We’re always happy to hear from our readers.

Good luck and see you soon on the OPA Hub Website!

Excel as an OPA Data Connection #2

Excel as an OPA Data Connection #2

So, following on from the previous post in this ” Excel as an OPA Data Connection” series, we have been investigating using Excel as both the Metadata and Data storage for a prototype Connection. The goal being that if I want to quickly model something and show it to a prospect I can do everything in Excel, and do not need any other software.

The previous post laid out the architecture, and highlighted that we would be putting the Excel on a Web Server and using a Web Service to open and manipulate the Excel file. Once again, this is just a bit of an interesting concept and is not at all for real-life use, especially as Microsoft has explicitly stated that remote automation with Microsoft Office is not a good idea (nor is it supported).

Excel as an OPA Data Connection : Common Points

In our Web Service code, the three main endpoints (GetMetadata, Load and Save) have a great deal in common. They all manipulate either DataTables (Load and Save) or MetaTables (GetMetadata) and in the case of DataTables they have Row(s) and DataField(s) whilst the MetaTables have MetaFields.  Essentially your job is to build these into a hierarchy, and they form the response that is sent back to Oracle Policy Automation.

In the screenshot below, the Excel data range is being parsed into a series of Metafields for the GetMetadata response, and we are setting the different tags of our SOAP response. I took a shortcut in the prototype and no matter which metadata you ask for you get all the fields back in the response.

 Excel as an OPA Data Connection GetMetadata

Excel as an OPA Data Connection : Context

In the case of the Load and Save, they receive either loadrequest.context or saverequest.context which will contain any URL argument items you want to pass into the Service (for example, in a Load, you will pass an ID which will correspond to the row of data you want). You can pass in as many as you want.

In the screenshot below, you can see that both the Load and Save have the context object available. In the code, since it is a prototype, we assume the only context element is the one we are looking for.

 Excel as an OPA Data Connection Context

Excel as an OPA Data Connection : Load and Save

In the case of a Load request, you will send back the Tables and Row(s) and Fields for the Interview. In the case of a Save request, since we are only handling updates in our prototype,  we send back the Row and Fields as the response, marking them as “input” fields. We are not using Load after Submit in our case, so there are no “output” fields to send back. If we were to handle inserts, we would have to send back the Row and Fields in that case as well, plus the ID of the new record for example in a Load after Submit.

In the screenshot below I am testing the Load Response, hard coding some values into the fields. Note the “TEST” value at the top. In the finished version of course, these are replaced with Excel Cell contents.

 Excel as an OPA Data Connection Load Example

Since the entire Web Service is written in Visual Basic, it is a great learning opportunity to be able to dump the XML requests and responses to files, in order to better understand what Oracle Policy Automation is sending or receiving. In the screenshot below, a Save Request being sent to the Web Service.

 Excel as an OPA Data Connection XML Example

Excel as an OPA Data Connection : Attribute Types

One area where you can get quite confused is the different ways to indicate what kind of attribute you are working with. In the request for a save, for example, there are field types for each attribute which are actually constants (0,1,2,3,4 and so on, one for each type). When building the save response I needed to then map that number to an AttributeTypeEnum (another constant value) and set the ItemElementName to get the “<date-val>” or “<text-val>” tags that you need. It took a while to work out the logic. Between MetaFields that say they are “STRING” and DataFields that say they are “text-val” it can get a bit boring!

Here’s the sort of thing I mean, checking the fieldtype and mapping to the AttributeEnumType:

Excel as an OPA Data Connection : Video

Rather than keep on writing, let’s have a video to put it all together and see the adventure in the flesh, doing what it is supposed to do!  This was great fun, and is definitely a cool way to learn more about the Connector API and what would be needed when building an integration. Of course, these days we have Integration Cloud and so many more managed tools and services but I am of the opinion that it is better to be over-informed than under-informed. Speaking of which, if you need to read the official Connector API Overview, you will find it here.

Of course there is more that could be done. As described above, the first thing will be to implement record creation. Then, perhaps, a child table or two using the same basic principle. Who knows, one day when I have more time I might come back to it.

If anyone wants the Visual Studio Project and code, then just leave a Comment. Have fun!

 

 

 

Worldwide
Logo by Southpaw Projects LLC