When trying to integrate Google Maps with any other system – such as Siebel – there are two possible approaches one could implement: a unidirectional integration, when the address data travels to Google Maps from the other system only (e.g., this is when you display an address stored in Siebel on the map), and a bidirectional integration, which basically entails unidirectional approach and on top of that – an ability to select and address in Google Maps picker and then transfer it back to the other system, such as Siebel.
Since December 2012 and the release of Siebel CRM 18.104.22.168 / 22.214.171.124, Open UI architecture has become publicly available, and keeping in mind that Oracle will support the "traditional" ActiveX-driven client only for Microsoft Internet Explorer 8 or earlier, this new approach to building user interfaces for Siebel is gaining weight. Therefore in this series of articles we will focus on getting Siebel Open UI to work with Google Maps.
This first part of the series will focus on a unidirectional integration – somewhat simple, but necessary, as to certain extent we’ll build on that in the follow-up articles.
In the second part we’ll dive into bidirectional integration, detailing the preparations needed on the SRF side, as well as modifications to the presentation model and presentation renderer.
The final part will round-up the bidirectional integration theme, and will also provide a bit of advice for testing and debugging, as well as some tips’n’tricks.
Please note, however, that this series is a case study, rather than an ultimate guide that fits all and describes every aspect of integrating Siebel Open UI with Google Maps; that said, we truly believe that our experience can be very valuable to everyone starting on the same path.
So without further ado, let’s see how you can start showing your addresses on a Google Map, in just a few minutes!
The unidirectional integration
The most straightforward way of implementing a unidirectional Google Maps integration is to use Symbolic URL and an iFrame. By the way, this solution will work well in both Open UI and HI version, and as a result you’ll be able to display an address from Siebel on a Google Map, like this:
As a starting point, a couple of calculated fields are to be added in your target component:
- One for storing an address string, e.g.:
Name: IPR Location Calc
Calculated Value: [Street Address]+"+"+[Zip Code]+"+"+[City]+"+"+[Location Country]
- And another one for the Symbolic URL:
Name: IPR Google Maps
Calculated Value: IPR Google Maps
Having the fields in place (obviously, you can name them differently), we create a View with a new applet, put field “IPR Google Maps” on it, and do all the stuff needed to make the new View appear in the Application.
Configuration in the application
Now go to Administration – Integration -> Symbolic URL Administration; what we need to accomplish here is to compose an HTTP request containing Google Maps URL with parameters containing the address that we want to show on the map. Add the following entry:
- Name: IPR Google Maps
- URL: http://maps.google.com/maps
- Fixup Name: Default
- SSO Disposition: iFrame
Then, add some Symbolic URL Arguments, like this:
And you’re done! Now simply restart the Application to see your changes in action. Simple, wasn’t it? Next time we’ll venture in a somewhat more rough terrain and will start exploring the intricacies of bidirectional integration with Google Maps.
|About the author: Ilja Dubovskis has deep technical expertise in Siebel CRM. For 9 years he has been working for clients in Telecommunications, Finance, Insurance, Industry and Public Sector areas. In addition to working for clients, he leads Siebel Core Developer School at IPR, as well as acts as a coach for newcomers. He has been with Idea Port Riga since September 2009.|