Example: Attribute dictionary attributes

You can use the Data Load utility to insert, replace, or delete multiple attribute dictionary attributes.

Feature Pack 6 or laterThis example uses a CSV file to demonstrate how to insert, replace, or delete your data. You can also create and use an XML formatted file to insert, replace, or delete your data. If you choose to create and use an XML formatted file, ensure that your XML elements use the same names as are used for CSV column names.

CSV column and XML element definitions

Identifier
(Mandatory, String) The unique reference name for identifying the attribute. Either this field or the AttributeUniqueId is required.
AttributeUniqueId
(Mandatory, Integer) The unique reference number of the attribute. Either this field or the Identifier is required.
Type
(Mandatory, String) The data type of the attribute.
  • STRING
  • INTEGER
  • FLOAT
This field cannot be null.
Introduced in Feature Pack 2AttributeType
Introduced in Feature Pack 2(String) The type of the attribute. Attribute type can be AllowedValues or 1 for an attribute with predefined allowed values; or AssignedValues, 2, or null for an attribute without predefined allowed values.
Language
(Integer) The language identifier for language-sensitive fields. For example: -1 for English, -2 for French.
Introduced in Feature Pack 2LanguageId
Introduced in Feature Pack 2(Integer) The language identifier for language-specific fields. For example:
  • -1 for English
  • -2 for French.
Beginning in WebSphere Commerce Version 7 Feature Pack 2, the Language column is renamed to LanguageId. You must specify only one language identifier; use LanguageId instead of Language as the language identifier.
(Integer) The language ID for language-specific fields (Name, ShortDescription, LongDescription, AuxDescription1, AuxDescription2, Thumbnail, FullImage, Published, and Keyword). For instance:
  • -1 for English
  • -2 for French.
Name
(String) The language-specific name of the attribute.
Description
(String) A description of this attribute. This field is language-sensitive.
SecondaryDescription
(String) Secondary description of this attribute. This field is language-sensitive.
Feature Pack 1GroupName
Feature Pack 1(String) The name of the attribute group this attribute belongs to. Introduced in Feature Pack 2The GroupName column is renamed to AssociatedKeyword. Although both GroupName and AssociatedKeyword are supported and map to the same database column, use AssociatedKeyword instead of GroupName.
Introduced in Feature Pack 2AssociatedKeyword
Introduced in Feature Pack 2(String) An associated keyword for an attribute.
Field1
(String) A custom field for attribute information.
Footnote
(String) Use this field to store auxiliary attribute data such as a footnote.
UnitOfMeasure
(String) Use this field to specify the unit of measure that is used for the attribute.
The following fields are optional and are not included in the example:
Introduced in Feature Pack 2Sequence
Introduced in Feature Pack 2(Decimal) A number that is used to control the order in which attributes display for a catalog entry. Attributes display in ascending order. The default value is 0.
Introduced in Feature Pack 2Displayable
Introduced in Feature Pack 2(Boolean) Indicates whether an attribute is displayable. There is no business logic that is associated with the usage of this field. It is provided by default for you to extend to meet your individual business needs. Set the column value to be true for displayable attributes. Set the column value to be false or null for attributes that are not displayable. Any value other than true automatically defaults to false.
Introduced in Feature Pack 2Searchable
Introduced in Feature Pack 2
(Boolean) Indicates whether an attribute is indexed by and can be located in the storefront by using WebSphere Commerce search. Set the column value to 'true' to make an attribute searchable. Set the column value to be 'false' or null for attributes that are not searchable. Any value other than 'true' automatically defaults to false.
Note: If you want to set the Searchable attribute to true, then ensure that interim fix JR52361 is installed.
When you load data to set or change a searchable attribute or to delete the attribute, the load operation can update the following WebSphere Commerce search database tables in addition to the attribute dictionary database tables. To update these search tables, install the interim fix for APAR JR52361 and configure the load operation to use the com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeSearchIndexMediator business object mediator.
  • Feature Pack 5 or laterSRCHATTR
  • Feature Pack 5 or laterSRCHATTRPROP
  • Feature Pack 5 or laterATTRDICTSRCHCONF
  • Feature Pack 6 or laterSRCHPROPRELV
    Note: The load operation does not delete attribute data from this table.

    Feature Pack 7 or laterIf you installed the interim fix, the load operation can delete attribute data from this table.

Introduced in Feature Pack 2Comparable
Introduced in Feature Pack 2(Boolean) Indicates whether an attribute is comparable. There is no business logic that is associated with the usage of this field. It is provided by default for you to extend to meet your individual business needs. Set the column value to betrue for comparable attributes. Set the column value to be false or null for attributes that are not comparable. Any value other than true automatically defaults to false.

Feature Pack 5 or laterIf your store is based on the Aurora starter store, this field is used by the storefront. The storefront uses this field to determine whether to include an attribute on the Compare Products page.

Feature Pack 5 or laterFacetable
Feature Pack 5 or later
(Boolean) Indicates whether an attribute can be used for displaying facets in the storefront left sidebar to filter product listings. Facets are created in the storefront left sidebar, enabling usable filters to target meaningful product results. The storefront displays a count for each facet value. This count indicates the number of products that share that facet value. Set the column value to be true for attributes that can be used in faceted navigation. Set the column value to be false or null for attributes that are not for use in faceted navigation.Feature Pack 6 or laterSetting an attribute as for use in faceted navigation makes the attribute usable in the Search Criteria and Result target in marketing activities and search rules.
Important: When an attribute is specified as being used in faceted navigation, it is also specified as searchable in your storefront. Links are created for the attribute throughout the WebSphere Commerce database and search index. For reliability and consistency, these searchable links remain intact despite clearing the check box for making an attribute for use in faceted navigation. You cannot unmark an attribute as searchable. When an attribute is selected for use in faceted navigation, the attribute is automatically set as searchable in the storefront. Business users can remove the Use in faceted navigation setting, but they cannot remove the attribute from being searchable. To remove the attribute from being searchable, you must manually update the WebSphere Commerce database to remove the records that make the attribute searchable. For more information about how to reset the setting of this property, see Resetting searchable attributes.
When you load data to set or change a faceted navigation attribute or to delete the attribute, the load operation can update the following WebSphere Commerce search database tables in addition to the attribute dictionary database tables. To update these search tables, configure the load operation to use the com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeSearchIndexMediator business object mediator.
  • FACET
  • SRCHATTR
  • SRCHATTRPROP
  • ATTRDICTSRCHCONF
  • Feature Pack 6 or laterSRCHPROPRELV
    Note: You must install the interim fix for APAR JR52361 to load data for faceted navigation attributes into this table. The load operation does not delete attribute data from this table.

    Feature Pack 7 or laterIf you install the interim fix, the load operation can delete faceted navigation attribute data from this table.

Feature Pack 7 or laterSTOREDISPLAY
Feature Pack 7 or later(Integer) Specifies that this attribute is for use as a ribbon ad in the storefront.
Feature Pack 6 or laterMerchandisable
Feature Pack 6 or later
(Boolean) Indicates that the attribute can be used as a merchandising attribute in the creation of search conditions for use by any of the following objects:
  • Marketing activities for finding catalog entries to recommend to customers in e-Marketing Spots.

    Feature Pack 8Merchandising attributes can also be used in search conditions within a marketing activity to identify a current page target.

  • Search rules for finding catalog entries.
  • Feature Pack 8Sales and rule-based categories for finding catalog entries to assign to the categories.
Only attributes with predefined values can be used as merchandising attributes. An attribute that is identified as for 'Use in merchandising' is intended for internal business use to create these rules and activities. If you set a merchandising attribute to be displayable, searchable, or facetable when you load information for an attribute, then the attribute can also appear on the storefront. Set the column value to be true for merchandising attributes. Set the column value to be false or null for attributes that are not for use in merchandising. Any value other than true automatically defaults to false. When you load data to set or change a merchandisable attribute or to delete the attribute, the load operation can update the following WebSphere Commerce search database tables in addition to the attribute dictionary database tables. To update these search-related tables, install the interim fix for APAR JR52361 and configure the load operation to use the com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeSearchIndexMediator business object mediator.
  • Feature Pack 7 or laterSRCHATTR
  • Feature Pack 7 or laterSRCHATTRPROP
  • Feature Pack 7 or laterATTRDICTSRCHCONF
Introduced in Feature Pack 2AttributeField1
Introduced in Feature Pack 2(Integer) A user-defined field available for customization purposes.
Introduced in Feature Pack 2AttributeField2
Introduced in Feature Pack 2(Integer) A user-defined field available for customization purposes.
Introduced in Feature Pack 2AttributeField3
Introduced in Feature Pack 2(String) A user-defined field available for customization purposes.
Delete
(String) A flag that indicates whether to delete. To delete a row, specify 1.

CSV file with sample attribute dictionary attribute data

Insert or replace

In this example, the CSV file sample contains attribute dictionary data.

Delete

In this example, the CSV file contains sample attribute dictionary data to delete.

Mapping data

The following code snippet from the attribute dictionary attributes loader configuration file demonstrates how to map each value to a business object logical schema path.
Introduced in Feature Pack 2Note: The value of field DisplayGroupName is changed from GroupName to AssociatedKeyword. GroupName remains the value for DisplayGroupName in earlier versions of attribute dictionary.
Feature Pack 1
<_config:DataMapping>
        <_config:mapping xpath="AttributeIdentifier/ExternalIdentifier/Identifier" value="Identifier"/>
        <_config:mapping xpath="AttributeIdentifier/UniqueId" value="AttributeUniqueId"/>
        <_config:mapping xpath="AttributeDataType" value="Type" />
        <_config:mapping xpath="AttributeDescription/language" value="Language" />
        <_config:mapping xpath="AttributeDescription/Name" value="Name" />
        <_config:mapping xpath="AttributeDescription/Description" value="Description" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/SecondaryDescription" value="SecondaryDescription" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/DisplayGroupName" value="GroupName" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/Field1" value="Field1" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/Footnote" value="Footnote" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/UnitOfMeasure" value="UnitOfMeasure" />
        <_config:mapping xpath="" value="Delete" deleteValue="1" />
</_config:DataMapping>
Introduced in Feature Pack 2
<_config:DataMapping>
        <_config:mapping xpath="AttributeIdentifier/ExternalIdentifier/Identifier" value="Identifier"/>
        <_config:mapping xpath="AttributeIdentifier/UniqueId" value="AttributeUniqueId"/>
        <_config:mapping xpath="AttributeDataType" value="Type" />
        <_config:mapping xpath="AttributeType" value="AttributeType" />
        <_config:mapping xpath="displaySequence" value="Sequence" />
        <_config:mapping xpath="displayable" value="Displayable" />
        <_config:mapping xpath="searchable" value="Searchable" />
        <_config:mapping xpath="comparable" value="Comparable" />
        <_config:mapping xpath="ExtendedData/Field1" value="AttributeField1" />
        <_config:mapping xpath="ExtendedData/Field2" value="AttributeField2" />
        <_config:mapping xpath="ExtendedData/Field3" value="AttributeField3" />
        <_config:mapping xpath="AttributeDescription/language" value="Language" />
        <_config:mapping xpath="AttributeDescription/language" value="LanguageId" />
        <_config:mapping xpath="AttributeDescription/Name" value="Name" />
        <_config:mapping xpath="AttributeDescription/Description" value="Description" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/SecondaryDescription" value="SecondaryDescription" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/DisplayGroupName" value="GroupName" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/DisplayGroupName" value="AssociatedKeyword" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/Field1" value="Field1" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/Footnote" value="Footnote" />
        <_config:mapping xpath="AttributeDescription/ExtendedData/UnitOfMeasure" value="UnitOfMeasure" />
        <_config:mapping xpath="" value="Delete" deleteValue="1" />
</_config:DataMapping>
If you perform an insert or replace operation, do not specify the "Delete" column in the CSV file or you can leave the "Delete" column empty.

Business object mediator

The data load framework provides a business object mediator for inserting and replacing catalog entries. The mediator class name is com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeMediator.

Note: When you use a mediator that is provided with WebSphere Commerce with the Data Load utility, the utility assumes that you are loading data for all columns for a business object. If you want to update the data in only specific columns, configure a column exclusion list for the load process. A column exclusion list causes the Data Load utility to ignore specific columns during the load operation. If you do not use a column exclusion list, the utility updates all columns in the row of a database table row when the utility updates the row. If no value is set in the input file, the utility can replace the existing column value with a default value or set the value to be null. For more information, see Configuring a column exclusion list.