WeaveLink

Internet Explorer 10+

There is a new update to use with Internet Explorer 10 or later. This update should resolve issues with the WeaveLink component when working with newer versions of Internet Explorer.

This link contains an updated version of the WeaveLinkImpl.exe component, along with the current version of the interop bundle for the server.

Note that if you use this version you no longer need to set the X-UA-Compatible header as described in the note below.

Downloading WeaveLink

The latest version of the WeaveLink components can be downloaded from WeaveLink_latest.zip.

A number of integration modules make use of WeaveLink, which is a set of Windows COM components that provides a means of controlling an instance of the Weave client from a Windows application.

WeaveLink is only supported on a client PC running Windows and also requires the use of Internet Explorer as the clients browser. The Weave client can still be run with other browsers that may be installed on the client PC, but when a third part application tries to communicate with Weave via WeaveLink it will start a new instance of Internet Explorer. Additionally, any buttons/tools within the Weave client that use WeaveLink will not enable themselves when run within a browser other than Internet Explorer.

WeaveLink is supplied as three components, the first WeaveLink.dll is the core component that provides the basic interfaces that applications should use to communicate with Weave. This is what third party applications will be programmed against to communicate with Weave.

The other two components are implementations of this interface, WeaveLinkImpl.exe, for deployment within a a production environment running a Weave server, and WeaveLinkDebug.exe, for deployment within a development environment without a running Weave server (primarily for third party developers to develop/test against).

Use of the WeaveLink component also requires the installation of the client interop bundle on the server, com.cohga.client.interop.

Information relating to writing code using the WeaveLink COM API can be found on the page relating to Third Party Application Integration.

There's a new Weave client launcher helper service available for situations where launching a Weave client via the WeaveLink COM API causes the launching application to freeze.

This service is not required, and should only need to be installed in situations where there are issues with calling applications freezing when calling Weave.

If it's installed on the client PC it will be used to start new instances of the Weave client by the WeaveLink COM API otherwise the existing method will be used.

You must be using at least version 1.1 of the WeaveLinkImpl component to make use of the launcher helper service.

For IE9 and later you may need to include the following tag in the client config
<meta http-equiv="X-UA-Compatible" content="IE=8"/>

Installation

The WeaveLink components, WeaveLink.dll and one of WeaveLinkImpl.exe or WeaveLinkDebug.exe, should be copied and registered on each client PC that will be using an integration module that requires their use (which is generally any implementation that link Weave with a desktop application).

To register WeaveLink.dll the regsvr32 program (supplied with Windows) should be used

regsvr32.exe /s "C:\Program Files\Weave\WeaveLink.dll"

To register WeaveLinkImpl.exe (and similarly WeaveLinkDebug.exe) the programs themselves perform the operation

"C:\Program Files\Weave\WeaveLinkImpl.exe" /regserver

To install the optional launcher helper service

"C:\Program Files\Weave\WeaveLinkService.exe" -install

Uninstallation

To remove the components is a similar process

"C:\Program Files\Weave\WeaveLinkImpl.exe" /unregserver

and

regsvr32.exe /u /s "C:\Program Files\Weave\WeaveLink.dll"

and

"C:\Program Files\Weave\WeaveLinkService.exe" -uninstall

Testing

To test that the WeaveLink components are installed and operating properly the Windows scripting host can be used by creating a small test program.

Copy the following to a new text file called weavetest.vbs and change the two parameters, "Weave HTML Client" and "http://hostname:8080/weave/main.htm" to those appropriate for your site.

The first parameter is the title of the Internet Explorer window that has a running instance of the Weave client.
The second parameter is the URL to start Weave, if WeaveLink can't find an Internet Explorer instance with the windows title given in the first parameter.

Dim link
Set link = CreateObject("Weave.Link")
if not link is Nothing then
    Dim client
    Set client = link.Client("Weave HTML Client", "http://hostname:8080/weave/main.htm")
    if not client is nothing then
        client.BringToFront
    end if
end if

Then by double clicking on the weavetest.vbs file in Windows Explorer or running

wscript weavetest.vbs

at a command prompt you should see the Weave client started and brought to the front (or highlighted in some manner if that's not possible). If you've registered WeaveLinkDebug.exe, rather than WeaveLinkImpl.exe, you'll see a small test form displayed rather than the Weave client.

If you see and error message similar to the following then it means that WeaveLink.dll and/or WeaveLinkImpl.exe (or WeaveLinkDebug.exe) has not been registered correctly.

If you see the following error it probably indicates that the window title parameter is incorrect.

The newest version of the WeaveLinkImpl.exe doesn't not stop the startup if the window title is incorrect.

Debugging

Once the components are correctly registered and they do not function correctly then the logged output from the WeaveLink components (and most of the integration modules) can be viewed using the DebugView tool from Microsoft. The tool can be downloaded at Windows Sysinternals.