Wednesday, August 29, 2018

#651 Visual Builder Cloud Service Learning Path

Here is a very useful and detailed introduction to Visual Builder Cloud Service from the man who knows.

Click here



Wednesday, August 22, 2018

#650 New Gartner iPaaS Marketshare Report

and it is looking very good for ORCL -

Oracle — Market Leading Execution and Momentum




































The report is available from Gartner here

Tuesday, August 21, 2018

#649 - OIC integration with Fusion HCM & the efficacy of BI reports & HCM REST APIs


I am not a HCM expert, but playing around with the Oracle HCM adapter did force me to dig a bit deeper into how HCM works.

It all began with a relatively simple file based integration that "imported" a worker into HCM.

The integration had a REST trigger and leveraged the Oracle HCM adapter as well as the technical SOAP adapter.

I ran a test from Postman, with, what a colleague told me was, a valid REST payload, one of the attributes being BusinessUnitID.

{ "PersonNumber":"77012", "StartDate":"2014/01/01", "DateOfBirth":"1988/05/23", "LegislationCode":"US", "FirstName":"FirstName0112", "LastName":"LastName0112", "LegalEmployerName":"US1 Legal Entity", "BusinessUnitId":"458", "JobId":"300100003260508" }

I tested the integration and then went into Fusion HCM to validate what I had done.
From an OIC perspective, the integration flow had executed successfully.

So off I ventured into HCM -







































The file import went ok, but the loading of the new Worker failed.

Here's the error message















So 458 is obviously invalid.
Note the field name - LocationSetId - more anbout that later.

So how do I get a list of the valid Business Unit IDs?

A colleague, Stephen R., helped me out with the following SQL.

Select BU_id,  BU_name
From FUN_NAMES_BUSINESS_UNITS_V 

So now where do I execute this?

Again, back in Fusion HCM -

Click on Reports and Analytics






























Click Cancel 





















Now click on Catalog -













then New - Data Model -






















Choose SQL Query -



















Point to the appropriate data source -


















Click on the Data tab - to see the results of the Query -















Click View -











To make this a bit more readable - click Table View -















So that's the valid BusinessUnit ID sorted!

I run my integration again and now get an issue with the JobId.
Apparently, that is also invalid.

I now need to find out which view I should use for this.
A good starting point is here

















This looks like the right one - 
























The SQL Query






























I test the integration again - this time using my name -
























and see what has happened in HCM -

Import and Load completed successfully.











I search for the new employee - Niall Commiskey
















Great stuff!

Now I could also use the HCM REST APIs to get this information -

These are described in detail here

Now I had a problem testing from Postman with the following Jobs API call -
According to the docs, the UTL format is -
https://yourHCM:443/hcmRestApi/resources/versionNr/jobs

Apparently the version nr I tried was no longer supported.
Then a tip from Angelo S. use latest instead.

https://yourHCM:443/hcmRestApi/resources/latest/jobs



And there is my Job Id.































Wednesday, August 15, 2018

#648 OIC Integration 101 Part V - Social adapters - Facebook and Twitter

Just a quick introduction to some of our Social adapters -

Facebook - social media for over 50s

You will need a Facebook account to do this lab.

Essentially, you will create a new page under your Facebook account.
Then you will leverage the OIC Facebook adapter
to retrieve Page details and then retrieve Page posts.

So let's begin -

developers.facebook.com setup


You will need an account at developers.facebook.com
Simply go in and create one.
Essentially what you do is create an App.
The work that we do via the FB adapter will be in the context of this app.


























Note the App ID and App Secret -

they will be needed for creating the OIC connection to Facebook.

you also need to set the callback url for OIC -

Products -- Facebook Login -- Settings 

















The url has the format -
https://yourOIC:443/icsapis/agent//oauth/callback

You now create a page within the context of your facebook app -

Settings -- Advanced
















Ensure you specify the App Page category, when creating the page.
As you can see, my app and page are called OICApp.

OIC setup and development 

First upload the Facebook certificate.
You get this by logging in to facebook.com and downloading the cert.
This you then import into OIC -




















Then click Upload and do the necessary





Create the Facebook Connection 


















Configure as follows -

Client ID is set to your Facebook App ID.
Client Secret is set to App Secret.

Note: these are available in the Settings -- Basic screen of your facebook developer account

























Now a word about scopes -

The following scopes are discussed in the adapter documentation -

user_posts - Provides access to the posts on a person's Timeline. Includes their own posts, posts they are tagged in, and posts other people make on their Timeline. This permission is restricted to a limited set of partners and usage requires prior approval by Facebook.


user_likes - Grants an app permission to access the list of all Facebook Pages that a person has liked.

publish_actions - this has been deprecated - thanks to Cambridge Analytica

see the following Facebook link

You can check out all the Facebook permissions here

Specify the following scopes for this use case -










You Provide Consent as follows -















Facebook grants access -












Test then Save the Connection


Create a second connection REST -- Trigger











Create the Integration

You will use a REST Trigger for this orchestration.


































Drag and Drop your REST Trigger on the Start area.

Configure as follows -

























Set the Request to
{"pageId":"1234"}





























Now drop the Invoke - Facebook Connection, after GetFBPageData










Configure as follows -













Note that we are using the facebook graph api under the hood.














































Now drop the Facebook connection again, after GetPageDetails and configure as follows -

















Map as follows -












Now map the return values -





































Set Tracking then Save and Close



Activate -


















Test -

We need the page id - simply open your new FB page in a browser -








What I've blacked out in the URL above is the page id.

You will need this when testing.

Add a Post to the page, before you test - this is what we will retrieve via OIC.






















I just added a simple - "Hi There".

I use Postman for testing -



















Twitter - tweet to your heart's content!

Twitter is a strange kettle of fish, according to the media it has
coordinated revolutions, but has still to make a profit.
But who cares!

Again, the pre-requisite is a Twitter account.

Then it is essentially the same procedure as per Facebook -


Download and Install Twitter Certificate 

Download the twitter certificate from https://twitter.com

Upload to OIC - 
















Click Upload -









Upload your Twitter certificate -

























Create an app as Twitter Developer


Next, I create an app on https://developer.twitter.com
This will provide me with all the keys I need to perform operations, such as tweeting.























After going through the necessary -


























Note the Callback Url above, as per Facebook.


Now to the Access Token -



Click Create -














Now to OIC -

Create Twitter Connection in OIC 




































Create Integration in OIC

This integration will have a REST trigger -
Request is
{"message": This is a tweet from OIC"}

Response is 
{"status":"successful"}





















I now drop the Twitter connection after the Trigger - TweetSomething



















Configure as follows -




























Map incoming request message to Tweet status.

Now map the integration response -





























Here I return the id of the Tweet.



Set the Tracking and Activate the integration -














Then Test -




















Validate on Twitter -