Integrating with Confirm

The current Weave/Confirm integration supports a two way link between Weave and Confirm. That is Confirm can send the current set of assets to Weave for display and Weave can send the current set of assets for display in Confirm or have them saved as a named selection in Confirm or have Confirm display it's asset selection screen. Currently Internet Explorer is the only browser supported for this type of integration.

Client Workstation

The link between Weave and Confirm requires installation of components on each client computer that will be requiring communication between Weave and Confirm.

The following two section outline the installation and configuration of these components.

Installation

There are 3 components that need to be installed, one is Confirm specific and the other two are common to a number of integration bundles so may already be installed if you're integrating with other third party applications, for example Pathway.

The Confirm specific component is WeaveConfirm.exe, and this executable contains both the component that Weave uses to talk to Confirm and is the executable that Confirm calls to talk to Weave.

The preferred location (according to the Confirm documentation) for the WeaveConfirm.exe is

C:\Program Files\SouthBank Systems\Confirm\GIS\

and once copied to the local PC the WeaveConfirm.exe must be registered by executing it with the -regserver command line parameter

"C:\Program Files\SouthBank Systems\Confirm\GIS\WeaveConfirm.exe" -regserver

This will register the COM components installed within the executable so that the browser running the Weave client can access them. Confirm will access the executable directly, but that must be configured via the registry manually which is covered later.

The other components to be installed are WeaveLink.dll and WeaveLinkImpl.exe. Their preferred location is

C:\Program Files\Cohga\Weave\

and once copied to the local PC both components must be registered, the WeaveLinkImpl.exe in the same way as WeaveConfirm.exe, but WeaveLink.dll using regsvr32

regsvr32 /s "C:\Program Files\Cohga\Weave\WeaveLink.dll"
"C:\Program Files\Cohga\Weave\WeaveLinkImpl.exe" -regserver

Configuration

All registry settings for the Confirm applications reside off the following key

HKEY_LOCAL_MACHINE\Software\SouthBank Systems\

Each Confirm application installed on a workstation has its own key in the registry which resides under the key specified above and is named the same as the Confirm application.

HKEY_LOCAL_MACHINE\Software\SouthBank Systems\<Confirm Application Name>\

For mapping applications the required keys are stored at the following location (which may not exist and in this case will need to be created):

HKEY_LOCAL_MACHINE\Software\SouthBank Systems\<Confirm Application Name>\Mapping\

Within the Mapping key (at least) two string values must be created, one called 'CurrentEngine' that contains the name of the mapping system that should be used by confirm, in this case the value should be 'Weave'

Additionally an 'Engine' string value should also be created under the Mapping key, and should be set to the name of the mapping system, in this case also 'Weave'. There needs to be a separate Engine entry for each mapping application that Confirm can communicate with, and because of this the string value name should be suffixed with a number, for example if Weave is the only mapping system then the string value name will be 'Engine1', but if there is already another mapping system configured then the name may have to be 'Engine2'.

Name

Value

CurrentEngine

Weave

Engine1

Weave

Then the setting for each GIS to interact with Confirm should be created in their own keys under this Mapping key, for Weave the name of the new key will again be 'Weave'

HKEY_LOCAL_MACHINE\Software\SouthBank Systems\<Confirm Application Name>\Mapping\Weave

Under this key the actual setting for Confirm to be able to communicate with Weave will be set

Name

Description

ApplicationName

The full pathname of the WeaveConfirm.exe executable

LinkType

This should be the type of link that used between Confirm and Weave, for Weave it should be 'EXE'

ExportFile

The full pathname to the transfer file

SelectCommand

The command line parameters to pass to WeaveConfirm.exe when Confirm wants Weave to display the current assets.
Select "%1" "<Window Title>" <Startup URL>
The quotes are important
You need to replace <Window Title> with the Internet Explorer window title for the Weave client
You need to replace <Startup URL> with the URL required to start Weave if it's not already running

Example values would be:

Name

Value

ApplicationName

C:\Program Files\SouthBank Systems\Confirm\GIS\WeaveConfirm.exe

LinkType

EXE

ExportFile

C:\SBS\Transfer\con2gis.txt

SelectCommand

Select "%1" "Weave Confirm Client" http:\\weave:8080\weave\confirm.html

This example assumes that there is a Confirm specific client configuration setup in Weave, with the id 'confirm' and title 'Weave Confirm Client'. This doesn't have to be the case and a more generic client configuration could also be used.

The directory for the export file may need to be created. It's believed that Confirm does not automatically create this directory if it does not exist and the transfer will fail if the file can not be created.

The following is a Windows registry export file that can be edited and merged with the registry on each client PC to apply the required settings.

Windows Registry Editor Version 5.00
\[HKEY_LOCAL_MACHINE\SOFTWARE\SouthBank Systems\]
\[HKEY_LOCAL_MACHINE\SOFTWARE\SouthBank Systems\Confirm Enterprise\]
\[HKEY_LOCAL_MACHINE\SOFTWARE\SouthBank Systems\Confirm Enterprise\Mapping\]
"CurrentEngine"="Weave"
"Engine1"="Weave"
\[HKEY_LOCAL_MACHINE\SOFTWARE\SouthBank Systems\Confirm Enterprise\Mapping\Weave\]
"ApplicationName"="C:\\Program Files\\SouthBank Systems\\Confirm\\GIS\\WeaveConfirm.exe"
"LinkType"="EXE"
"ExportFile"="C:\\SBS\\Transfer\\GIS\\con2gis.txt"
"SelectCommand"="Select \"%1\" \"Weave Confirm Client\" http://wvsvr/weave/confirm.html"

Note that the Confirm application name used in the registry export file is "Confirm Enterprise", and may need to be changed.
And also that it's assumed that Weave is the first mapping application that Confirm communicates with, because of the 'Engine1' setting, and this may need to be changed to 'Engine2' or 'Engine3'.


 

Server

The Weave server requires the addition of a single bundle to provide the linkage between Weave and Confirm.

The following two sections outline the installation and configuration of this component.

Installation

The Weave server requires the installation of the com.cohga.weave.confirm bundle, this bundle should be copied to the ...\weave\platform\plugins directory and an entry added to the ...\weave\platform\configuration\config.ini file to ensure the bundle is started automatically.

Example of addition of Confirm bundle to config.ini

...
com.cohga.client.interop@4:start,\
com.cohga.client.details@4:start,\
com.cohga.weave.confirm@4:start,\
...

once this is done restarting the server will make the Confirm functionality available on the server.

Configuration

The configuration of the Confirm bundle in Weave is a two part process, the first step is to configure the Confirm bundle itself, then you add the buttons to the client.

The Confirm bundle uses the namespace

com.cohga.weave.confirm

So this should be added to your config.xml file, for example

<?xml version="1.0" encoding="UTF-8"?>

<config xmlns="urn:com.cohga.server.config#1.0" xmlns:confirm="urn:com.cohga.weave.confirm#1.0">
...
</config>

Then you can add the Confirm specific configuration, which involves linking the Weave entity with the feature group in Confirm.

When transferring assets from Confirm to a GIS Confirm provides a list of asset ids and the 'feature group' that each id belongs to, the Weave Confirm configuration provides a link between this feature group and the relevant Weave entity, as well as informing the Weave client that the user is able to send the current selection for any of the listed entities to Confirm.

So to setup the link between Weave and Confirm you would use something like:

<?xml version="1.0" encoding="UTF-8"?>

<config xmlns="urn:com.cohga.server.config#1.0" xmlns:confirm="urn:com.cohga.weave.confirm#1.0">
    <confirm:config>
        <entity id="property" featuregroup="PROP"/>
        <entity id="roads" featuregroup="ROAD"/>
    </confirm:config>
</config>

In this example the entities in Weave, 'property' and 'roads', will be enabled for transfer from/to Confirm, and the feature group they're assigned to in Confirm is 'PROP' and 'ROAD'

Note that the two values, 'PROP' and 'ROAD', should be set according to Confirm.

The Weave to Confirm buttons can be either added directly to any toolbar/statusbar in a Weave client configuration or added as a menu.

To add the items individually use the following:

<toolbar>
    ...
    <item action="com.cohga.confirm.ShowFeatures"/>
    <item action="com.cohga.confirm.SaveAsNamedSelection"/>
    <item action="com.cohga.confirm.SelectFeatures"/>
    ...
</toolbar>

You don't have to enable all actions, but at least ShowFeatures should be enabled to allow sending of selection from Weave to Confirm

To add them as a menu use the following:

<toolbar>
    ...
    <item action="com.cohga.client.actions.menuAction">
        <text>Confirm</text>
        <iconCls>icon-confirm</iconCls>
        <item action="com.cohga.confirm.ShowFeatures" text="Show Assets"/>
        <item action="com.cohga.confirm.SaveAsNamedSelection" text="Save Assets"/>
        <item action="com.cohga.confirm.SelectFeatures" text="Select Assets"/>
    </item>
    ...
</toolbar>

To remove the Confirm label from the menu don't include the <text> item