Updated on 9/19/2019
Service Board 19.2 Release Notes
Upgrade Considerations
Direct link to topic in this publication:

This section identifies the upgrade considerations applicable to features introduced in Service Board 19.1 and 19.2 releases. It explains the key configuration steps to be performed for these features post the upgrade installation of 19.2 ServiceMax Package and Service Board Extension Package respectively:

Perform Initial Sync for Territories

Service Board supports Territories in 19.2 release. In order to use Territories, initial sync needs to be performed to bring in Territory related data from Salesforce to Service Board. This action needs to be done soon after upgrading ServiceMax and Service Board Extension Packages from 19.1 to 19.2 release.

Following are the initial sync actions that needs to be re-executed:

  • Init Sync Territories
  • Init Sync Territory User
  • Init Sync Parent Territories
  • Init Sync Dispatcher Access
  • Init Sync Resources
  • Init Sync Jobs

The above initial sync actions can be executed by running the operation “Upgrade from 19.1 to 19.2”, which can be called via the route “/upgrade_191_to_192” (e.g., via “https://myserviceboard.eu.servicemax.io/upgrade_191_to_192). Note that the init-sync results can be checked in the Application Log "Data Sync" record. 

Salesforce Event - Consolidate Status and Appointment Status

In order to reduce the number of custom fields needed by Service Board on the Salesforce Event object, the Appointment Status field (SVMXSB__SM_Appointment_Status__c) has been removed from 19.2 Service Board Extension package. It is merged with the existing Status field (SVMXC__SM_Status__c) from the ServiceMax package.

After upgrading ServiceMax and Service Board Extension Packages from 19.1 to 19.2 release, perform the following steps:

  1. Remove the following field mapping from the Custom Field Mappings field of the transform templates Appointment to SFE Create Template and Appointment to SFE Update Template.

    "SVMXSB__SM_Appointment_Status__c": "payload.fields.svmx_status"

  2. Execute the following data migration script to migrate Status values from SVMXSB__SM_Appointment_Status__c in 19.1 release to SVMXC__SM_Status__c on the Salesforce Event object:

    To execute the script, do the following:
       Log into Salesforce Org.
    (2)   Navigate to Setup > Build > Develop > Apex Classes.
    (3)   Click New.
    (4)   In the class editor, enter the following apex code, and then click Save to create Update Event Status class

    global class UpdateEventStatus implements Database.Batchable<sObject> {
    global Database.QueryLocator start(Database.BatchableContext bc) {
    return Database.getQueryLocator('SELECT Id, SVMXSB__SM_Appointment_Status__c, SVMXC__SM_Status__c from Event where SVMXSB__SM_Appointment_Status__c != null');
    global void execute(Database.BatchableContext bc, List<Event> lstEvents){
    // process each batch of records
    System.debug('Batch size ' + lstEvents.size());
    for (Event evt : lstEvents) {
    evt.SVMXC__SM_Status__c = evt.SVMXSB__SM_Appointment_Status__c;
    update lstEvents;
    global void finish(Database.BatchableContext bc){
    System.debug('Job Id for this batch of records processed' + bc.getJobId());

    (5) Click New.
    (6) In the class editor, enter the following apex code, and then click Save to create Update Event Status_UT class.
    private class UpdateEventStatus_UT {
    static void setup() {
    List<Event> lstEvents = new List<Event>();
    // insert 10 Events
    for (Integer i=0; i<10; i++) {
    lstEvents.add(new Event(SVMXSB__SM_Appointment_Status__c = 'New', Subject = 'test event', StartDateTime = DateTime.now(), EndDateTime = DateTime.now().addHours(1), DurationInMinutes = 60, OwnerId = Userinfo.getUserId()));
    insert lstEvents;
    static testmethod void test() {
    UpdateEventStatus updateStatus = new UpdateEventStatus();
    Id batchId = Database.executeBatch(updateStatus);
    System.assertEquals(10, [select count() from Event where SVMXC__SM_Status__c = 'New']);

    (7) Edit the above apex classes Update Event Status and Update Event Status_UT. In the Version Settings tab, add installed Package Service Board Extension and select version 19.10001 as shown in the following screenshot:

    Apex Class Version Settings

    You must specify the Service Board Extension Package version 19.10001 in the Version Settings of the above apex classes Update Event Status and Update Event Status_UT as the field "SVMXSB__SM_Appointment_Status__c" was last available in this package version. 

    (8) Execute the following script using Developer Console or Workbench.

    UpdateEventStatus   updateStatus = new UpdateEventStatus();  

  3. Remove permission to the deprecated Appointment Status field (SVMXSB__SM_Appointment_Status__c) from the Salesforce Event object. Alternatively, you can delete the two Apex classes UpdateEventStatus and UpdateEventStatus_UT that reference the deprecated field and then delete the field itself.
Replace SFM Expression based Real-Time Sync Filtering with Process Builder based Real-Time Sync Filtering
SFM Expression based real-time sync filtering is supported only in 19.1 Service Board release. Starting from 19.2 release, real-time sync filtering can be configurable only by using Process Builder. Post upgrading to ServiceMax and ServiceMax Service Board Extension Packages 19.2 release, you need to setup the real-time sync filtering using Process Builders.

For information on how to setup Real-Time Sync Filtering using Process Builders, see Configuring Real-Time Sync Filtering With Process Builder.

Set Bulk Create Platform Event Timeout and Bulk Update Platform Event Delay on System Setting to Zero

As part of Service Board 19.2 Patch 1, two new fields on the System Setting object support usage of the 19.1 ServiceMax (SVMXC) package and the 19.1 Service Board Extension Package (SVMXSB) to configure processing time for use case-based platform event bulk creation and updates. These values were set to the following default values as part of Service Board 19.2 Patch 1:

  • Bulk Create Platform Event Timeout: 60 seconds
  • Bulk Update Platform Event Delay: 30 seconds

The values of these two fields should be set to 0 when customers upgrade SVMXC/SVMXSB Salesforce packages from 19.1 to 19.2.