ILINX Integrate Redux

ILINX Integrate has been nicely summarized by John Linehan in his December 19, 2009 blog.  I saw Shad White and John’s ILINX Integrate demonstration at last year’s Nexus and was really impressed.  Simply stated, this application allows you to take data from one application and paste it into another without modifying either application.  And to avoid confusion Integrate has also been known as ILINK AIK or Application Extender Kit.  Works for me!

Now that I have worked with the Integrate program I have come up with some tips and tricks that will allow you to get up to speed with this tool a little faster.  This document assumes you’ve at least partially perused some ILINX Integrate documentation as I’ll refer to components without describing them.

Always budget sufficient time for your project!  Not every project is right the first time.  With some testing and massaging, you’ll get there. But remember that taking your time and really testing your project will pay big dividends.  Are you cut and paste results consistent? Do you need to insert any delays?  Have you tested using different logins? Have you moved your target and source windows around in testing? Have you accessed browser-based screens from all possible user links? Have you kept your eye on the Integrate log?  Did you test from the Studio and the Client? Multiple machines? Multiple OS’s?  Multiple browsers? How about under various phases of the moon?  OK scratch the last one as it is (for sure) unnecessary.

Read the documentation! The Designer Guide PDF file is your ticket but the on-line help is also very good.  There’s a lot of functionality packed in and you may find some project shortcuts.  More likely you’ll find the solutions to problems you weren’t thinking Integrate could solve (ok this is a long-cut!).  There’s a mail task component, an FTP task, a script task, an XSLT task, a screen capture task, and many more.  This is not a steroidal snipping tool but rather a feature-rich application extension environment.

Consider starting with a simple thick client application.  I’ve used Windows calculator as a handy target application for testing.  Make your

connection, and define the screen which holds the fields you wish to work with.  It helps to already have data in the field you wish to define.  When you map the field you should see the contents of the field in the Integrate Value field. In this example the field value is ‘brian eno’.

 

Also useful is to add a dialog task.  The dialog tasks provides the ability to perform quick tests to validate that the data you are trying to grab is obtainable.  You can add an event to this task — events are task triggers, essentially.  You can configure this event as a Koolbar button – a taskbar containing buttons you configure.  When executing a project click the button to see the values you are grabbing.

And remember you can add many buttons, associated with many tasks in your project. Label your buttons well!

Is your data not pasting when it should?  Here’s the first thing to do: change the default value of your connection’s Field Refresh Option.

Set this to ‘Read Fields Prior To Task Execution’.  Then  start with the log file.  You may need to redefine the screen that encapsulates your target fields.

 

Is your Koolbar not popping up when it should?  See the last entry above. And for Browser applications there is a  Browser Window property field. Here you may substitute portions of the window caption or URL text with wildcard characters (*,?,#).  This can make all the difference when trying to identify a screen!  You may also wildcard html element index values and html FRAME element URL values. To do this, click on ‘Manage Hierarchy’.

I’ve found it helpful to keep a record of the hierarchy by copy and pasting the hierarchy AND screenshotting the screen element hierarchy (like the example below).  This record can speed debugging efforts.

 

It’s easy to add a web URL task.  Use input parameters to map field values like this: http://localhost/search.asp?query=${parm1}+${parm2}.  You can then map parm1 and parm2 to fields in your project using the Data Mapping editor. Easy-schmeezy!

Hopefully this is enough to whet your appetite and save some time getting started.  Doing careful and well-tested development work will result in a smooth-running application that will pay for itself time and time again. Reminds me of the prep work adage I try to never forget:   “give me six hours to chop down a tree and I will spend the first four sharpening the axe.”  (Abraham Lincoln, 1809-65).  I like that this quote came from Abe and not Jack Torrance (remember Nicholson in The Shining?).