Metadata

Description

Various metadata exists and while some are mandatory to connect the data driven code to the data, other optional metadata exist to precisely adjust the configurator behavior.
Every single metadata added should be added in the string format and never in the boolean or number format even if the content is a boolean or a number.

Members


<static> _dataDrivenConfigurator_attributeSorting :string

Description

This field expects a comma separated list of headers of the CSV sheet that will be used as attributes to configure. The sorting matters as it defines the order in which the filtering happens.
In the exhaustively listed configurations scenario, this would be the headers (or part of them) from the data table defined via the _dataDrivenConfigurator_dataTableId metadata, while in the description-based configurations scenario, this would be the headers (or part of them) from the data table defined via the _dataDrivenConfigurator_attributeValuesTableId metadata.

Examples

			MATERIAL,PRIMARY-COLOR,SECONDARY-COLOR,SMALL-PARTS,TECHNICAL-VALUE
Throws

Will throw an error if not set.


<static> _dataDrivenConfigurator_attributesToPermanentlyHide :string

Description

This field expects a comma separated list of headers of the CSV sheet that will be used for the computation but that should stay hidden from the end user. The elements of this list should be part of the elements defined in _dataDrivenConfigurator_attributeSorting.

Examples

			TECHNICAL-VALUE
Details
string

In this reference, under metadata:


<static> _dataDrivenConfigurator_attributeValueRetentionMode :string

Description

Defines if modifying an attribute value from a previous step should reset the following ones or auto-select the same options if they are available (only adjacent ones, or all of them).

Can be set to:

  • none: no retention
  • adjacent: only the adjacent attributes will have their values retained
  • all: all attributes will have their values retained
Details
string

"none"


<static> _dataDrivenConfigurator_attributeValuesSortingTableId :string

Description

This field expects the ID of the data table that defines the attribute value sorting. This can be a single column table, where all attribute values are mixed (if this is not a problem for the data), or where all the attributes values are listed, one attribute per column (which would be a data sheet very similar to the attributeValuesId, and, if the scenario is description-based configurations one, it is possible to use the same data table ID).

If not defined, the attribute values are listed in a random order.

Examples

			h1924557-g21d-42a6-b135-ad712218fjam

<static> _dataDrivenConfigurator_attributeValuesTableId :string

Description

In the description-based configurations scenario only, this field expects the ID of the data table that describes widely, with no exception, all the theoretically valid configurations if there was no rule.

Ignored in the exhaustively listed configurations scenario: use _dataDrivenConfigurator_dataTableId instead.
Mandatory in the description-based configurations scenario.

Examples

			51954557-g80d-42a6-b135-ad752218fjam

<static> _dataDrivenConfigurator_cacheKey :string

Description

This is for datadrivenExtension to use the metadata when building the fastCompositor URL. This can be anything.

If not defined, fastCompositor URLs won’t be able to have a cacheKey without modifying datadrivenExtension code (which one wants to avoid).

Examples

			2024-06-10
Details
string

In this reference, under dataDrivenConfiguratorExtension:

In Threekit's documentation:


<static> _dataDrivenConfigurator_configurationPreprocessMode :string

Description

In the description-based configurations scenario only, and from data driven version 0.2.0, this setting indicates when the configurations are precomputed. Prior data driven version 0.2.0 the configurations are all precomputed, acting like allAtInit.

Can be set to:

  • allAtInit: all configurations are precomputed at the beginning
  • lazily: configurations are precomputed when the user selects the attribute value

Ignored in the exhaustively listed configurations scenario (acts as allAtInit).
Optional in the description-based configurations scenario.

Details
string

"lazily"


<static> _dataDrivenConfigurator_dataTableId :string

Description

In the exhaustively listed configurations scenario only, this field expects the ID of the main data table to be used as source of truth.

Mandatory in the exhaustively listed configurations scenario.
Ignored in the description-based configurations scenario: use _dataDrivenConfigurator_attributeValuesTableId instead.

Examples

			61954557-f80d-42a6-b185-ad252218fjab
Details
string

In this reference, under metadata:


<static> _dataDrivenConfigurator_defaultValuesMode :string

Description

When it is needed to select a default value for an attribute, it is possible to decide how that value is picked. It can be selected to match the first listed configuration that matches current user selection, meaning the selected value will be matching the highest possible ranked configuration. Otherwise it can also be to select the first option that is presented as a valid option in the parent attribute (which is populated by values encountered while parsing the datatables, potentially overwritten by a sorting table).

Can be set to:

  • firstListedAttributeValue: the first listed attribute value that matches the current user selection
  • nextHighestRankedMatchingConfiguration: the first option that is presented as a valid option in the parent attribute
Details
string

"nextHighestRankedMatchingConfiguration"


<static> _dataDrivenConfigurator_defaultValuesVsRetainedValuesPrecedence :string

Description

When both a default value and a retained value are available, this will define which one has precedence.

Can be set to:

  • defaultValuesFirst
  • retainedValuesFirst
Details
string

"retainedValuesFirst"


<static> _dataDrivenConfigurator_excludeIncludeListsPrecedence :string

Description

In the description-based configurations scenario only, defines in which order the exclude and include lists should be processed, knowing that the second list might overwrite anything from the first one.

Can be set to:

  • excludeFirst
  • includeFirst

Ignored in the exhaustively listed configurations scenario.
Optional in the description-based configurations scenario.

Details
string

"includeFirst" but might be in a forced "excludeFirst" mode anyway.


<static> _dataDrivenConfigurator_excludeListTableId :string

Description

In the description-based configurations scenario only, this field expects the ID of the data table that excludes the validity of various attribute values combinations, thus invalidating configurations widely described in the attribute value table.
The headers used in this data table need to match the ones defined in the attribute values table, but do not need to be in the same order.

Ignored in the exhaustively listed configurations scenario.
Optional in the description-based configurations scenario.

Examples

			92354557-g37d-42a6-b135-ze752218fjpm

<static> _dataDrivenConfigurator_globalVarNameForInitialSku :string

Description

This should be the name of a var defined on the window scope holding the value of the SKU to be initially loaded, this var being set before the code implementing the configurator. This requires _dataDrivenConfigurator_skuHeaders and _dataDrivenConfigurator_rankHeader metadata to be set.

If not defined, the initial configuration will be the first one as defined using the rank header.

Examples

			dataDrivenConfiguratorInitialSku
Details
string

<static> _dataDrivenConfigurator_includeListTableId :string

Description

In the description-based configurations scenario only, this field expects the ID of the data table that includes various specific attribute values combinations that cannot be globally described in the attribute value table.
The headers used in this data table need to match the ones defined in the attribute values table, but do not need to be in the same order.
This table can use new attribute values that do not exist in the attribute values table.

Ignored in the exhaustively listed configurations scenario.
Optional in the description-based configurations scenario.

Examples

			45354557-m37d-12a6-b135-ze752218fjqt

<static> _dataDrivenConfigurator_propagatedAttributeSorting :string

Description

In the description-based configurations scenario only, this field expects a comma separated list of headers of the CSV sheet for the values to be propagated as is (starting from data driven version 0.1.1, this field also accepts a JSON array, in which each item can also be an array).
It has to match the sorting defined in “_dataDrivenConfigurator_attributeSorting”, with empty headers when no column is available.
Note that all columns that are not defined in “_dataDrivenConfigurator_attributeSorting” will be propagated as is if they have only one possible value.

Ignored in the exhaustively listed configurations scenario.
Optional in the description-based configurations scenario.

Examples

			MATERIAL_TECH,PRIMARY-COLOR_TECH,,SMALL-PARTS_TECH

Also possible since 0.1.1:


			["MATERIAL_TECH",["PRIMARY-COLOR_TECH_A","PRIMARY-COLOR_TECH_B","PRIMARY-COLOR_TECH_C"],"","SMALL-PARTS_TECH"]
Details
string

In this reference, under metadata:


<static> _dataDrivenConfigurator_rankHeader :string

Description

This field should be populated by the name of the header that indicates the rank of the configurations. This is how the data driven code selects what is the next closest configuration to fill the default values against the currently defined attribute values.
In the exhaustively listed configurations scenario, this would be the header from the data table defined via the _dataDrivenConfigurator_dataTableId metadata, while in the description-based configurations scenario, this would be the header from the data table defined via the _dataDrivenConfigurator_includeListTableId metadata.
Alternatively, it is possible to let the data driven code auto rank the configurations, from their default listed order, by using the special keyword TKDataDrivenConfiguratorToolDataAutoRank.

If not defined, the configurator will not be able to set default values and will proceed step by step.

Examples

Using a header from a data table


			RANK

If autoranking is desired


			TKDataDrivenConfiguratorToolDataAutoRank
Details
string

<static> _dataDrivenConfigurator_singleAttributeShouldAutoSelect :string

Description

Defines if attributes having only one value should auto select.

Can be set to:

  • false
  • true
Details
string

"true"

In this reference, under metadata:


<static> _dataDrivenConfigurator_singleAttributeValueDisplayMode :string

Description

Defines how attributes having only one value should be displayed.
This is a convenient setting, and it is possible to let it set to show and let the front-end manage this.

Can be set to:

  • show
  • hide
Details
string

"show"

In this reference, under metadata:


<static> _dataDrivenConfigurator_skuHeaders :string

Description

This field expects a comma separated list of headers of the CSV sheet that will be used to define the SKUs. Sorting does not matter.
In the exhaustively listed configurations scenario, this would match header(s) from the data table defined via the _dataDrivenConfigurator_dataTableId metadata, while in the description-based configurations scenario, this would match header(s) from the data table defined via the _dataDrivenConfigurator_attributeValuesTableId metadata.

Examples

			PRIMARY-SKU,SECONDARY-SKU