In this article Olivier Picciotto explains how to insert Convertigo widgets in the salesforce.com CRM product. In this way users can display some valuable data from existing applications embedded in SalesForce pages.



 

Convertigo widgets

Convertigo widgets are components created with Convertigo studio providing a user interface to interact with existing SOA or non SOA enterprise applications. See Convertigo Legacy Publisher, Legacy Integrator, or Convertigo Web Integrator getting started tutorials for more info about building widgets.

In this article we are using an existing Convertigo project providing a widget based on Convertigo Legacy Publisher. This widget uses the dynamic on the fly webization capabilities of Convertigo legacy publisher to make users interact with legacy AS/400 (iSeries) applications. This article applies to any type of Convertigo widget, but uses the AS/400 as a sample.

Inserting a widget in SalesForce

We use in this example a SalesForce developer edition.  This process is based on the salesforce’s Page objects inserted in specific display layout. First of all we will have to create our Convertigo salesforce’s Page.

  • Log in your SalesForce developer edition
  • Choose “Setup” in the user menu
 

 01_widgetsalesforce_setup

  • In the left menu, choose Develop->Pages
 

 02_widgetsalesforce_developpages

  • Click “New” button to create a new page
 

 03_widgetsalesforce_new

  • Fill in the fields as shown.
 

 04_widgetsalesforce_fields

Use the name you want for the label and the name. The magic comes from the apex code. If you know about SalesForce Visualforce pages you know that the page should specify a controller. In our case, as this page is to be inserted in a Contact display, we use the “Contact” standardController. As you see, this code will only insert an IFrame holding the Convertigo widget. This IFrame will load the widget from a specific url of this form:

http://[servername]/[convertigo_appname]/projects/[project_name]/index.html?__sequence=[start_sequence_name]&user=[logged_user_name]

where:
  • Servername is the IP address or DNS name of the Convertigo server. In this sample, as we use demo Convertigo Cloud, we have “demo.convertigo.net”
  • Convertigo_app_name is the application name. For Cloud server it is always “cems”, for on-premises it is usually “convertigo”
  • Project_name is the name of the convertigo project holding your widgets. In our case “KALO_demo”
  • Start_sequence is the name of the sequence used to start the project. In our case “start”.  In our demo, the start sequence needs a user parameter to authenticate the current logged user to the underlying AS/400 system.
  • Logged_user_name is the value of the user variable needed by our start sequence. In our sample, we use the visual force language to specify it dynamically by using this syntax: {!$User.FirstName}, representing the current SalesForce logged user’s first name.

Click “Save” to create your VF page.

  • Now we have to modify the layout of the Contact page. Choose “AppSetup->Customize->Contact-Page Layouts”
  • Click “Edit” on the layout you want to customize. 
     

    05_widgetsalesforce_contactpagelayout 

  • Click on the “Visualforce Pages” link, you should see your previously created Visualforce page, here highlighted in blue.
     
     

    05c_widgetsalesforce_visualforcepages 

     

     

  • You will just now have to drag and drop your VF page to one of the space in your contact details. Then place you mouse on the VF page, you should see a configuration tool.

     06_widgetsalesforce_configurationtool

  • Click on it to adjust the VF page’s width and height.

07_widgetsalesforce_ajustsize

 
  • Click ok, and we are all set! When a user will display a contact, he will immediately have a section of his contact details filled with a Convertigo widget getting data from an existing   and allowing dynamic real time interactions with the AS/400.
     

    08_widgetsalesforce_as400system 

 

1 comment

  • Frank Santana

    Can this product run in a Professional Edition Salesforce environment that does not have APIs? We need to pull data from AS/400 and what is the cost? Thank you.

    Reply

Leave a comment