Technical Blog Post
Maximo Spatial 188.8.131.52 Series #4 - Bringing your Data in with the ArcGISDataSync Crontask
It's Suraj again, and today I'll be sharing a topic that is of popular demand. This one is regarding the ArcGISDataSync Crontask!
Are you ready to bring your data in? Let's do it.
Firstly, there are a few prerequisites. Before we can bring the data into Maximo, you will need to:
3) Ensure your admin mode is turned off.
4) Your map services must be configured for feature services.
Information on this crontask can be found at the link below: https://ibm.biz/Bd4Vvy
There are several parts to this configuration and we will go through each. Let's have your Map Service URL Handy. For example, mine will be: http://mxspatial1.swg.usma.ibm.com:6080/arcgis/rest/services/WaterDistributionNetwork/MapServer
First: The Crontask Configuration
Bring up the ArcGISDataSync crontask. You can configure for Asset, Location or Service Address. We will do this for the Asset.
1) Select the AssetSync Cron Task Instance
2) In the Parameters (see https://ibm.biz/Bd4Vv6 for more information), set the following:
a) GISOBJECTNAME = WHYDRANT(Or what you've named your GIS Object)
b) URL : http://mxspatial1.swg.usma.ibm.com:6080/arcgis/rest/services/WaterDistributionNetwork/FeatureServer/1/query?where=operable=1&outFields=*&f=pjson
(Information how to get this URL, please see link: http://www-01.ibm.com/support/docview.wss?uid=swg21983319 )
(Spatial 184.108.40.206 allows you the usage of ArcGIS creationdate and updatedate attributes into the where clause!)
c) PROCESSEDFLAG: OPERABLE=2 (Currently, it may be set to MXCREATIONSTATE. This is the field we'll update to tell the crontask not to process this field again)
d) NUMREQUESTS: 0 (Default is 0, this tells the cron to continue until there are no more records in the feature service to process)
Second: The JSON Mapping
Open up the JSON Mapping application and create a new record
1) Set a name for the mapping (I used WHYDRANT_INBOUND). Set the Direction to INBOUND and the object to ARCGISASSET
2) Use the link to get another URL: http://www-01.ibm.com/support/docview.wss?uid=swg21983319 and instead of the activeflag, use something similar to objectid < 10 as your search.
The purpose of this is to get the format of the JSON to map the attributes. We'll use the link as an example: http://mxspatial1.swg.usma.ibm.com:6080/arcgis/rest/services/WaterDistributionNetwork/FeatureServer/1/query?where=objectid%3C10&outFields=*&f=pjson
3) Copy this URL into the URL Field of the JSON Mapping tab, and then tab out. After a few seconds, you will notice the JSON Document field populate.
4) Click the properties tab
5) Click on "Map More Objects"
6) Select "ASSET"
7) Follow the same process until it looks similar to below:
8) Click number 3 (//features/attributes) and then below in the JSON Properties Mapping, click new row. This is where the real mapping occurs.
a) Set the Target Attribute: Click the magnifying glass and select ASSETNUM
b) Set the Source Property -> Click the magnifying glass and select $.facilityid. You can then change this to "WM-"+$facilityid. This way, your assets will begin with WM-, followed by your facilityID.
Continue this for as many attributes as you'd like. Below are the required ones:
Third: The Map Manager
1) Bring up your map manager application
2) Open the map, and then open the Map Service that contains the Object you've created
3) In the Service layers, open this up and then in the "Inbound JSON Mapper Name", enter your JSON Mapping name: WHYDRANT_INBOUND
(You can follow the similar steps above to create the Response mapping, and include in the "Response JSON Mapper Name")
Finally: Activating the Crontask
1) Go to the Crontask application
2) Bring up the ArcGISDataSync crontask
3) Change the schedule if needed and then Check the "Active" box for the AssetSync:
4) Save and then reload the Crontask:
You can now go to your assets application, and you will see the assets were brought in. When completed, you can turn the crontask off.
Thanks for reading! Join me on the next one!
Earlier blogs in the Series: