As part of a recent release, Optimizely PIM now includes template-specific property values. For properties that use a list of values, this allows users to select which values are valid for a particular template. This change will make the creation and management of properties simpler while giving flexibility in enforcing data governance with product templates.
Why did we implement this change?
Prior to this change, in order to restrict which property values were valid for a type of product, you needed to create a property with the specific values for that product type. This meant that if you had 200 different types of products that used a property like color, you would need to create 200 color properties to restrict which options could be selected for each of the 200 product types. With this change, you can now create a single property with the superset of values and select which values are valid for each product template that includes the property.
By reducing the number of properties, it will be easier to maintain properties and improve the usability of any action that requires you to select a property. Examples of this mapping properties during import, creating dynamic categories, and configuring which properties display on the product list.
What changed?
The property UI received the following updates:
- Updated the UI for creating and editing properties to be more consistent with other areas of the application which will enable us to add additional improvements for property management over time.
- Moved property values to a separate tab where it will be easier to view and manage large numbers of values.
- Added the ability to adjust the sort order of values via drag/drop.
- New option to allow template specific values added to the values tab.
- Exposed all control types without requiring data type selection to make options clearer and simplify the creation process.
- Added mapping options to main details tab to make it easier to access and modify property mappings.
The product template UI received the following updates:
- Updated the left panel and header for a more consistent experience with other areas of the application.
- Adjusted the property group selection in the left panel to make it clear which groups are already selected.
- Updated the main panel to include the full list of properties for a property group so it is clear which properties are available and add them to the template without having to open a separate modal.
- Added the option to edit values per template for properties that have template specific values enabled.
Additional changes:
- Added support for creating product templates via import.
- Updated logic for editing and importing products to use validation for template specific values when appropriate.
What if I already have all my properties created and assigned to templates?
This update is fully backwards compatible - you will not need to reconfigure your existing properties or templates.
If you have many "duplicate" properties (multiple properties that share a display name), you may want to combine these into a single property with all values and then update your templates to have the specific property values. While this is not necessary, it will give you the benefits listed above.
Template specific property values in action
Let’s say you are a distributor of commercial & residential construction supplies. You sell a range of building materials, hardware, tools and finished goods. Let's run through the process of creating properties for a two types of products that have some shared properties. We’ll create the properties and templates for Nails and Kitchen Cabinets.
Creating properties
When defining properties with a list of values, you will want to consider which ones are shared by multiple types of products. For our example, we’ll create product templates for nails and kitchen cabinets.
These types of products may share properties for brand, finish, and material that have different values needed for governance. Between them, they will have other properties like length, height, width, depth, style that are likely to be shared by other product templates but have specific values for template level governance.
Nails may have properties like head type and shank type that are specific to nails and will not be used by other product templates. Likewise, kitchen cabinets may have properties like Number of Shelves and Number of Doors that will have the same values for all templates with the property.
Having decided which properties require template specific values, you can use the property import spreadsheet to import the properties. You will include the superset of values for the shared properties and set them to use template specific values. For properties that do not require template specific values you can leave this column blank.
After the properties are imported you will see on the Values tab that template-specific values are enabled and the full list of values for all products are listed.
Configuring templates
Now that the properties are created, create the templates. Templates can be manually created or created via import.
To import templates, download the template with sample data. For each template, define the folder, name, whether products using the template require an image, whether to include the properties from the starter template and then all the properties on the template.
When defining the properties, enter the property name (not display name) and its requirement level. For properties using template specific values, you can define which values are used by this template in the import, or you can import them without the values defined and configure values after the templates are created.
For the nails template, we will add the brand, length, finish, material, collated, head type and shank type properties. For brand, length, finish and material, we have entered the valid list of values specific to nails. For head type and shank type, which will not use template specific values, we will leave this blank and all the values will automatically be included for this template.
After the templates are imported, open the template and ensure the values you defined in the import will be selected for any properties that use template-specific values. If you did not define the list of values when importing the templates, you can click the Edit Values button and select the appropriate values.
Enforcing template-specific values
Now that the templates are created, you can assign products to the templates and view that only the values selected for properties with template specific values enabled are valid. When importing data for products, only the values selected for the property’s template will be valid. When editing the product within the application, you will only see the options selected for the template.