Attributes

Attributes are terms that describe the characteristics of any component.

❗️

PIM is now called Products

Some of fabric's products are undergoing name changes. PIM is becoming Products, but you may see the old name in some places as we make the transition.

Attribute types

Item attributes are used to define a product characteristic. For example, a product name, an identity number, and a product description are common attributes of any product. Attributes are key-value pairs (e.g. Color: red) that hold information for each property of the product. ‌

Hierarchy attributes let you define characteristics of entire product categories and sub-categories.

Attribute list

The Item and Hierarchyattribute pages each list all attributes and their status for assignment.

Selecting a checkbox will bring up the Bulk Actions button to enable Export operations.

WhenExport of attributes in Products is selected from Bulk Actions, a notification appears confirming the action. Upon completion, the system will send an email to the user indicating:

  • Successful download
  • Date of export and instructions to download the file
  • If there was an issue, an error message will appear with description of problem and the date of export

Columns

  • Attribute Title - name as it will appear on other pages for assignment to items
  • Attribute Type - form of data such as text or number
  • Last Modified - most recent change
  • Mandatory/Optional - conditional status when assigned to items

Create, update and delete item attribute

Create an Item Attribute

Navigate to the Attributes page from the left panel and select Items.

Click New Attributebutton on the top of the page.

In the Create item attribute dialog box that appears, complete the following.

  • Click here for detailed explanations of options below.

Select attribute type section

  • Click on button for relevant attribute type

Title and description section

  • Provide the Attribute Title you want to appear when assigning to items
  • Enter a Description for your reference
  • Complete other options such as Subtype or Date format if applicable.

Business validations section

  • Enter any relevant Business validations and customizations dependent on the attribute selected.

Click Save.

Create item attribute

Update an Item Attribute

Navigate to Attributes, then select the Item page.

From the list of attributes, select one to update.

Make changes and click Save.

NOTE: Accept decimal and List Of Values - Multi Select to Single Select cannot be changed once it has been configured.

Delete an Item Attribute

Navigate to Attributes, then select the Item page.

From the list of attributes, select the attribute you want to delete.

Click Delete.

Delete Attribute dialog box will open to confirm your action.

  • NOTE: An attribute can’t be deleted if it is in use by any primary hierarchy.

Click Delete to confirm.

Bulk Import of Item Attributes

Products enables importing data from external sources using a CSV document. Details on preparation for importing can be found here.

Example lists and downloadable templates for modification are available for the following product types

Create, update and delete a Hierarchy Attribute

Create a Hierarchy Attribute

Navigate to the Attributes page from the left panel and select Hierarchy.

Click the New Attributebutton on the top of the page.

In the Create item attribute dialog box that appears, complete the following.

  • Click here for detailed explanations of options below.

Select Attribute Type section

  • Click on button of the relevant attribute type

Attribute Details section

  • Provide the Attribute Title you want to appear when assigning to hierarchy
  • Complete other options such as Subtype or Date format if applicable.
  • Click Save.

Create hierarchy attribute

Update a Hierarchy Attribute

Navigate to Attributes, then select the Hierarchy page.

From the list of attributes, select one to update.

Make changes and click Save.

Delete a Hierarchy Attribute

Navigate to Attributes, then select the Hierarchy page.

From the list of attributes, select the attribute you want to delete.

Click Delete attribute.

A dialog box will open to confirm your action.

Click Delete to confirm.

Attribute reference info

Attribute types

Products supports the following types of item attributes for storing different types of product information:

  • Text: A sequence of characters. There are no restrictions on what can be stored in this attribute type. You may store text, numbers, special characters, or any combination. Text attribute has three subtypes which need to be defined.

    • Small text
    • Text area
    • HTML
  • Number Only: Accepts, stores, and retrieves only numbers. Use this attribute type when the value is always a number.

  • Date: All date-related formats. You’ll see a calendar in Products to add the date and select one of the formats listed below. Bulk import of the Date attribute type uses the date format selected when the attribute was created. The selected date format cannot be changed. To change it, you must delete the attribute and create it again using the required format. Date formats that Products supports include:

    • MM/DD/YYYY
    • MM-DD-YYYY
    • DD/MM/YYYY
    • DD-MM-YYYY
    • YYYY/MM/DD
    • YYYY-MM-DD
  • Boolean: A Boolean value (True/False) for a product attribute. While importing attributes from an external system, make sure the True or False values are specified for all Boolean attribute types.

  • List of Values: This attribute type lets you create attributes that have a defined value across the product catalog. Using the pulldown menu, you can select one or more values from the list while creating an item.

  • Serial: Create an auto-increment number type attribute. You can specify where the number starts from and what the increment is.

  • Dynamic List of Value: This attribute type is useful where the list of values is from an external or internal source.

    • Source - The source will provide a list of all the values that are created inside that source.
    • Query Parameter - Query Parameter filters down the list for a user based on inputs provided for a particular product attribute defined by the user.

For each attribute type, some fields are optional while some are required. If required fields are not provided, an “Unable to create an attribute” error message will appear.

Attribute properties

Use these properties to add content to your attributes:

  • Attribute title: The title of visible on all relevant Products pages.
  • Description: The description of an attribute for your reference.
  • Calculation Formula: If an attribute is calculated based on other attribute values, you must set a formula for the calculation. To add a formula, select Yes for the field _Is this a formula driven attribute? —_then add the JavaScript formula. (link to formulas below)
  • Validation Formula: If an attribute requires data validations (simple or complex), you can write them in JavaScript. To add validations, select No for the field Is this a formula driven attribute?— then add the JavaScript validation. (Validations don't apply for calculated attributes.)
  • Mandatory: This attribute property marks an attribute as required. You can only mark an attribute as required if it's mandatory across hierarchies in Products.
  • Set a Range: Setting a range is applicable only for the Number Only attribute type. Either set a range or use a formula—not both.
  • Date Format: This attribute property lets you set a date format and is only applicable for the Date attribute.
  • Decimal: This attribute property can be configured only for the Number Only attribute type to allow (or restrict) decimal values.
  • Values: This attribute property is applicable only for the List of Values attribute type to ensure at least one value is provided to create a list for the attribute.

The following table shows the attribute types and their properties.This will help you determine the mandatory and optional properties of an attribute type. To ensure data quality, provide one or more validations based on the selected attribute type.

AttributesTextNumber OnlyDateBooleanList of ValuesSerial
TitleRequiredRequiredRequiredRequiredRequiredRequired
DescriptionOptionalOptionalOptionalOptionalOptionalOptional
Calculation FormulaOptionalOptionalOptionalOptionalOptionalN/A
Validation FormulaOptionalOptionalOptionalOptionalOptionalN/A
Mandatory CheckRequiredRequiredRequiredRequiredRequiredRequired
Set a RangeN/AOptionalN/AN/AN/AN/A
Date FormatN/AN/ARequiredN/AN/AN/A
DecimalN/AOptionalN/AN/AN/AN/A
ValuesN/AN/AN/AN/ARequiredN/A

Calculation formulas

Sometimes, businesses need attributes generated or calculated based on other attribute values for the same item. This is useful when attributes are dynamic in nature. For example:

  1. Users can configure products' display name to be something like “Product Name + “by” + Brand Name” - Instead of having to name each product/variant individually, this formula will automatically create display names for the products.
  2. Area of a rug can be calculated by multiplying Width with Length.
  3. Price per square foot can be calculated by dividing Price attribute value by Area attribute value.
  4. Weight per count can be calculated by dividing the weight of the product by the total count of items inside the box.

Without calculation formulas, maintaining attributes is not scalable since each value needs edited in multiple places. Products lets you calculate such values of an attribute using a low-code JavaScript formula. 

Frequently used formulas

Divide(async ()=> await attribute('actual weight') / await attribute('volume'))()
Multiply(async ()=> await attribute('product weight') * 10)()
Sum(async ()=> await attribute('tax') + await attribute('product price'))()
Subtract(async ()=> await attribute('product price') - await attribute('discounted price'))()
Concatenate(async ()=> await attribute('Product Title') + " followed by " + await attribute('Brand'))()

NOTE: Values in double quotes (" ") represent the Title of the reference attribute and refer to the absolute value of the attribute being used for calculation.

Validation Formulas

To ensure data integrity and quality, Products lets you specify business validations on attributes using a low-code Javascript formula. This operation does not manipulate data, only validates field for the attributes.

Number Validation(async ()=> await attribute() >=0 && await attribute() <=20 && await attribute()%0.25 === 0)()
String Validation(async ()=> (await attribute()).length < 200)()
Date (Greater than Equal to current Date)(async ()=> await attribute() >= new Date())()
Date (Greater than Equal to particular Date)(async ()=> await attribute() >= new Date('02/14/2021'))()

Formulas are based on Javascript syntax and hence all inbuild JavaScript functions can be used for this.

For example, Values given as string can be stored in Integer by using formulas such as (async ()=> parseFloat(await attribute('Height (in)')) - parseFloat(await attribute('Weight (in)') ))()

NOTE: Values in double quotes (" ") represent the Title of the reference attribute and refer to the absolute value of the attribute being used for calculation.