The Weave/ProClaim integration provides a two way link between Weave and ProClaim. That is ProClaim can call out to Weave to display information and Weave can call out to ProClaim to display information.
Client Workstation
The link between Weave and ProClaim requires the installation of components on each client computer that will be communicating between Weave and ProClaim.
The following sections outline the installation and configuration of these components.
Installation
The ProClaim components are installed on the server as part of the Interop installer. When the Interop installer is run and ProClaim chosen as one of the components to install this will install the server side components and also copy the client components to the server in the weave\interop\proclaim
directory, these components, along with the WeaveLink
components must be registered on any client PC that will be linking between Weave and ProClaim.
Registration of the ProClaim components should be performed using the regsvr32.exe
application provided with Windows, e.g.
regsvr32 WeaveProclaimLink.dll regsvr32 WeaveMapLink.dll
Un-installation
The installation can be undone by using regsvr32 with the "/u" parameter, e.g.
regsvr32 /u WeaveProclaimLink.dll regsvr32 /u WeaveMapLink.dll
Server
Configuration
Server
For Weave to communicate with ProClaim there needs to be a number of parameters specified, which can be set separately for different instances of ProClaim.
Firstly the proclaim namespace must be added to the config.xml file header (or a separate proclaim.xml file can be created and included into config.xml)
<?xml version="1.0" encoding="UTF-8"?> <config xmlns="urn:com.cohga.server.config#1.0" xmlns:proclaim="urn:com.cohga.proclaim#1.0"> ... </config>
then the proclaim configuration must be setup to provide the connection information required for ProClaim and to tell Weave what entities to allow the transfer for.
<?xml version="1.0" encoding="UTF-8"?> <config xmlns="urn:com.cohga.server.config#1.0" xmlns:proclaim="urn:com.cohga.proclaim#1.0"> <proclaim:config id="production"> <datasourcename>DSN</datasourcename> <server>Server</server> <database>Database</database> <username>Username</username> <password>ENCSEMPKCCSFQTJBFMPABFJEBZJAKFCXGME</password> <from>Weave</from> <to>ProClaim</to> <entity id="property"/> <entity id="street"/> </proclaim:config> </config>
In the above example the password has been encrypted using encrypt
osgi command.
Name | Description |
---|---|
datasourcename | The ODBC datasource (not an Weave data source) used to connect to the ProClaim database, possibly ‘ProClaim’ or ‘Protege’. |
server | The server that contains the ProClaim database, site specific machine name. |
database | The name of the ProClaim database, possibly ‘ProClaim’ or ‘Protege’. |
from | The ProClaim source application id, possibly 'Weave' or 'WEAVE'. |
to | The ProClaim destination application id. |
username | The username to connect to the database. |
password | The password to connect to the database. |
entity | Each entity tag is a link between Weave and ProClaim |
The 'entity' tags setup sources for data to send to ProClaim and targets for data sent from ProClaim.
When setting up a linkage in ProClaim to go from Weave to ProClaim the source entity should be set to the 'id' attribute of the entity tag.
When setting up a linkage in ProClaim to go from ProClaim to Weave the destination entity should be set to the 'id' attribute of the entity tag.
Client
Once the server have been configured the ProClaim action can be added to a toolbar in the client configuration.
<item action="com.cohga.proclaim.Send" version="production"/>
You need to include the version to let the Weave to ProClaim link know which connection config to use. The version should match the id of a proclaim:config
tag.
Filtering identifiers
If you need to filter the values before sending them to ProClaim, because ProClaim uses different identifiers for the entity than Weave does, then you can specify a filter when seting up the entities in the config details and add the definition for the filter. Note the addition of the new xmlns:filter="urn:com.cohga.selection.filter#1.0"
namespace.
<?xml version="1.0" encoding="UTF-8"?> <config xmlns="urn:com.cohga.server.config#1.0" xmlns:proclaim="urn:com.cohga.proclaim#1.0" xmlns:filter="urn:com.cohga.selection.filter#1.0"> <proclaim:config id="production"> <datasourcename>proclaim</datasourcename> <server>SQLSERVER2008\SQLEXPRESS</server> <database>ProProd</database> <username>proclaim</username> <password>ENCSEMPKCCSFQTJBFMPABFJEBZJAKFCXGME</password> <from>WEAVE</from> <to>CES</to> <entity id="property" filter="proclaim.production.property"/> <entity id="street"/> </proclaim:config> <filter:db id="proclaim.production.property"> <datasource>proclaim</datasource> <table>GEMS_LINK</table> <keycolumn>PID</keycolumn> <!-- column used in spatial database --> <idcolumn>PRUPI</idcolumn> <!-- column required for proclaim --> </filter:db> </config>
ProClaim
When registering the Weave application with ProClaim the Automation Component for Weave is WeaveMapLink
and the Automation Class is WeaveMapAutomation
.
There are two properties for the Weave application that should be set:
- AppWindowName
- The title of the browser window (matches the start of the actual window title) to locate a running Weave instance.
- URL
- The URL to start Weave if it is not already running, that is if an Internet Explorer window matching the AppWindowName isn't found
Only Direct Relation criteria type are currently supported.
Client Test Script
The following script can be saved to a file on a client PC as "proclaim.vbs" and run from a command prompt using "cscript proclaim.vbs" to test if the required components are installed and available
on error resume next dim o set o = CreateObject("Weave.Link") if o is nothing then WScript.Echo("Don't have Weave.Link") else WScript.Echo("Have Weave.Link") end if set o = Nothing set o = CreateObject("WeaveMapLink.WeaveMapAutomation") if o is nothing then WScript.Echo("Don't have WeaveMapLink.WeaveMapAutomation") else WScript.Echo("Have WeaveMapLink.WeaveMapAutomation") end if set o = Nothing set o = CreateObject("WeaveProclaimLink.ProclaimFactory") if o is nothing then WScript.Echo("Don't have WeaveProclaimLink.ProclaimFactory") else WScript.Echo("Have WeaveProclaimLink.ProclaimFactory") end if set o = Nothing set o = CreateObject("ProAppLink.Linkages") if o is nothing then WScript.Echo("Don't have ProAppLink.Linkages") else WScript.Echo("Have ProAppLink.Linkages") end if set o = Nothing
C:\temp>cscript proclaim.vbs Microsoft (R) Windows Script Host Version 5.812 Copyright (C) Microsoft Corporation. All rights reserved. Have Weave.Link Have WeaveMapLink.WeaveMapAutomation Have WeaveProclaimLink.ProclaimFactory Have ProAppLink.Linkages