• No results found

The upgraded attribute schema provides multiple performance and storage enhancements. For example, the new schema extracts values from the vlocity_cmt__JSONAttribute__c field into separate fields:

Metadata components, default runtime values, and metadata changes.

This separation allows metadata to remain on the design-time object (the product) while runtime values and metadata changes are maintained on the runtime object (the XLIs), which results in smaller XLI payloads.

The data shape of the XLI attribute fields is aligned with the API response, which results in fewer translation operations and better runtime performance.

For deployments prior to the Fall '18 release, you can run an upgrade process to update product attributes to the latest schema. However, any custom Apex code, configurations, and DataRaptors that depend on the vlocity_cmt__JSONAttribute__c field must be updated to use the new fields. The new schema is optional:

the previous JSONAttribute field will continue to be supported and your existing processes can remain the same.

CAUTION

The migration is one-way only; the action is not reversible. Vlocity does not provide utilities to migrate back to the old schema model.

Custom implementations using the JSONAttributeSupport class must use the new v2 methods outlined in JSONAttributeSupport.

The Asset Attribute Visualforce component on the Asset page is not supported by the v2 attribute model. If your org needs the Assets Attribute component, it cannot be upgraded to the v2 attribute model. The Card Assets Visualforce component will support this

functionality for orgs using the v2 attribute model.

The following table provides the newly added fields by object:

Object Field Description

Product2 AttributeMetadata__c Stores productAttribute JSON without default values.

Product2 AttributeDefaultValues__c Stores the default values for product attributes.

OpportunityLineItem AttributeSelectedValues__c Stores the attribute code and the value selected by the user.

OpportunityLineItem AttributeMetadataChanges__c Stores the attribute code and any metadata changes from the default product configuration.

OrderItem AttributeSelectedValues__c Stores the attribute code and the value selected by the user.

OrderItem AttributeMetadataChanges__c Stores the attribute code and any metadata changes from the default product configuration.

QuoteLineItem AttributeSelectedValues__c Stores the attribute code and the value selected by the user.

QuoteLineItem AttributeMetadataChanges__c Stores the attribute code and any metadata changes from the default product configuration.

Asset AttributeSelectedValues__c Stores the attribute code and the value selected by the user.

Asset AttributeMetadataChanges__c Stores the attribute code and any metadata changes from

the default product configuration.

CompiledAttributeOverride__c AttributeDefaultValues__c Stores the attribute code and the value selected by the user.

CompiledAttributeOverride__c AttributeMetadataChanges__c Stores the attribute code and any metadata changes from the default product configuration.

EntityFilter__c with attribute set as the entity filter condition

AttributesMetadataFieldName__c • The value for OrderItem/OpportunityLineItem/

QuoteLineItem is PriceBookEntry.Product2.

{namespace}__AttributeMetadata__c.

• The value for Product2 is

{namespace}__AttributeMetadata__c.

EntityFilter__c with attribute set as the entity filter condition

AttributesValuesFieldName__c • The value for OrderItem/OpportunityLineItem/

QuoteLineItem is

{namespace}__AttributeSelectedValues__c.

• The value for Product2 is

{namespace}__AttributeDefaultValues__c.

API Considerations

Prior to the Fall '18 release, all of the Cart-Based APIs return the new JSON attribute structure. Any changes in the API services are transparent and require no modifications or updates. Any external integration processes that directly access or modify the pre-Fall '18 JSON fields will be impacted.

Starting with the Winter '20 release, the Digital Commerce APIs support the JSONAttribute v2 schema.

Upgrading the Attribute Schema

The schema upgrade steps are listed in Upgrading the Attribute Schema.

Encrypted and Not Assetizable Attributes

Starting in the Fall '18 release, attributes for technical products can now be set as not assetizable (to identify temporary data) and encrypted (to protect personally identifiable information or similar data).

Is Not Assetizable

The Is Not Assetizable attribute metadata flag is useful for transitory information that shouldn’t persist or doesn’t need to persist beyond completion of order management where assetization would usually occur.

This metadata flag is stored in Order Management, not in the Salesforce platform.

An example of transitory information is the initial password that a customer uses to log in to the provider's website for the first time. During fulfillment, the initial password is generated within an orchestration order item, then saved on the technical fulfillment request line, which is then passed to the next orchestration item that emails the password to the customer. The password doesn’t need to persist at the end of order

management. Other information that doesn’t need to persist can be the result of back-end services connected to order items that don’t become customer assets, such as a service needed to fulfill a

customer’s order. As an example, there might be a check to see whether a required modem is in stock and on the delivery vehicle. This information is not needed after that check has been made.

Is Encrypted

The Is Encrypted attribute metadata flag is used to protect personally identifiable information (PII) and other data such as the customer name, phone number, social security number, and so on. These pieces of information can be captured as attributes and should be sent downstream only for legitimate purposes. You can use the encrypted flag to indicate the PII or other information must be stored securely.

Setting Is Not Assetizable and Is Encrypted

Is Not Assetizable and Is Encrypted are attribute metadata flags. You set these flags when an attribute is assigned to an object type in Vlocity Product Designer or Vlocity Product Console. These flags can only be set when the Run-time Configurable flag is also set. After the attribute is marked as Run-time

Configurable, you can then set Is Not Assetizable or Is Encrypted or both.

If none are selected, attribute values are stored in the technical inventory after decomposition. If both are selected, the attribute is encrypted during processing and not stored with the inventory items. However, if you set the Is Encrypted flag to True, and Is Not Assetizable to False, the attribute is stored in the technical inventory, but the attribute is encrypted. Technical assetization stores the output of decomposition into the technical tables in Order Management, not in the Salesforce platform.

Related documents