Share

Tandem to Maximo - Add Asset URL

The solution reads the assets from Tandem, generates an Asset URL for each asset in Tandem and adds it as attachment to the Maximo Asset.

Pre-Requisites

Tandem

A Tandem facility has to already be setup before starting this solution. For more information on setting up Tandem Facility please see the Tandem Help Docs here. The User-defined parameters section lists all properties that should exist in the Tandem facility's facility template or should be created and added there. Each asset in Tandem that needs to be mapped to an asset in Maximo must should have the Maximo Asset Num set in a user defined property. This is a manual one time configuration.

IBM Maximo:

An API user created and configured in IBM Maximo with appropriate permissions to read and write asset data. For information on how to create the API key, please refer to the help docs here.

Security

This assumes that access credentials with the appropriate permissions are available to read and write data to Tandem and to access the IBM Maximo API.

For Autodesk Tandem, an application with access to the Tandem Data API should be created in Autodesk Platform Services. The client ID from this application should be added as a user in the Tandem facility with Edit/Manage permission.

On the other hand, for IBM Maximo API, the logged in user must have the correct permissions set for API access. Follow the documentation here.

User-defined parameters

The Tandem facility for this solution will need to have a template with the following user-defined parameters setup in Tandem. These should all be created under the category Maximo.

Property Name Description Data Type
OrgId Organization id which is the account represented on IBM Maximo. This is usually 'Autodesk', unless the client wants to rename this otherwise. String
SiteId The building id which represents a facility in Tandem. String
AssetId The unique id of an Asset coming from IBM Maximo. Number
AssetNum The asset name or num from IBM Maximo which is the same as element name in Tandem. String

Solution Features

Feature Description
Read Assets from Tandem The solution starts off by reading all assets from Tandem. This is achieved by using the Attribute Filter and the Asset Filter features of the plugin.
Generate a WebSafe URL for each asset in Tandem The solution generates an encrypted web safe url for the assets that are mapped to Maximo which are like a direct link to the asset from Maximo to Tandem.

Basic Setup

This section provides the bare minimum configuration required for the solution to be up and running. Each plugin listed below will provide the necessary parameters to be filled in and also their values if needed.

Scheduled Data Stream

The scheduled data stream is the starting point in the integration which allows users to configure the user-defined property mapping between Tandem and Maximo applications. A pre-defined JSON is provided (in Appendix below) which can be copied and edited as per requirement. The mandatory fields of these properties are the siteidand maximoBaseUrl.

Autodesk Tandem Service Plugin

The Tandem service plugin needs the below parameters configured.

Parameter Name Description
Client ID The client id that was created while setting up the APS account.
Client Secret The client secret that was created while setting up the APS account.
Facility URN The facility urn for the Tandem facility where the properties are updated.

IBM Maximo Service

Below configuration is needed for the Maximo service.

Parameter Name Description
Maximo Base URL The Maximo instance base url to which the plugin must connect to.
Authentication Method The authentication method to be used for connecting to the Maximo APIs.
Authentication Value The authentication value for the selected authentication method.

HTTP Service - Add Attachment

Parameter Name Description
Authentication Method The authentication method to be used for Maximo APIs.
Authentication Value The authentication value for the method selected above.``
Headers The value for this headers is a JSON object which is provided in the Appendix Section.

Apart from the above properties, the HTTP Service plugins each has a different base URL and only the part that represents the base url must be changed. Below section explains in detail.

BaseURL - https:///maximo/api/os/mxapiasset/{data.assetid}/doclinks?lean=1

DO NOT CHANGE ANY OTHER PART OF THE URL, EXCEPT FOR THE .

Advanced Setup

This section provides details about all the components involved in the solution including the configuration needed and their purpose on the pipeline.

Solution Overview

Pipeline

Plugins

Scheduled Data Stream

The scheduled data stream is the start of the pipeline where we can configure a schedule to determine how frequently it should run and update the properties. The plugin provides a way to mention the client specific properties from Maximo as a JSON object. The JSON object provided in the Appendix can be copied and edited as per the client configuration.

Autodesk Tandem Service

The Tandem service is configured to read assets from the Tandem Facility. The asset filter and the attribute filter are sent as overrides from the convertor prior to this plugin.

IBM Maximo Service

The Maximo service reads all assets based on the oslc.where prepared by the earlier convertor plugin. The plugin has an entity parameter list parameter which uses this oslc.where filter.

Convertor

Prep Tandem

The javascript code that prepares the AssetsFilter and AttributeFilter for the Tandem Service Plugin based on the configuration in the scheduled data stream.

Prep Maximo

Based on the data received from Tandem, this convertor prepares the oslc.where asset filter for the Maximo APIs.

Generate Url

The convertor prepares a web safe encrypted url for each asset using the Asset Id, Facility Id and the Model Id that was returned by the Tandem service plugin while reading assets.

Note:

The convertor will only generate url if the same url does not exists in the attachments loaded for the asset.

HTTP Service

The generic HTTP service plugin that will connect to the Maximo service and sends the url generated as an attachment to the asset id. The asset id is passed in from the previous plugin which is the one received from the Maximo service plugin.

Troubleshooting

  • If the data is not being read from Tandem facility, then the below might be the places to look for issues.
    • Asset Filter: The attribute which is mentioned in the Asset Filter must match the user defined property that holds the Maximo Asset num in Tandem.
    • The attribute is used in the facility template for Tandem Facility.
    • The asset uses the Classification where the attribute is applied.
  • For all other exceptions and errors, the user must look at the Exception tab for each plugin.

Appendix

  • Scheduled Data Stream

    {
      "siteid": "",
      "maximoPropertiesCategory": "Maximo",
      "maximoAssetNumPropertyInTandem": "AssetNum",
      "maximoBaseUrl": "https://main.manage.XXXXXX.suite.maximo.com"
    }
  • IBM Maximo Service - ReadAssetsWithAttachments (Entity Parameter List)

    {
        "maximo/api/os/mxapiasset": [{
            "attribute": "oslc.select",
            "operator": "=",
            "value": "assetid,assetnum,doclinks{*}"
        }, {
            "attribute": "lean",
            "operator": "=",
            "value": "1"
        }, {
            "attribute": "oslc.where",
            "operator": "=",
            "value": "data.tcMetadata.maximo.assetfilter"
        }]
    }
  • HTTP Service - Add Attachment (Headers)

    {
      "Accept": "application/json",
      "content-type": "application/json",
      "slug": "data.assetid",
      "content-location": "data.url",
      "x-document-meta": "URL/Attachments",
      "x-document-description": "Tandem hosted"
    }

Was this information helpful?