Skip Navigation

How to bulk update users' physical location

You can use the
BlackBerry AtHoc
User Sync Client to bulk-update your organization's users physical addresses without the need to convert the addresses to the latitude,longitude or POINT(longitude latitude) format. The User Sync Client sends a query to the Bing geolocation API to calculate the longitude and latitude of the user's physical address provided in the input file. Only addresses that the Bing API returns with a match code of High Confidence or Good are processed and added to the database. The latitude,longitude and POINT(longitude latitude) formats are still supported.
To combine multiple address fields into a single field in the
BlackBerry AtHoc
database, use the ConcatenateFields attribute in the XSLT file. In the following example, the Street Address, City, Country, and Postal Code fields are combined and mapped to the Office Location field:
<xsl:element name="office-location"> <xsl:call-template name="ConcatenateFields"> <xsl:with-param name="elements" select="streetaddress|city|country|postalcode" /> <xsl:with-param name="separator" select="', '" /> </xsl:call-template> </xsl:element>
The following example shows the updates needed to the <dataAdapter> node in the
AtHocDataIntegration.config
file to bulk update users' physical addresses:
<dataAdapter assembly="AtHoc.DataIntegration.dll" class="AtHoc.DataIntegration.Adapter.CSV.CsvDataAdapter" enable="true"> <!-- CSV configuration goes here --> <skipFirstLines>1</skipFirstLines> <delimiter>,</delimiter> <readFolder>C:\temp\UserSyncClient</readFolder> <!-- Enable below line and specify path if processed files need to be moved to a different location: Optional --> <!--<processedFolder>C:/tmp/processedFolder/</processedFolder>--> <!-- Column names in the order they are presented in the CSV --> <csvColumns> <csvColumn>Username</csvColumn> <csvColumn>streetaddress</csvColumn> <csvColumn>city</csvColumn> <csvColumn>country</csvColumn> <csvColumn>postalcode</csvColumn> <!-- <csvColumn>GeoLocation</csvColumn> --> <!-- <csvColumn>Multi-select-Picklist</csvColumn> <csvColumn>Phone-Work</csvColumn>--> </csvColumns> </dataAdapter>
After the User Sync Client is executed to update users' physical locations, a preprocessor job performs the following functions:
  • Checks for duplicate entries in the input XSLT and removes any duplicates before sending the request to the Bing API.
  • Checks the database for existing addresses before sending the request to the Bing API. Existing addresses are not sent to the Bing API for processing.
  • Sends the job to the Bing API for processing.
The preprocessor job runs automatically every 8 hours. The
BlackBerry AtHoc
management system makes three attempts to submit failed requests to the Bing API at 8 hour intervals.
The post processor job pings the Bing API every 4 hours to check the status of submitted jobs. If a job is complete, the postprocessor job performs the following functions:
  • Gets the translated geolocations in latitude,longitude from the Bing API.
  • Records the results in the database.
  • Updates the Geocoding Summary and Logs settings page in the
    BlackBerry AtHoc
    management system.
  • Sends an email to the operator who initiated the bulk update that provides the status of the update. This status includes the total number of records processed, records successfully processed, and the number of records that were not processed. The email contains a link to the Geocoding Summary and Logs settings page in the
    BlackBerry AtHoc
    management system.
  • Adds a record of the update to the operator audit trail in the
    BlackBerry AtHoc
    management system.
The postpocessor job runs automatically every 4 hours. The
BlackBerry AtHoc
management system makes three attempts to download the postprocessor job at 4 hour intervals.
For more information about the Geocoding Summary and Logs settings page, see "View geolocation transactions and logs" in the
BlackBerry AtHoc
System Settings and Configuration
guide.