Integration with the Steward UI
Match and Merge repositories
There are three types of the match and merge repositories: master, source, merge candidates. Only the master and merge candidate repositories have M&M specific operations as described below.
The example repositories are in the MDM folder on the demo instance:
- MM Customer Master (10483) - the master repository
- MM Customer Source (10484) - the source repository
- MM Customer Merge Review (10485) - the merge candidates repository: this repository contains merge candidates (aka steward tasks) for manuel review.
The information about what repositories are used by M&M is defined in the matching specification stored in Fusion: it defines the repository id for each repository type.
Specification is a part of an application. Fusion supports a REST API call that returns the specification by (<app-id>, <match-spec-name>).
Notice that the same <app-id> and <match-spec-name> are used in the URLs described below.
Also, the user might want to create and use multiple pairs (<app-id>, <match-spec-name>) for the same instance of Enterworks: in other words there can be
multiple sets of (master, source, merge candidates) repositories at the same instance of Enterworks. Thus the complete configuration for one instance of Enterworks is:
<path-to-infolink>- multiple pairs (
<app-id>,<match-spec-name>) - API key to call Fusion API.
Authentication
For authenticating the UI links described below, add the API key in the header as the value of X-API-Key.
For information on creating an API key, see the Clients documentation.
Operations of the merge candidates repository
Operation 1: Review a merge candidate
The user can click on the button “Review” on any record to open the merge candidate for manuel review and approval.
<path-to-infolink>/ui-next/apps/<app-id>/spec/<match-spec-name>/match-review/<item id of the merge candidate>?view=contentExample:
http://localhost:8080/server_war_exploded/ui-next/apps/29/spec/Match%20Customers%20Full/match-review/4717742?view=contentview=content- hides all the menus of Fusion
Operations of the master repository
Operation 1: Merge records
The user can check one or multiple records and click the button “Merge records” located in the toolbar of the repository:
<path-to-infolink>/ui-next/apps/<app-id>/spec/<match-spec-name>/master-repository/merge/<item id of the record>/<item id of the record>/<...>/<item id of the record>?view=contentExample:
http://localhost:8080/server_war_exploded/ui-next/apps/29/spec/Match%20Customers%20Full/master-repository/merge/4717730/4717733?view=contentOperation 2: Split records
The user can click on the button “Split record” on any record to open the merge candidate for manuel review and unmerging its records.
<path-to-infolink>/ui-next/apps/<app-id>/spec/<match-spec-name>/master-repository/split/<item id of the record>?view=contentExample:
http://localhost:8080/server_war_exploded/ui-next/apps/29/spec/Match%20Customers%20Full/master-repository/split/4717730?view=contentConfiguration UI
As mentioned above the user can create multiple matching specification. Here is a link for editing a specification:
<path-to-infolink>/ui-next/apps/<app-id>/spec/<match-spec-name>/configuration?view=contentExample:
http://localhost:8080/server_war_exploded/ui-next/apps/2/spec/Match%20Customers%20Full/configuration?view=contentREST API calls
Authentication
Use the API key to authenticate REST API calls as described in API Key Authentication: it requires to pass the
API key in the header as the value of the key X-API-Key.
GET /api/v2/specifications
GET /api/v2/specifications returns specifications from all applications.
Parameters:
type- to filter the results for a specific type. For integration with Enterworks, you are interested only intype=MatchOneSourceFull(always add this parameter).format=json- to receive each document as JSON.
The response contains a specifications array; each item includes appId and either yaml or content when format=json is used.
The value of content is an object: name (the name of the spec that you use as <match-spec-name>), type (the type of the spec that is always MatchOneSourceFull in your case),
specification. The value of specification is an object in which you need:
- sourceMasterTableName - [type: string] id of the master repository
- sourceSourceTableName - [type: string] id of the source repository
- sourceManualExamTableName - [type: string] id of the merge candidates repository See an example of the response for more details.
Example:
GET http://localhost:8080/server_war_exploded/api/v2/specifications?type=MatchOneSourceFull&format=jsonIntegration with the Enterworks web session
When embedding UI Next in EnterWorks, add enterworksSession=true to the application URL. InfoLink uses the <app-id> application’s _PrimarySourceName to find
the EnterWorks source and run EnterWorks operations launched from UI Next as the current EnterWorks user.
With false or no parameter, no new identity is fetched: InfoLink uses any identity already in the session, or the source’s configured account if none exists.
Embedding the legacy version of the Steward UI
Here are a list URLs to open particular windows of an application. The URLs are usually used to embed the windows into another applications.
Open Steward UI
<path-to-infolink>/ui/app.jsp?appId=<app-id>&open=specification&specificationType=MatchOneSource&specificationName=<matching-spec-name>&specificationCommand=openStewardshipUI&collapseAppPageTreeViewPane=yes&hideAppPageTopPane=yesExample:
http://ew-sv03.enterworks.com/server/ui/app.jsp?appId=4&open=specification&specificationType=MatchOneSource&specificationName=DedupAccounts&specificationCommand=openStewardshipUI&collapseAppPageTreeViewPane=yes&hideAppPageTopPane=yesOpen Matching Specification UI
<path-to-infolink>/ui/app.jsp?appId=<app-id>&open=specification&specificationType=MatchOneSource&specificationName=<matching-spec-name>&collapseAppPageTreeViewPane=yes&hideAppPageTopPane=yesExample:
http://ew-sv03.enterworks.com/server/ui/app.jsp?appId=4&open=specification&specificationType=MatchOneSource&specificationName=DedupAccounts&collapseAppPageTreeViewPane=yes&hideAppPageTopPane=yes