Enable Versioning in EPC

To use the versioning feature in Product Designer and CPQ, you must update the product data and enable the feature.

Before You Begin

To use Vlocity Product Designer, you must update existing objects to use only the General Properties facet. See Upgrade Existing Object Types for use in Product Designer.

This flow chart summarizes the decisions and steps for preparing product data and enabling versioning.

Flow chart of tasks for enabling versioning in an org and migrating to another org

Versioning is supported only in the Vlocity Product Designer and Vlocity Pricing Designer. You can't use it in Vlocity Product Console.

Warning
Warning

You can't reverse the versioning changes to existing product data. These data changes are required to enable and use versioning.

  1. Update transactional data if it exists or if you're upgrading.
    Warning
    Warning For Product2, object types, and picklists, you must set the Lifecycle Status to Released before enabling versioning. If you don't, the released products aren't displayed in the Cart after you enable the versioning feature. You can't run the Lifecycle Update Status job after versioning is enabled.
    1. From the Vlocity CMT Administration app, click Upgrade Jobs.
    2. For the Lifecycle Update Status job, select Product2 from the Object To Upgrade list.
    3. Set Lifecycle Status to Released.
    4. (optional) To change Lifecycle Status to Released for select products, use the Filter records by fields.
    5. Click Start.
    6. After the job finishes for Product2, repeats steps b-e with Object Type selected for Object To Upgrade and then with Picklist selected.
    7. Run the Populate Reference Time (CatalogItemReferenceDateTime__c) job for existing XLIs.
      Note
      Note

      This job doesn't update assets imported from external sources and their asset-based XLIs. You must populate the Reference Time (CatalogItemReferenceDateTime__c) for those imported assets and XLIs. It can't be run after Versioning is enabled.

  2. From the Vlocity CMT Administration app:
    1. Click CPQ Configuration Setup.
    2. For UseAssetReferenceIdForParentAndRoot, click the pencil icon, and set it to true.
    3. For UOWMode, click the pencil icon, and set it to true.
  3. Add the fields Version Label, Effective From, Effective Until, and Lifecycle Status to the page layout.
    1. From the Object Manager settings for vlocity object or object type, go to Page Layouts.
    2. Choose Vlocity_EPC_Object_Class_Layout page layout.
    3. From the Vlocity_EPC_Object_Class_Layout, drag and drop the Version Label , Effective From, Effective Until, and Lifecycle Status fields to the Vlocity Object or Object Type Detail section.
  4. From the Vlocity CMT Administration app, click Enable Features in the Custom Settings column, and for Versioning, verify that it's enabled. You can't disable versioning after enabling it.
  5. From the Vlocity CMT Administration app, click Maintenance Jobs, and run the following jobs in the listed order to update the catalog data.
    • Product Hierarchy Maintenance

    • Clear Managed Platform Cache

    • Refresh Platform Cache (Full)

    • Populate API Cache

    After you start a job, the status of the job is displayed. You can also view the status of all running jobs in Setup. From Setup, in the Quick Find box, enter Apex Jobs, and then select Apex Jobs.

  6. To migrate the catalog to production or to a sandbox org, complete these steps:
    1. In the destination org, go to in Vlocity CMT Administration > Upgrade Jobs, and run the Populate Product Hierarchy Group Key Path job.
    2. Run the Populate Reference Time (CatalogItemReferenceDateTime__c) job for assets imported from external sources and those asset-based XLIs.
    3. Before importing products from other orgs, validate their overlapping versioning dates.
    4. Create the GlobalKeysToVersionDates.csv file with the global keys, versioning start dates, and versioning end dates for product versions that will be imported.
    5. In Setup, upload the file to the Static Resource folder.
    6. Run the Pre-Import Validate VersioningDate job.
    7. Repeat steps 2-6 in the destination org.

To add the Create Version and Version History buttons to the product and picklist pages, see Configure Product Designer for ​Salesforce Industries Communications, Media, and Energy. You must complete these steps in each org.

Fix Released Status for Versioning Enablement

If you didn't set Lifecycle Status to Released before enabling Versioning, you can't disable Versioning or update Lifecycle Status for products, picklists, and objects.

  1. Run the following query to check if any product, Vlocity picklist, or Vlocity objects have Lifecycle Status to Released.

    If the query returns 0, continue with the procedure to correct the versioning if it's enabled. If all products, picklists, and objects are in the Released state, don't continue with the procedure.

    select count(Id) from Product2 where vlocity_cmt__LifecycleStatus__c = 'Released'
  2. From the Vlocity CMT Administration app, click Enable Features in the Custom Settings column, and for Versioning, verify that it's enabled. You can't disable versioning after enabling it.
  3. From the Vlocity CMT Administration app, click Upgrade Jobs, and run the Lifecycle Update Status job three times (one time each for products, picklists, and objects) with Lifecycle Status set to Released.
    1. For the Lifecycle Update Status job, select Product2 from the Object To Upgrade list.
    2. Set Lifecycle Status to Released.
    3. (optional) To change Lifecycle Status to Released for select products, use the Filter records by fields.
    4. Click Start.
    5. After the job finishes for Product2, repeats steps a-d with Object Type selected for Object To Upgrade and then with Picklist selected.
  4. Run the query in step 1 to verify Lifecycle Status to Released for products, picklist, and object types.
  5. From the Vlocity CMT Administration app, click Enable Features in the Custom Settings column, and for Versioning, verify that it's enabled. You can't disable versioning after enabling it.
  6. From the Vlocity CMT Administration app, click Maintenance Jobs, and run the following jobs in the listed order to update the catalog data.
    • Product Hierarchy Maintenance

    • Clear Managed Platform Cache

    • Refresh Platform Cache (Full)

Versioning is enabled, and products, picklists, and objects have their Lifecycle Status fields set to Released.