IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks...
Transcript of IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks...
MDM Multidomain Edition (Version 901)
IDD-Teamworks Integration Implementation Guide
IDD-Teamworks Integration Implementation Guide ii
Informatica MDM Multidomain Hub - Version 9 01 - September 2010 revised November 2010 Copyright (c) 2010 Informatica All rights reserved
This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law Reverse engineering of the software is prohibited No part of this document may be reproduced or transmitted in any form by any means (electronic photocopying recording or otherwise) without prior consent of Informatica Corporation This Software is be protected by US andor international Patents and other Patents Pending
Use duplication or disclosure of the Software by the US Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 2277202-1(a) and 2277702-3(a) (1995) DFARS 252227-7013copy(1)(ii) (OCT 1988) FAR 12212(a) (1995) FAR 52227-19 or FAR 52227-14 (ALT III) as applicable
The information in this product or documentation is subject to change without notice If you find any problems in this product or documentation please report them to us in writing
Informatica Informatica Platform Informatica Data Services PowerCenter PowerCenterRT PowerCenter Connect PowerCenter Data Analyzer PowerExchange PowerMart Metadata Manager Informatica Data Quality Informatica Data Explorer Informatica B2B Data Transformation Informatica B2B Data Exchange Informatica On Demand and Siperian are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world All other company and product names may be trade names or trademarks of their respective owners
Portions of this software andor documentation are subject to copyright held by third parties including without limitation Copyright DataDirect Technologies All rights reserved Copyright copy Sun Microsystems All rights reserved
This product includes software developed by the Apache Software Foundation (httpwwwapacheorg) and other software which is licensed under the Apache License Version 20 (the License) You may obtain a copy of the License at httpwwwapacheorglicenses LICENSE-20 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied See the License for the specific language governing permissions and limitations under the License
This product includes software which is licensed under the GNU Lesser General Public License Agreement which may be found at httpwwwgnuorglicenseslgplhtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose
This product includes software which is licensed under the CDDL (the License) You may obtain a copy of the License at httpwwwsuncomcddlcddlhtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwopensourceorglicensesbsd-licensephp The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software Copyright (c) 2003-2008 Terence Parr all rights reserved which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwantlrorglicensehtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and f itness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle (httpwwwbouncycastleorg) which is licensed under a form of the MIT License (the License) You may obtain a copy of the License at httpwwwbouncycastleorglicencehtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
DISCLAIMER Informatica Corporation provides this documentation as is without warranty of any kind either express or implied including but not limited to the implied warranties of non-infringement merchantability or use for a particular purpose Informatica Corporation does not warrant that this software or documentation is error free The information provided in this software or documentation may include technical inaccuracies or typographical errors The information in this software and documentation is subject to change at any time without notice
NOTICES This Informatica product (the ldquoSoftwarerdquo) may include certain drivers (the ldquoDataDirect Driversrdquo) from DataDirect Technologies an operating company of Progress Software Corporation (ldquoDataDirectrdquo) which are subject to the following terms and conditions
1 THE DATADIRECT DRIVERS ARE PROVIDED ldquoAS ISrdquo WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOTLIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
2 IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION INCLUDING WITHOUT LIMITATION BREACH OF CONTRACT BREACH OF WARRANTY NEGLIGENCE STRICT LIABILITY MISREPRESENTATION AND OTHER TORTS
iii IDD-Teamworks Integration Implementation Guide
Informatica Resources
Informatica Customer Portal
As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom The site contains product information user group information newsletters access to the Informatica customer support case management system (ATLAS) the Informatica How-To Library the Informatica Knowledge Base the Informatica Multimedia Knowledge Base Informatica Documentation Center and access to the Informatica user community
Informatica Documentation
The Informatica Documentation team takes every effort to create accurate usable documentation If you have questions comments or ideas about this documentation contact the Informatica Documentation team through email at infa_documentationinformaticacom We will use your feedback to improve our documentation Let us know if we can contact you regarding your comments
The Documentation team updates documentation as needed To get the latest documentation for your product navigate to the Informatica Documentation Center from httpmyinformaticacom
Informatica Web Site
You can access the Informatica corporate web site at httpwwwinformaticacom The site contains information about Informatica its background upcoming events and sales offices You will also find product and partner information The services area of the site includes important information about technical support training and education and implementation services
Informatica How-To Library
As an Informatica customer you can access the Informatica How-To Library at httpmyinformaticacom The How-
To Library is a collection of resources to help you learn more about Informatica products and features It includes articles and interactive demonstrations that provide solutions to common problems compare features and behaviors and guide you through performing specific real-world tasks
Informatica Knowledge Base
As an Informatica customer you can access the Informatica Knowledge Base at httpmyinformaticacom Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products You can also find answers to frequently asked questions technical white papers and technical tips If you have questions comments or ideas about the Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
Informatica Multimedia Knowledge Base
As an Informatica customer you can access the Informatica Multimedia Knowledge Base at
httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
IDD-Teamworks Integration Implementation Guide iv
Informatica Global Customer Support
You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom
Use the following telephone numbers to contact Informatica Global Customer Support
North AmericaSouth America
EuropeMiddle EastAfrica
AsiaAustralia
Toll Free
North America +1 877 463 2435
Brazil 0800 891 0202
Mexico 001 888 209 8853
Standard Rate
North America +1 650 653 6332
Toll Free
United Kingdom 00800 4632 4357 or 0800 023 4632
France 00800 4632 4357
Netherlands 00800 4632 4357
Germany 00800 4632 4357
Switzerland 00800 4632 4357
Israel 00800 4632 4357
Spain 900 813 166
Portugal 800 208 360
Italy 800 915 985
Standard Rate
Belgium +32 15 281 702
France 0805 804632
Germany +49 1805 702 702
Netherlands +31 306 022 797
Switzerland 0800 463 200
Toll Free
Australia 1 800 151 830
New Zealand 1 800 151 830
Singapore 001 800 4632 4357
Standard Rate
India +91 80 4112 5738
v IDD-Teamworks Integration Implementation Guide
Table of Contents
Introduction 1
Pre-requisites 1
Informatica Component Library for Teamworks 2
Installation 2
Business Processes 8
Participant Groups 8
Services 9
Types 11
SIF Connectors and Integrations 15
Configuring an ORS to Use Teamworks 16
Creating a User with Privileges to Teamworks 17
Updating the IDD Configuration File 17
Automatic Initiation of Merge Tasks 19
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide ii
Informatica MDM Multidomain Hub - Version 9 01 - September 2010 revised November 2010 Copyright (c) 2010 Informatica All rights reserved
This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law Reverse engineering of the software is prohibited No part of this document may be reproduced or transmitted in any form by any means (electronic photocopying recording or otherwise) without prior consent of Informatica Corporation This Software is be protected by US andor international Patents and other Patents Pending
Use duplication or disclosure of the Software by the US Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 2277202-1(a) and 2277702-3(a) (1995) DFARS 252227-7013copy(1)(ii) (OCT 1988) FAR 12212(a) (1995) FAR 52227-19 or FAR 52227-14 (ALT III) as applicable
The information in this product or documentation is subject to change without notice If you find any problems in this product or documentation please report them to us in writing
Informatica Informatica Platform Informatica Data Services PowerCenter PowerCenterRT PowerCenter Connect PowerCenter Data Analyzer PowerExchange PowerMart Metadata Manager Informatica Data Quality Informatica Data Explorer Informatica B2B Data Transformation Informatica B2B Data Exchange Informatica On Demand and Siperian are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world All other company and product names may be trade names or trademarks of their respective owners
Portions of this software andor documentation are subject to copyright held by third parties including without limitation Copyright DataDirect Technologies All rights reserved Copyright copy Sun Microsystems All rights reserved
This product includes software developed by the Apache Software Foundation (httpwwwapacheorg) and other software which is licensed under the Apache License Version 20 (the License) You may obtain a copy of the License at httpwwwapacheorglicenses LICENSE-20 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied See the License for the specific language governing permissions and limitations under the License
This product includes software which is licensed under the GNU Lesser General Public License Agreement which may be found at httpwwwgnuorglicenseslgplhtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose
This product includes software which is licensed under the CDDL (the License) You may obtain a copy of the License at httpwwwsuncomcddlcddlhtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwopensourceorglicensesbsd-licensephp The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software Copyright (c) 2003-2008 Terence Parr all rights reserved which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwantlrorglicensehtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and f itness for a particular purpose See the License for the specific language governing permissions and limitations under the License
This product includes software Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle (httpwwwbouncycastleorg) which is licensed under a form of the MIT License (the License) You may obtain a copy of the License at httpwwwbouncycastleorglicencehtml The materials are provided free of charge by Informatica as-is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose See the License for the specific language governing permissions and limitations under the License
DISCLAIMER Informatica Corporation provides this documentation as is without warranty of any kind either express or implied including but not limited to the implied warranties of non-infringement merchantability or use for a particular purpose Informatica Corporation does not warrant that this software or documentation is error free The information provided in this software or documentation may include technical inaccuracies or typographical errors The information in this software and documentation is subject to change at any time without notice
NOTICES This Informatica product (the ldquoSoftwarerdquo) may include certain drivers (the ldquoDataDirect Driversrdquo) from DataDirect Technologies an operating company of Progress Software Corporation (ldquoDataDirectrdquo) which are subject to the following terms and conditions
1 THE DATADIRECT DRIVERS ARE PROVIDED ldquoAS ISrdquo WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOTLIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
2 IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION INCLUDING WITHOUT LIMITATION BREACH OF CONTRACT BREACH OF WARRANTY NEGLIGENCE STRICT LIABILITY MISREPRESENTATION AND OTHER TORTS
iii IDD-Teamworks Integration Implementation Guide
Informatica Resources
Informatica Customer Portal
As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom The site contains product information user group information newsletters access to the Informatica customer support case management system (ATLAS) the Informatica How-To Library the Informatica Knowledge Base the Informatica Multimedia Knowledge Base Informatica Documentation Center and access to the Informatica user community
Informatica Documentation
The Informatica Documentation team takes every effort to create accurate usable documentation If you have questions comments or ideas about this documentation contact the Informatica Documentation team through email at infa_documentationinformaticacom We will use your feedback to improve our documentation Let us know if we can contact you regarding your comments
The Documentation team updates documentation as needed To get the latest documentation for your product navigate to the Informatica Documentation Center from httpmyinformaticacom
Informatica Web Site
You can access the Informatica corporate web site at httpwwwinformaticacom The site contains information about Informatica its background upcoming events and sales offices You will also find product and partner information The services area of the site includes important information about technical support training and education and implementation services
Informatica How-To Library
As an Informatica customer you can access the Informatica How-To Library at httpmyinformaticacom The How-
To Library is a collection of resources to help you learn more about Informatica products and features It includes articles and interactive demonstrations that provide solutions to common problems compare features and behaviors and guide you through performing specific real-world tasks
Informatica Knowledge Base
As an Informatica customer you can access the Informatica Knowledge Base at httpmyinformaticacom Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products You can also find answers to frequently asked questions technical white papers and technical tips If you have questions comments or ideas about the Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
Informatica Multimedia Knowledge Base
As an Informatica customer you can access the Informatica Multimedia Knowledge Base at
httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
IDD-Teamworks Integration Implementation Guide iv
Informatica Global Customer Support
You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom
Use the following telephone numbers to contact Informatica Global Customer Support
North AmericaSouth America
EuropeMiddle EastAfrica
AsiaAustralia
Toll Free
North America +1 877 463 2435
Brazil 0800 891 0202
Mexico 001 888 209 8853
Standard Rate
North America +1 650 653 6332
Toll Free
United Kingdom 00800 4632 4357 or 0800 023 4632
France 00800 4632 4357
Netherlands 00800 4632 4357
Germany 00800 4632 4357
Switzerland 00800 4632 4357
Israel 00800 4632 4357
Spain 900 813 166
Portugal 800 208 360
Italy 800 915 985
Standard Rate
Belgium +32 15 281 702
France 0805 804632
Germany +49 1805 702 702
Netherlands +31 306 022 797
Switzerland 0800 463 200
Toll Free
Australia 1 800 151 830
New Zealand 1 800 151 830
Singapore 001 800 4632 4357
Standard Rate
India +91 80 4112 5738
v IDD-Teamworks Integration Implementation Guide
Table of Contents
Introduction 1
Pre-requisites 1
Informatica Component Library for Teamworks 2
Installation 2
Business Processes 8
Participant Groups 8
Services 9
Types 11
SIF Connectors and Integrations 15
Configuring an ORS to Use Teamworks 16
Creating a User with Privileges to Teamworks 17
Updating the IDD Configuration File 17
Automatic Initiation of Merge Tasks 19
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
iii IDD-Teamworks Integration Implementation Guide
Informatica Resources
Informatica Customer Portal
As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom The site contains product information user group information newsletters access to the Informatica customer support case management system (ATLAS) the Informatica How-To Library the Informatica Knowledge Base the Informatica Multimedia Knowledge Base Informatica Documentation Center and access to the Informatica user community
Informatica Documentation
The Informatica Documentation team takes every effort to create accurate usable documentation If you have questions comments or ideas about this documentation contact the Informatica Documentation team through email at infa_documentationinformaticacom We will use your feedback to improve our documentation Let us know if we can contact you regarding your comments
The Documentation team updates documentation as needed To get the latest documentation for your product navigate to the Informatica Documentation Center from httpmyinformaticacom
Informatica Web Site
You can access the Informatica corporate web site at httpwwwinformaticacom The site contains information about Informatica its background upcoming events and sales offices You will also find product and partner information The services area of the site includes important information about technical support training and education and implementation services
Informatica How-To Library
As an Informatica customer you can access the Informatica How-To Library at httpmyinformaticacom The How-
To Library is a collection of resources to help you learn more about Informatica products and features It includes articles and interactive demonstrations that provide solutions to common problems compare features and behaviors and guide you through performing specific real-world tasks
Informatica Knowledge Base
As an Informatica customer you can access the Informatica Knowledge Base at httpmyinformaticacom Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products You can also find answers to frequently asked questions technical white papers and technical tips If you have questions comments or ideas about the Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
Informatica Multimedia Knowledge Base
As an Informatica customer you can access the Informatica Multimedia Knowledge Base at
httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom
IDD-Teamworks Integration Implementation Guide iv
Informatica Global Customer Support
You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom
Use the following telephone numbers to contact Informatica Global Customer Support
North AmericaSouth America
EuropeMiddle EastAfrica
AsiaAustralia
Toll Free
North America +1 877 463 2435
Brazil 0800 891 0202
Mexico 001 888 209 8853
Standard Rate
North America +1 650 653 6332
Toll Free
United Kingdom 00800 4632 4357 or 0800 023 4632
France 00800 4632 4357
Netherlands 00800 4632 4357
Germany 00800 4632 4357
Switzerland 00800 4632 4357
Israel 00800 4632 4357
Spain 900 813 166
Portugal 800 208 360
Italy 800 915 985
Standard Rate
Belgium +32 15 281 702
France 0805 804632
Germany +49 1805 702 702
Netherlands +31 306 022 797
Switzerland 0800 463 200
Toll Free
Australia 1 800 151 830
New Zealand 1 800 151 830
Singapore 001 800 4632 4357
Standard Rate
India +91 80 4112 5738
v IDD-Teamworks Integration Implementation Guide
Table of Contents
Introduction 1
Pre-requisites 1
Informatica Component Library for Teamworks 2
Installation 2
Business Processes 8
Participant Groups 8
Services 9
Types 11
SIF Connectors and Integrations 15
Configuring an ORS to Use Teamworks 16
Creating a User with Privileges to Teamworks 17
Updating the IDD Configuration File 17
Automatic Initiation of Merge Tasks 19
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide iv
Informatica Global Customer Support
You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom
Use the following telephone numbers to contact Informatica Global Customer Support
North AmericaSouth America
EuropeMiddle EastAfrica
AsiaAustralia
Toll Free
North America +1 877 463 2435
Brazil 0800 891 0202
Mexico 001 888 209 8853
Standard Rate
North America +1 650 653 6332
Toll Free
United Kingdom 00800 4632 4357 or 0800 023 4632
France 00800 4632 4357
Netherlands 00800 4632 4357
Germany 00800 4632 4357
Switzerland 00800 4632 4357
Israel 00800 4632 4357
Spain 900 813 166
Portugal 800 208 360
Italy 800 915 985
Standard Rate
Belgium +32 15 281 702
France 0805 804632
Germany +49 1805 702 702
Netherlands +31 306 022 797
Switzerland 0800 463 200
Toll Free
Australia 1 800 151 830
New Zealand 1 800 151 830
Singapore 001 800 4632 4357
Standard Rate
India +91 80 4112 5738
v IDD-Teamworks Integration Implementation Guide
Table of Contents
Introduction 1
Pre-requisites 1
Informatica Component Library for Teamworks 2
Installation 2
Business Processes 8
Participant Groups 8
Services 9
Types 11
SIF Connectors and Integrations 15
Configuring an ORS to Use Teamworks 16
Creating a User with Privileges to Teamworks 17
Updating the IDD Configuration File 17
Automatic Initiation of Merge Tasks 19
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
v IDD-Teamworks Integration Implementation Guide
Table of Contents
Introduction 1
Pre-requisites 1
Informatica Component Library for Teamworks 2
Installation 2
Business Processes 8
Participant Groups 8
Services 9
Types 11
SIF Connectors and Integrations 15
Configuring an ORS to Use Teamworks 16
Creating a User with Privileges to Teamworks 17
Updating the IDD Configuration File 17
Automatic Initiation of Merge Tasks 19
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
Introduction
The Informatica 901 release includes out-of-the-box integration between the
Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in
Hub tasks for workflow
Prerequisites
1 Install Teamworks version 622
Only the Teamworks Process Server and Authoring Environment are required
Instructions for installing Teamworks are available from Lombardi and are
not provided as part of this implementation guide
Note We do not support Teamworks version 7 due to fundamental changes
over previous versions of Teamworks
2 Install Informatica MDM Hub version 901 or later
Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide
3 Enable advanced capabilities in the Teamworks Authoring Environment
1 Click Window-gtPreferences
2 Expand the Teamworks node in the tree in the left pane
3 Select the Capabilities node in the tree in the left pane
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 2
4 Check Teamworks Advanced Features
Informatica Component Library for Teamworks
Informatica provides the Teamworks Component Library for two reasons First the
library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components
that must be used for the IDD to be able to understand information contained in Teamworks business processes
Tip When making changes to connectors be sure to check in the component after
saving to propagate changes to the server
Installation
1 Launch the Teamworks Authoring Environment
2 Select File-gtImport from the menu bar
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
3 IDD-Teamworks Integration Implementation Guide
3 Choose Teamworks Library File from the Teamworks folder
4 Click Next
5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within
the Resource Kit
This file is located in the samplesBPM directory within the Resource Kit
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 4
6 Open the IDD-InformaticaTeamworksLibrary file
7 Click Next and Finish
Modify the SIF WSDL File for Introspection by Teamworks
Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the
WSDL file with Teamworks follow these steps
1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl
2 Open the saved file with any text editor
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
5 IDD-Teamworks Integration Implementation Guide
3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as
follows
From
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoice maxOccurs=unbounded minOccurs=0gt
ltxselement name=field type=Fieldgt
ltxselement name=trustOverrideField
type=TrustOverrideFieldgt
ltxselement name=trustEnabledField
type=TrustEnabledFieldgt
ltxselement name=matchPathField type=MatchPathFieldgt
ltxselement name=bvtField type=BvtFieldgt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUidgt
ltxssequencegt
ltxscomplexTypegt
To
ltxscomplexType name=Recordgt
ltxsannotationgt
ltxsdocumentationgtThis is a single record of
dataltxsdocumentationgt
ltxsannotationgt
ltxssequencegt
ltxschoicegt
ltxselement name=field type=Field maxOccurs=unbounded
minOccurs=0gt
ltxselement name=trustOverrideField
type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt
ltxselement name=trustEnabledField
type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 6
ltxselement name=matchPathField type=MatchPathField
maxOccurs=unbounded minOccurs=0gt
ltxselement name=bvtField type=BvtField
maxOccurs=unbounded minOccurs=0gt
ltxschoicegt
ltxselement name=siperianObjectUid
type=tnsSiperianObjectUid gt
ltxssequencegt
ltxscomplexTypegt
4 Save the modified file to a location accessible by the Teamworks server
Update All Connectors
1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library
2 Open each object ending in ldquohellipConnectorrdquo
3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier
See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions
4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
7 IDD-Teamworks Integration Implementation Guide
5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server
6 Save your changes and check the changed file into Teamworks
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 8
Business Processes
Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the
OOB business process customers can develop their own business processes to use within the IDD
Process Input Variables
All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will
provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to
each IDD Activity in the process and also as an output from each IDD Activity
Participant Groups
The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied
to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
9 IDD-Teamworks Integration Implementation Guide
Services
Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided
business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 10
IDD Activity
The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this
step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that
the IDD requires must be done prior to reaching the IDD Activity
In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set
values for the INFATaskType and INFATaskAction objects within the INFATask process variable
After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately
preceding the IDD Activity
Inputs
The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task
Outputs
The IDD Activity service has two outputs
An infaTask variable of type INFATask This contains the task information as
modified by the IDD during its processing The business process can use this information during its further execution
An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
11 IDD-Teamworks Integration Implementation Guide
Merge Workflow Process Exception
Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action
for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge
workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow
process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity
Types
An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to
communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF
API calls
The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the
information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 12
This diagram shows the containment hierarchy of the INFA data types
INFATask
This data type represents a task that is usable by the IDD This data object contains
all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the
IDD to display tasks properly
INFATaskMetadata
This data type contains all of the metadata about a task instance The IDD manages
this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field
INFARecordKey
This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers
should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD
INFATaskAction
The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
13 IDD-Teamworks Integration Implementation Guide
This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to
reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task action are
Name
o The internal name of the action
Display Name
o The name of the action to display in the UI If not specified the value for
Name is used
Cancel
o A boolean value that specifies whether this action will cancel the business
processrsquo execution
closeView
o A boolean value that specifies whether this action should close the data view after it executes
manualReassign
o This parameter is not currently used and will be ignored if specified
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 14
This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can
also be used as an example
Example
var actions = new twobjectlistOfINFATaskAction()
var i = 0
actions[i] = new twobjectINFATaskAction()
actions[i]name = SubmitForApproval
actions[i]displayName = Submit for Approval
actions[i]cancel = false
actions[i]closeView = true
i++
actions[i] = new twobjectINFATaskAction()
actions[i]name = Cancel
actions[i]displayName = Cancel
actions[i]cancel = false
actions[i]closeView = true
twlocalinfaTaskactions = actions
INFATaskType
This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI
The properties of a task type are
Name
o The internal name of the task type
Display Name
o The name of the task type to display in the UI If not specified the value for Name is used
Description
o An internal description that is not displayed to the user within IDD
Pending BVT
o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
15 IDD-Teamworks Integration Implementation Guide
dataUpdateType
o Determines the Hub State to use when saving changes made in the data
view in the context of the task
o ACTIVE means that changes to a record are saved in the active state
o PENDING means that changes to a record are saved in the pending state
displayType
o Determines how the data view is presented when a task is opened from a
userrsquos Inbox
o NORMAL means that the data view is present as when a record is opened
o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification
o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for
unmerging from the parent is highlighted for identification
The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example
Example
twlocalinfaTasktaskType = new twobjectINFATaskType()
twlocalinfaTasktaskTypename = Merge
twlocalinfaTasktaskTypedisplayName = Merge
twlocalinfaTasktaskTypedescription = Merge step in the
workflow
twlocalinfaTasktaskTypependingBVT = false
twlocalinfaTasktaskTypedataUpdateType = ACTIVE
twlocalinfaTasktaskTypedisplayType = MERGE
SIF Connectors and Integrations
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 16
Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the
parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each
Connector should have an Integration for each parameter configuration to use
Configuring an ORS to Use Teamworks
The Hub Console now contains a new workbench for managing workflow
configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers
Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine
Note Each ORS may be configured to use exactly one workflow engine All ORSes
configured for use with a single IDD instance must be associated with the same workflow engine
To configure an ORS to use Teamworks
1 Launch the Hub Console
2 Open the Workflow Manager
3 Configure a new Teamworks server connection
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
17 IDD-Teamworks Integration Implementation Guide
4 Click the ORS Workflow Mapping tab
5 Select a Teamworks server from the drop-down list next to the ORS that you
are configuring
Creating a User with Privileges to Teamworks
Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are
configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in
the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each
Updating the IDD Configuration File
The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is
simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users
familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored
The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of
this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced
capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
IDD-Teamworks Integration Implementation Guide 18
Example
This code example shows the default task configuration for workflows provided by Informatica out-of-the-box
lttasks includeUnassignedTasks=truegt
lt-- Task Definitions --gt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7e85 name=OneStepApprovalWorkflow displayName=One Step Approval
Workflow creationType=NONEgt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration
19 IDD-Teamworks Integration Implementation Guide
7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval
Workflow creationType=NONE defaultApproval=truegt
ltdescriptiongtUpdate a record and require the user to go through an
approval process before completing the taskltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-
7f1a name=UpdateWithApprovalWorkflow displayName=Update With
Approval Workflow creationType=CREATEgt
ltdescriptiongtUpdate a record and do not require the user to go
through an approval process before completing the task The approval
step is optionalltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-
741f name=MergeWorkflow displayName=Merge Workflow
creationType=MERGEgt
ltdescriptiongtMerge two records togetherltdescriptiongt
lttaskTypegt
lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-
7f95 name=UnmergeWorkflow displayName=Unmerge Workflow
creationType=UNMERGEgt
ltdescriptiongtUnmerge an XREF record from a Base Object
recordltdescriptiongt
lttaskTypegt
lttasksgt
Automatic Initiation of Merge Tasks
The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be
set in the cmxserverproperties file
teamworksmergeworkflowguid
o This property should be set to the GUID value read from the authoring
environment for the workflow process to be started for each match table record
o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks
siptaskassignmentinterval
o The property should be set to the frequency in minutes to run the assignment daemon
Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration