Data Factory > table-import-schema
TL;DR;
This task allows to update a table structure using an XML file.
Name:
Max execution time: 90 mins
Examples: Product-Live/data-factory-job-collection
Target
This document covers importing and updating tables using the Data Factory table-import-schema task.
Inputs and Outputs
Example definition of this task in JSON
{
"name": "table-import-schema",
"taskReferenceName": "import_table_schema",
"description": "The business description of the task",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": "${previous_taskReferenceName.output.file}",
"mode": "INCREMENTAL"
}
}2
3
4
5
6
7
8
9
10
11
Inputs
| Property | Description |
|---|---|
| request | Mandatory - File The input file. See more details below. |
| mode | Enum EXHAUSTIVE, INCREMENTAL - Default: INCREMENTAL EXHAUSTIVE : This mode expects the request file to represent the completeness of the table. Any element not present in the file passed as a parameter will be archived (for example, the matrix elements), removed (column in a screen) or ignored (fields) depending on the element. INCREMENTAL: This mode accepts a "partial" representation of the table. It is also via this mode that it is possible to explicitly archive one or more elements of the table (via the modification of its “status”) |
Warning
The EXHAUSTIVE mode calls the 'delta' worker, which is a worker that compares a full export to the user provided file. If anything is missing in the user-provided file, the delta worker will add the missing xml node to the user file and add the attribute status="ARCHIVED" to it. The delta worker by design will increase the import process time, it is not designed to optimize the import in any way, so it is recommended to use the INCREMENTAL mode whenever possible.
Outputs
| Property | Description |
|---|---|
| report | File The import report in XML format. See below. |
General Import Behavior
- If an element of the table cannot be imported, the import continues and a log is added to the execution report.
- Table update triggers the update of all formulas and conditional formatting rules on items associated with the target table, in all contexts (including shared contexts)
flowchart TD
start_process(Start)
end_process(End)
update_table["Table update"]
update_formula["Update of formulas on all items of the target table"]
update_cd["Update of conditional formatting fields on all items of the target table"]
start_process --> update_table
update_table --> update_formula
update_formula --> update_cd
update_cd --> end_processOverall structure of the request file
<Table key="products">
<Title>Products</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Levels />
<Partitions />
<Identifiers />
<Classifications />
<Fields />
<Formulas/>
<Matrix />
<Conditional-Formattings />
<Sections />
<Screens />
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| XPath | Description | Occurrence |
|---|---|---|
| table | A table. | 1 |
| ./@key | The table key. It must be unique within the account. It cannot be updated. | 1 |
| ./Title | The title of the table. | 1 |
| ./Color | The tab color in APP. Enum: NONE, RED, GREEN, BLUE, ORANGE, YELLOW, PURPLE, BLACK, BROWN, CYAN, MAGENTA | 1 |
| ./Position | The display position of the table in the app.product-live.com application. Positive integer, starts at 1. | 1 |
| ./Schema | The table schema that defines the structure of the table. | 1 |
| ./Schema/Levels | The levels | 0..1 |
| ./Schema/Partitions | The partitions | 0..1 |
| ./Schema/Identifiers | Identifiers are used to uniquely identify each of the items in a table. | 0..1 |
| ./Schema/Fields | fields are properties associated with items. Each attribute has a data type and a level with which it is associated. | 0..1 |
| ./Schema/Formulas | Formulas allow to automate the calculation of the value of an attribute. | 0..1 |
| ./Schema/Classifications | Classifications are categorization type attributes (a tree of categories). They are different from fields in that they can bring specific attributes to categories. | 0..1 |
| ./Schema/Matrix | Defines which attributes are common to all items in the table and defines classification/category relationships and attributes. | 0..1 |
| ./Schema/Conditional-Formattings | The conditional formatting fields. | 0..1 |
| ./Schema/Sections | The sections | 0..1 |
| ./Schema/Screens | The screens | 0..1 |
Remarks:
- Tables are uniquely identified by their
key. If a table already exists with the same key, then this table is updated with the transmitted information. - Generally in the file, the notion of
keydefines the uniqueness of an entity. The notion of uniqueness is always relative to a context. For example thekeyof the table indicates that this key must be unique within an account. However when we talk aboutkeyfor thelevels, it is unique within the table, on the differentlevels. - The table import task allows you to create or update a table, and not to archive or delete it.
- The "request" file does not accept
CADATA(wikipedia)
General notes for the request file
Format of key, Title, Title-Local, Description, Description-Local
The key attribute (for all the elements concerned - identifiers, classifications, options...) must respect the constraints described below:
- Do not exceed 255 characters
- Not only consist of white spaces (see here)
The Title and Title-Local elements must meet the following conditions:
- Do not exceed 255 characters
The Description, Description-Local and Metadata value elements must meet the following conditions:
- Do not exceed 255 characters
Possible value for the lang attribute
The possible value for the lang attribute are defined here
WARNING
From the interface, only the languages French (fra), English (eng) and German (deu) are available.
Basic table information - Title, description, color, position
<Table key="products">
<Title>Products</Title>
<Title-Local lang="fra">Produits</Title-Local>
<Description>Products' table</Description>
<Description-Local lang="eng">La table produits</Description-Local>
<Color>RED</Color>
<Position>1</Position>
<Schema />
</Table>2
3
4
5
6
7
8
9
| XPath | Description | Occurrence |
|---|---|---|
| Table | Root | 1 |
| ./@key | The table key. It is unique within an account and cannot be updated from the table import task (it can be from the app.product-live.com application). | 1 |
| ./Title | The title of the table. | 1 |
| ./Title-Local | The title of the table in different languages. | 0..* |
| ./Title-Local@lang | The localization language. see here | 1 |
| ./Description | The description of the table. | 0..1 |
| ./Description-Local | The description of the table in different languages. | 0..* |
| ./Description-Local@lang | The localization language. see here | 1 |
| ./Color | The color of the tab in the application app.product-live.comNONE, BLACK, BLUE, BROWN, GREEN, ORANGE, PINK, PURPLE, RED, YELLOW, CYAN, MAGENTA | 1 |
| ./Position | The display position of the table in the "app" application. It is a positive integer. | 1 |
| ./Schema | The table schema that defines the structure of the table. | 1 |
Remarks:
- Although not recommended, two tables can be created with the same position
Level
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Levels>
<Level key="product" index="1">
<Title>Product</Title>
</Level>
</Levels>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
- A table can have up to 5 levels.
- Levels cannot be deleted or archived.
- A level is necessary to create items within a table
- Two levels cannot occupy the same index. Adding a level to an existing index will be ignored and a log will be added to the import execution report (see below)
| XPath | Description | Occurrence |
|---|---|---|
| Levels | Levels | 0..1 |
| Level | A level | 1..5 |
| ./@key | The level key. Must be unique in the table. Cannot be updated. | 1 |
| ./@index | The index is an integer between 1 and 5. Must be unique within the file. Cannot be updated. | 1 |
| ./Title | The title of the level. | 1 |
| ./Title-Local | The title of the level in different languages. | 0..* |
| ./Title-Local/@lang | The localization language. see here | 1 |
Life cycle of levels
WARNING
Even when using the import in EXHAUSTIVE mode, levels cannot be archived or deleted.
Partition
- Partitions cannot be deleted.
- While there is no limit to the number of partitions, we recommend that you do not exceed 5 partitions per table.
- As an item necessarily belongs to a partition, it's necessary to create at least one partition to create items within a table
<Table key="products" status="ARCHIVED">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Partitions>
<Partition key="active">
<Title>Active</Title>
<Position>1</Position>
<Metadata key="visible-website">TRUE</Metadata>
</Partition>
<Partition key="archived">
<Title>Archived</Title>
<Position>2</Position>
</Partition>
</Partitions>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| XPath | Description | Occurrence |
|---|---|---|
| Partitions | Partitions | 0..1 |
| Partition | A partition | 1..* |
| ./@key | The partition key. Must be unique per table. Cannot be updated. | 1 |
| ./@status | Used to archive a partition. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. At least one partition must be active. | 0..1 |
| ./Title | The title of the score. | 1 |
| ./Title-Local | The title of the score in different languages. | 0..* |
| ./Title-Local/@lang | The localization language. see here | 1 |
| ./Description | The description of the partition. | 0..1 |
| ./Description-Local | The description of the score in different languages. | 0..* |
| ./Description-Local/@lang | he localization language. see here | 1 |
| ./Metadata | 0..* | |
| ./Metadata/@key | The Metadata key. Must be unique within the partition. | 1 |
| ./Position | Positive integer, starts at 1. | 0..1 |
Life cycle of partitions
WARNING
In any case, partitions cannot be deleted.
In EXHAUSTIVE mode, partitions are archived if status is set to ARCHIVED or if partition is missing.
In INCREMENTAL mode, partitions are archived only if status is set to ARCHIVED.
Identifier
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Identifiers>
<Identifier key="ean" index="1" level="product">
<Title>EAN 13</Title>
<Title-Local lang="fra">EAN 13</Title-Local>
<Description>The product’s EAN 13</Description>
<Description-Local lang="fra">Le code EAN 13 du produit</Description-Local>
<Metadata key="visible-website">TRUE</Metadata>
</Identifier>
</Identifiers>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- A table can have up to 5 identifiers per level.
- You cannot move an identifier from one level to another, nor change its index.
- Two identifiers cannot be associated with the same index on a given level. Adding an identifier to an existing index will be ignored and a log will be added to the import execution report (see below)
- An identifier can be archived (see below)
- A level is necessary to create items within a level in a given table
| XPath | Description | Occurrence |
|---|---|---|
| Identifiers | Identifiers | 0..1 |
| Identifier | An identifier | 1..5 |
| ./@key | The identifier key. Must be unique per table. Cannot be updated. | 1 |
| ./@index | The index is an integer between 1 and 5. Must be unique within the file. Cannot be updated. You can put up to 5 Identifiers per Level. | 1 |
| ./@level | References the key of a level. The level must exist. Cannot be updated. | 1 |
| ./@status | Used to archive a field. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
| ./Title | The title of the identifier. | 1 |
| ./Title-Local | The title of the identifier in different languages. | 0..* |
| ./Title-Local/@lang | The localization language. see here | 1 |
| ./Description | The description of the identifier. | 0..1 |
| ./Description-Local | The description of the identifier in different languages. | 0..* |
| ./Description-Local/@lang | The localization language. see here | 1 |
| ./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the current identifier. | 0..* |
| ./Metadata/@key | The Metadata key. Must be unique. | 1 |
Life cycle of identifiers
TIP
In EXHAUSTIVE mode, identifiers that are not presented, but present in the target table are archived.
Archive an identifier
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Identifiers>
<Identifier key="ean" index="1" level="product" status="ARCHIVED" />
</Identifiers>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
- To date, it is necessary to mention the
key, theindexand thelevelof an identifier to archive it - Archiving the last non-archived identifier is not allowed
Delete an identifier
WARNING
Deleting an identifier is not allowed, including in EXHAUSTIVE import mode.
Field
<Table key="products">
<Title>Produits</Title>
<Title-Local lang="eng">Products</Title-Local>
<Description>La table produits</Description>
<Description-Local lang="eng">Products' table</Description-Local>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Fields>
<Field key="titleEn" type="SINGLE-LINE-TEXT" level="product">
<Title>Title EN</Title>
<Title-Local lang="fra">Titre EN</Title-Local>
<Description>The product’s title</Description>
<Description-Local lang="fra">Le titre du produit</Description-Local>
<Metadata key="visible-website">TRUE</Metadata>
</Field>
</Fields>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- A field cannot be moved from one level to another.
| XPath | Description | Occurrence |
|---|---|---|
Fields | Attributes | 0..1 |
Field | An attribute | 0..* |
./@key | The attribute key. Unique in the context of the table. Cannot be updated | 1 |
./@type | The data type, defines how the data is displayed and is imported/exported. Cannot be updated | 1 |
./@level | Defines the level to which the current field belongs. Cannot be updated. | 1 |
./@status | Allows you to archive a field. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE | 0..1 |
./Title | The attribute title | 1 |
./Title-Local | The attribute title translation | 0..* |
./Title-Local/@lang | The localization language. see here. | 1 |
./Description | The attribute description | 0..1 |
./Description-Local | The translation of the attribute description | 0..* |
./Description-Local/@lang | The localization language. see here. | 1 |
./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the attribute. | 0..* |
./Metadata/@key | Metadata key. Must be unique within the current attribute | 1 |
Available field types
| Code | Description |
|---|---|
| ATTACHMENT | A file, of any type |
| COMPOSITE | A field containing fields |
| DATE | A date (year, month & day) |
| DATE-TIME | A date and time (year, month, day, hour, minute, second) |
| HTML-TEXT | Rich, HTML-like content |
| IMAGE | A picture |
| LONG-TEXT | A long text, on several lines |
| NUMBER | Digital |
| MULTIPLE-SELECT | A List of multiple options (several choices possible) |
| MULTIPLE-SELECT-QUANTIFIED | A list of multiple options accompanied by a quantity (several possible choices, each of them accompanied by a numeric) |
| MULTIPLE-SELECT-QUANTIFIED-WITH-COMMENTS | A list of multiple options accompanied by a quantity and a comment (several choices possible, each of them accompanied by a number and a comment, example: USB, quantity: 2, comment: 1 USB 2.0 and a USB 3.0) |
| SINGLE-LINE-TEXT | Simple, one-line text |
| SINGLE-SELECT | A simple list of options (one choice possible) |
Life cycle of fields
WARNING
Archiving or deleting fields is not allowed, including in EXHAUSTIVE import mode.
TIP
It is possible to archive the matrix link between a field and the group of common fields, or to archive the link between a field and a category.
WARNING
In exhautive mode, any optionnal element constituting a field (ex:title-local, description-local, metadata) that is not mentionned in the import file will be deleted.
In incremental mode, any optionnal element constituting a field (ex:title-local, description-local, metadata) that is not mentionned in the import file will be kept.
Life cycle of Composite fields
Composite field
The Composite field is in phase.
The import of a COMPOSITE field is exhaustive. Any missing field within the COMPOSITE field is deleted. Any provided definition will override the whole COMPOSITE field definition.
- If a child field definition is provided in the import, that child field definition is imported
- If a child field definition is missing in the import, that child field definition is deleted, and all items value on that field are deleted
A COMPOSITE field can be archived as any other field type. In that case, the items value on the COMPOSITE field remains.
Partial COMPOSITE field definition import
When a COMPOSITE field definition is imported on a table, the whole field definition is overridden by the new one. Any missing child field is deleted from the table. Any value on deleted child field is deleted.
- First import
<Field key="BATTERY" type="COMPOSITE" level="PRODUCT" >
<Field key="BATTERY_TECHNOLOGY_CODE" type="SINGLE-LINE-TEXT">
<Title>Battery Technology Code</Title>
</Field>
<Field key="BATTERY_TYPE_CODE" type="SINGLE-SELECT">
<Title>Battery Type Code</Title>
<Options>
<Option key="AAA">
<Title>AAA</Title>
</Option>
<Option key="AA">
<Title>AA</Title>
</Option>
</Options>
</Field>
<Field key="BATTERY_QUANTITY" type="NUMBER">
<Title>Battery Quantity</Title>
</Field>
</Field>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- Second import
<Field key="BATTERY" type="COMPOSITE" level="PRODUCT" >
<Field key="BATTERY_TYPE_CODE" type="SINGLE-SELECT">
<Title>Battery Type Code</Title>
<Options>
<Option key="LR03">
<Title>LR6</Title>
</Option>
<Option key="LR6">
<Title>LR6</Title>
</Option>
</Options>
</Field>
<Field key="BATTERY_QUANTITY" type="NUMBER">
<Title>Battery Quantity</Title>
</Field>
</Field>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- The final
COMPOSITEfield definition is:
<Field key="BATTERY" type="COMPOSITE" level="PRODUCT" >
<Field key="BATTERY_TYPE_CODE" type="SINGLE-SELECT">
<Title>Battery Type Code</Title>
<Options>
<Option key="LR03">
<Title>LR6</Title>
</Option>
<Option key="LR6">
<Title>LR6</Title>
</Option>
</Options>
</Field>
<Field key="BATTERY_QUANTITY" type="NUMBER">
<Title>Battery Quantity</Title>
</Field>
</Field>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Here the child field BATTERY_TECHNOLOGY_CODE does not existe anymore. Any item value on that field is deleted.
Specificities of NUMBER type fields
Warning
The Suffixes feature is in alpha phase. This feature is placed behind a feature flag Do not use in production .
| XPath | Description | Occurrence |
|---|---|---|
Prefix | Optional. Character string, max 255. Used to display a prefix in the grid. Has no impact on stored or exported data | 0..1 |
Suffix | Optional. Character string, max 255. Allows to display a suffix in the grid. Has no impact on stored or exported data | 0..1 |
Precision | Optional. 0, 1, 2, 3, 4, 5. Allows you to define how the decimals should be displayed in the grid | 0..1 |
Suffixes | Optional. The suffixes available for this field. | 0..1 |
./Suffix | A possible suffix. | 1..* |
./@key | The suffix key. Must be unique within the field. Cannot be updated. | 1 |
./@default | true or false, designates a suffix as the default suffix at edit time | 0..1 |
./@status | Used to archive a suffix. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
./Title | The suffix title. | 1 |
./Title-Local | The localized suffix title in a particular language | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The suffix description. | 0..1 |
./Description-Local | The description of the localized suffix in a particular language | 0..* |
./Description-Local/@eng | The localization language. see here | 1 |
./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the suffix. | 0..* |
./Metadata/@key | The Metadata key. Must be unique within the suffix. | 1 |
- A
NUMBERtype field can present a suffix to represent a unit- It is possible to declare a
NUMBERtype field without specifying a suffix or list of suffixes - It is possible to define up to 50 different active values of suffixes for a field of type
NUMBER- Active suffixes beyond the 50th value are not imported
- You can designate a suffix as the default suffix from the list of suffixes
- This suffix will then be selected by default when editing from the
app.product-live.comapplication - This default suffix will be selected during an item import passing through Data Factory if no suffix is provided
- If several suffixes are defined as default, only the first one will be imported with the
defaultproperty. The following will be imported without thedefaultvalue
- This suffix will then be selected by default when editing from the
- The life cycle of suffixes is the same as that of options for "option list" type fields
- A suffix can be archived
- A suffix cannot be deleted
- An archived suffix is not taken into account to check the limit of 50
- The suffix on a field are visible from the
app.product-live.cominterface, if at least one not archived suffix is available for the current field- It is currently not possible to limit the list of suffixes available for a given field
- It is possible to declare a
example of a NUMBER type field
<Field key="cameraResolution" type="NUMBER" level="product">
<Title>Camera resolution</Title>
<Title-Local lang="eng">Camera resolution</Title-Local>
<Description>The resolution of an image is the number of pixels contained in the image per unit length.</Description>
<Description-Local lang="eng">The resolution of an image is the number of pixels contained in the image per unit length.</Description-Local>
<Metadata key="visible-website">TRUE</Metadata>
<Suffixes>
<Suffix key="unece.unit.E37" default="true">
<Title>Pixel</Title>
<Title-Local lang="eng">Pixel</Title-Local>
<Description>A unit of count defining the number of pixels</Description>
<Description-Local lang="eng">A unit of count defining the number of pixels</Description-Local>
</Suffix>
<Suffix key="unece.unit.E38">
<Title>Megapixel</Title>
<Title-Local lang="fra">Megapixel</Title-Local>
<Description>A unit of count equal to 10⁶ (1000000) pixels (picture elements).</Description>
<Description-Local lang="eng">A unit of count equal to 10⁶ (1000000) pixels (picture elements).</Description-Local>
</Suffix>
</Suffixes>
</Field>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Specificities of SINGLE-SELECT, MULTIPLE-SELECT, MULTIPLE-SELECT-QUANTIFIED and MULTIPLE-SELECT-QUANTIFIED-WITH-COMMENTS type fields
<Field key="lifeCycle" type="SINGLE-SELECT" level="product">
<Title>Life cycle</Title>
<Title-Local lang="fra">Cycle de vie</Title-Local>
<Description>The product’s life cycle</Description>
<Description-Local lang="fra">Le cycle de vie du produit</Description-Local>
<Metadata key="visible-website">FALSE</Metadata>
<Options>
<Option key="active" color="GREEN">
<Title>Active</Title>
<Title-Local lang="fra">Actif</Title-Local>
<Description>The product is active</Description>
<Description-Local lang="fra">Le produit est actif</Description-Local>
<Metadata key="code">104</Metadata>
</Option>
<Option key="inactive" color="BLACK">
<Title>Inactive</Title>
<Title-Local lang="fra">Inactif</Title-Local>
<Description>The product is inactive</Description>
<Description-Local lang="fra">Le produit est incactif</Description-Local>
<Metadata key="code">105</Metadata>
</Option>
<Option key="renew" status="ARCHIVED" />
</Options>
</Field>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| XPath | Description | Occurrence |
|---|---|---|
Options | The options. | 0..1 |
Option | An option. | 1..* |
./@key | The option key. Must be unique within the attribute. Cannot be updated. | 1 |
./@color | The color that will be displayed on the cell on "app" when this option is selected. Only for SINGLE-SELECT type. | 0..1 |
./@Status | Allows you to archive an option. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
./Title | The title of the option. | 1 |
./Title-Local | The title of the option in different languages. | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The description of the option. | 0..1 |
./Description-Local | The description of the option in different languages. | 0..* |
./Description-Local/@lang | The localization language. see here | 1 |
./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the option. | 0..* |
./Metadata/@key | The Metadata key. Must be unique within the option. | 1 |
./Status | Allows you to archive an option. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
Life cycle of options
TIP
In EXHAUSTIVE mode, options that are not present, but present in the target table are archived.
Archive an option
<Field key="lifeCycle" type="SINGLE-SELECT" level="product">
<Metadata key="visible-website">FALSE</Metadata>
<Options>
<Option key="renew" status="ARCHIVED" />
</Options>
</Field>2
3
4
5
6
- Only the
keyis needed to archive an option
Delete an option
WARNING
Deleting an option is not allowed, including in EXHAUSTIVE import mode.
Classification
<Classifications>
<Classification key="taxonomy">
<Title>Taxonomy</Title>
<Title-Local lang="fra">Taxonomie</Title-Local>
<Description>Product’s taxonomie</Description>
<Description-Local lang="fra">La classification du produit</Description-Local>
<Categories>
<Category key="apparel">
<Title>Apparel</Title>
<Title-Local lang="fra">Habillement</Title-Local>
<Description>Products of type apparel</Description>
<Description-Local lang="fra">Produits de type habillement</Description-Local>
<Metadata key="code">002</Metadata>
</Category>
<Category key="food">
<Title>Food</Title>
</Category>
<Category key="shoes" parent="apparel">
<Title>Shoes</Title>
</Category>
<Category key="dress" parent="apparel">
<Title>Dress</Title>
</Category>
<Category key="coffee" parent="food">
<Title>Coffee</Title>
</Category>
</Categories>
</Classification>
<Classification key="website" status="ARCHIVED" />
</Classifications>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- Classifications can only be associated with index levels 1
| XPath | Description | Occurrence |
|---|---|---|
Classifications | Classifications | 0..1 |
Classification | A classification | 1..5 |
./@key | The classification key. Must be unique per table. Cannot be updated. | 1 |
./@status | Used to archive a classification. The only possible value is ARCHIVED. If this tag is not filled in then the classification is active again | 0..1 |
./Title | The classification title. | 1 |
./Title-Local | The title of the classification in different languages. | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The classification description. | 0..1 |
./Description-Local | The description of the classification in different languages. | 0..* |
./Description-Local/@lang | The localization language. see here | 1 |
./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the classification. | 0..* |
./Metadata/@key | The Metadata key. Must be unique in the classification. | 1 |
Life cycle of classifications
TIP
In EXHAUSTIVE mode, the classifications which are not presented, but present in the target table are archived.
TIP
In EXHAUSTIVE mode, archiving a classification involves archiving:
- all the categories of the classification
- all associated matrix links
- all associated conditional formatting rules
Archiving a classification
<Classifications>
<Classification key="taxonomy" status="ARCHIVED" />
</Classifications>2
3
- Only the
keyis needed to archive a classification
Delete a classification
WARNING
Deleting a classification is not allowed, including in EXHAUSTIVE import mode.
Categorie
| XPath | Description | Occurrence |
|---|---|---|
Categories | Categories | 0..1 |
Category | A category | 1..* |
./@key | The category key. Must be unique in the classification. Cannot be updated. | 1 |
./@parent | The parent category key. The key must exist, but not necessarily in the file. | 0..1 |
./@status | Allows you to archive a category. The only possible value is ARCHIVED. If this tag is not filled in then the category is activated again | 0..1 |
./Title | The title of the category. | 1 |
./Title-Local | The title of the category in different languages. | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The description of the category. | 0..1 |
./Description-Local | The description of the category in different languages. | 0..* |
./Description-Local/@lang | The localization language. see here | 1 |
./Metadata | Metadata are key / value type elements that the user can use as he wishes to store information relating to the category. | 0..* |
./Metadata/@key | The Metadata key. Must be unique within the category. | 1 |
WARNING
Cyclic categories are imported with an INVALID_ATTRIBUTE warning message, but the parent relationship is not imported. See details below.
Examples
Self referencing category
Importing that category ...
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="SMARTPHONE" parent="SMARTPHONE">
<Title>smartphone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
Results in the following imported category.
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="SMARTPHONE">
<Title>smartphone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
One level cyclic categories
Importing these categories ...
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="PHONE" parent="SMARTPHONE">
<Title>phone</Title>
</Category>
<Category key="SMARTPHONE" parent="PHONE">
<Title>smartphone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
11
12
13
Results in the following imported categories.
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="PHONE">
<Title>phone</Title>
</Category>
<Category key="SMARTPHONE">
<Title>smartphone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
11
12
13
Two levels cyclic categories
Importing these categories ...
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="PHONE">
<Title>phone</Title>
</Category>
<Category key="SMARTPHONE" parent="PHONE">
<Title>smartphone</Title>
</Category>
<Category key="PHONE" parent="SMARTPHONE">
<Title>phone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Results in the following imported categories.
<Classifications>
<Classification key="TYPOLOGY">
<Title>Typologie</Title>
<Categories>
<Category key="PHONE">
<Title>phone</Title>
</Category>
<Category key="SMARTPHONE">
<Title>smartphone</Title>
</Category>
<Category key="PHONE">
<Title>phone</Title>
</Category>
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Life cycle of category
TIP
In EXHAUSTIVE mode, the categories which are not presented, but present in the target table are archived.
TIP
In EXHAUSTIVE mode, archiving a category involves archiving:
- all associated matrix links
- all associated conditional formatting rules
TIP
When archiving a CATEGORY, none of its children CATEGORY are archived. You need to explicitly archive them.
Archive a category
<Classifications>
<Classification key="taxonomy">
<Categories>
<Category key="apparel" status="ARCHIVED">
</Categories>
</Classification>
</Classifications>2
3
4
5
6
7
- Only the
keyof a category (and that of the associated classification) is necessary to archive a category
Deleting a category
WARNING
Deleting a category is not allowed, including in EXHAUSTIVE import mode.
Matrix
TIP
Matrix links allow you to define whether a field is common to all categories or whether it is specific to one or more categories.
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Matrix>
<Common>
<Field key="titleEn" />
<Field key="descriptionEn" status="ARCHIVED" />
</Common>
<Specific classification="taxonomy" category="apparel">
<Field key="gender" />
<Field key="material" status="ARCHIVED" />
</Specific>
</Matrix>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| XPath | Description | Occurrence |
|---|---|---|
Matrix | Matrix | 0..1 |
./Common | Defines the lists of attributes (only Fields) that are common. | 0..1 |
./Common/Field | Field declaration, the order does not matter | 1..* |
./Common/Field/@key | Field key | 1 |
./Common/Field/@status | Allows you to no longer associate a Field as a common Field. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
./Specific | For each classification/category couple. | 0..* |
./Specific/@classification | The classification key | 1 |
./Specific/@category | The category key (this category must be linked to the classification in the definition of classifications) | 1 |
./Specific/Field | One or more fields | 1..* |
./Specific/Field/@key | Field key | 1 |
./Specific/Field/@status | Allows you to associate a Field with a category in a classification. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE | 0..1 |
Life cycle of matrix
TIP
In EXHAUSTIVE mode, the matrix links which are not present, but present in the target table are archived.
Archive a matrix link
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Matrix>
<Common>
<Field key="descriptionEn" status="ARCHIVED" />
</Common>
<Specific classification="taxonomy" category="apparel">
<Field key="material" status="ARCHIVED" />
</Specific>
</Matrix>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
Delete a matrix link
WARNING
Deleting a matrix link is not allowed, including in EXHAUSTIVE import mode.
Formula
WARNING
- The formulas are calculated after each update of a table on all of its items.
See the page dedicated to the formula feature and the page dedicated to the edition of the formulas linked to a table using Data Factory.
XML Example:
<Table key="products">
<Schema>
<Formulas>
<Identifier key="REF-FIELD_1">
<Rule priority="1">
<Conditions>
<Condition-Group>
<Condition source="REF" operator="NOT_EMPTY" />
</Condition-Group>
</Conditions>
<Action type="SET_TEXT">
<Template trim-spaces="true"><![CDATA[{{source("REF")}}]]></Template>
</Action>
</Rule>
<Rule priority="2">
<Conditions>
<Condition-Group>
<Condition source="REF" operator="NOT_EMPTY" />
<Condition source="FIELD_1" operator="NOT_EMPTY" />
</Condition-Group>
</Conditions>
<Action type="SET_TEXT">
<Template trim-spaces="true"><![CDATA[{{source("REF")}}-{{source("FIELD_1")}}]]></Template>
</Action>
</Rule>
</Identifier>
<Identifier key="REF-FIELD_2">
<Rule priority="1">
<Conditions>
<Condition-Group>
<Condition source="REF" operator="NOT_EMPTY" />
<Condition source="FIELD_2" operator="NOT_EMPTY" />
</Condition-Group>
</Conditions>
<Action type="SET_TEXT">
<Template trim-spaces="true"><![CDATA[{{source("REF")}}-{{source("FIELD_2","key")}}]]></Template>
</Action>
</Rule>
</Identifier>
</Formulas>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Conditions
See the page dedicated to the conditions and in particular to the edition of the conditions using a Data Factory task.
Actions
See the page dedicated to the action available for the formua feature and the page dedicated to the edition of the formula's actions linked to a table using Data Factory.
Conditional formatting field
See the page dedicated to the conditional formatting and the page dedicated to the edition of the conditional formatting using Data Factory.
XML Example:
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Conditional-Formattings>
<Conditional-Formatting key="compliance" level="product">
<Title>Compliance</Title>
<Default-Status key="valid">
<Title>Valid</Title>
<Color>GREEN</Color>
</Default-Status>
<Statuses>
<Status key="unvalid">
<Title>Unvalid</Title>
<Color>RED</Color>
<Priority>1</Priority>
<Rules>
<Common>
<Field key="titleEn">
<Rule-Required />
<Rule-Min-Length min="3" />
<Rule-Max-Length max="27" />
</Field>
</Common>
<Specific classification="taxonomy" category="dress">
<Field key="material">
<Rule-Required />
</Field>
</Specific>
</Rules>
</Status>
<Status key="recommanded">
<Title>Recommanded</Title>
<Color>ORANGE</Color>
<Priority>2</Priority>
<Rules>
<Common>
<Field key="titleEn">
<Rule-Min-Length min="5" />
</Field>
</Common>
</Rules>
</Status>
</Statuses>
</Conditional-Formatting>
</Conditional-Formattings>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Section
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Sections>
<Section key="informations">
<Title>Informations</Title>
<Title-Local lang="fra">Informations</Title-Local>
<Description>Informartions’ columns section</Description>
<Description-Local lang="fra">La section des colonnes d’informations </Description-Local>
<Metadata key="code">104</Metadata>
</Section>
</Sections>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| XPath | Description | Occurrence |
|---|---|---|
Sections | Sections | 0..1 |
Section | A section. | 1..* |
./@key | The section key. Must be unique per table. Cannot be updated. | 1 |
./@status | Allows you to archive a section. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE. | 0..1 |
./Title | The title of the section. | 1 |
./Title-Local | The title of the section in different languages. | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The description of the section. | 0..1 |
./Description-Local | The description of the section in different languages. | 0..* |
./Description-Local/@lang | The localization language. see here | 1 |
./Metadata | Metadata are key / value type elements. | 0..* |
./Metadata/@key | The Metadata key. Must be unique within the section. | 1 |
Life cycle of sections
WARNING
Even when using the import in EXHAUSTIVE mode, sections cannot be archived or deleted.
Screen
Example of importing a screen into a table
<Table key="products">
<Title>Produits</Title>
<Color>RED</Color>
<Position>1</Position>
<Schema>
<Screens>
<Screen key="viewAll" level="product">
<Title>View all columns</Title>
<Position>1</Position>
<Grid>
<Line-Height>MEDIUM</Line-Height>
<Common>
<Section key="informations" position="1">
<Column-Identifier key="ean" position="1" read-only="true" fixed="true" />
<Column-Conditional-Formatting key="compliance" position="2" read-only="true" fixed="true" />
<Column-Classification key="taxonomy" position="3" width="LARGE" />
<Column-Field key="titleEn" position="4" width="LARGE" />
</Section>
</Common>
<Specific classification="taxonomy" category="apparel">
<Section key="specifics" position="1">
<Column-Field key="gender" position="1" />
<Column-Field key="material" position="1" read-only="true" fixed="false" />
</Section>
</Specific>
</Grid>
</Screen>
</Screens>
</Schema>
</Table>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| XPath | Description | Occurrence |
|---|---|---|
Screens | Screens | 0..1 |
Screen | A screen | 1..* |
./@key | The key to the working screen. Must be unique per table. Cannot be updated. | 1 |
./@level | References the level key of the working screen. | 1 |
./@status | Allows you to archive a screen. The only possible value is ARCHIVED. If this tag is not filled in then the status will be ACTIVE | 0..1 |
./Title | The title of the work screen. | 1 |
./Position | Positive integer, starts at 1. | 0..1 |
./Title-Local | The title of the working screen in different languages. | 0..* |
./Title-Local/@lang | The localization language. see here | 1 |
./Description | The description of the working screen. | 0..1 |
./Description-Local | The description of the working screen in different languages. | 0..* |
./Description-Local/@lang | The localization language. see here | 1 |
./Metadata | . | 0..* |
./Grid | Sets the display for the grid | 0..1 |
/Grid/Line-Height | The height of the rows in the grid. Enums: SHORT, MEDIUM, TALL, EXTRA_TALL | 1 |
/Grid/Common | Common columns. Must respect what is defined in Matrix | 0..1 |
/Grid/Specific | Specific columns. Must respect what is defined in Matrix | 0..* |
/Grid/Specific/@classification | The key to classification | 1 |
/Grid/Specific/@category | The category key | 1 |
The Common section
| XPath | Description | Occurrence |
|---|---|---|
./Section | The columns are necessarily grouped into sections. | 1..* |
./Section/@key | The key of a section that was defined in Sections. The same section key can only be used once in Common, but this same section can be reused several times in specifics (with the same limit of using it only once in a specific) | 1 |
./Section/@position | The position of the section. Positive integer, must be unique in common. | 1 |
Inside a section, you can have 4 types of columns:
| XPath | Description | Occurrence |
|---|---|---|
Column-Identifier | Columns that reference identifiers | 0..5 |
Column-Conditional-Formatting | Columns that reference conditional formatting fields | 0..5 |
Column-Classification | Columns that reference classifications | 0..5 |
Column-Field | Columns that reference fields | 0..* |
Column-Composite | Columns that reference composite fields | 0..* |
For each column, the following attributes are considered:
| XPath | Description | Occurrence |
|---|---|---|
@key | Key of Identifier, Conditional formatting, Classification or Field | 1 |
@position | The position inside the section. Positive integer, must be unique within the section. | 1 |
@read-only | Defines whether the attribute is editable or not. Enum: true, false. true: the attribute is not editable.false by default | 0..1 |
@fixed | Defines whether the column should be fixed. Enum: true, false. true: the column must be fixed. false by default. Note: if the third column is fixed, but not the first two in the table import file, the front will freeze the first three. | 0..1 |
@width | The width of the Enum columns: SMALL, MEDIUM, LARGE, EXTRA_LARGE. No default value. | 0..1 |
The Specific section
| XPath | Description | Occurrence |
|---|---|---|
./Section | The columns are necessarily grouped into sections. | 1..* |
./Section/@key | The key of a section that was defined in Sections. The same section key can only be used once in Common, but this same section can be reused several times in specifics (with the same limit of using it only once in a specific) | 1 |
./Section/@position | The position of the section. Positive integer, must be unique in common, and within each specific. | 1 |
Inside a section, you can have only one type of columns: Column-Field with an occurrence of 0..* :
| XPath | Description | Occurrence |
|---|---|---|
@key | Key Identifier, Conditional formatting, Classification, Field | 1 |
@position | The position inside the section. Positive integer, must be unique within the section. | 1 |
@read-only | Defines whether the attribute is editable or not. Enum: true, false. true: the attribute is not editable.false by default | 0..1 |
@fixed | Defines whether the column should be fixed. Enum: true, false. true: the column must be fixed. false by default. Note: if the third column is fixed, but not the first two in the table import file, the front will freeze the first three. | 0..1 |
@width | The width of the columns: SMALL, MEDIUM, LARGE, EXTRA_LARGE | 0..1 |
Life cycle of screens
DANGER
Contrary to the operation adopted on the other elements of the table import, the import of screens is done exhaustively, whatever the mode used. If a column is not present during the import, it will be deleted if it was already present on the target table.
TIP
In EXHAUSTIVE mode, the screens which are not presented, but present in the target table are archived.
Key points:
- In
EXHAUSTIVEmode:- the screens which are not present in the import file, but present in the target table are archived.
- Any element within the screens which would not be mentioned in the import file, will be deleted.
- In
INCREMENTALmode:- A screen that is not present in the import file, is neither updated nor archived
- For the screens present in the import file:
- If the
Commonblock is not present, it is not updated (it is not deleted) - If the
Commonblock is present, it is considered to be exhaustive:- If a
Sectionblock is not present, it is deleted - If a column is not present, it is deleted
- If no column is present, all the columns for the common fields are deleted (note: in this case the grid cannot be displayed)
- If a
- If a
Specificblock is not present, it is not updated (it is not deleted) - If a block
Specificto a category is present, it is considered to be exhaustive:- If a
Sectionblock is not present, it is deleted - If a column is not present, it is deleted
- If no column is present, all the columns specific to the target category are deleted
- If a
- If the
Archiving a screen
<Screens>
<Screen key="viewAll" level="product" status="ARCHIVED">
<Title>View all columns</Title>
<Position>1</Position>
<Grid>
<Line-Height>MEDIUM</Line-Height>
<Common>
<Section key="informations" position="1">
<Column-Identifier key="ean" position="1" read-only="true" fixed="true" />
<Column-Conditional-Formatting key="compliance" position="2" read-only="true" fixed="true" />
<Column-Classification key="taxonomy" position="3" width="LARGE" />
<Column-Field key="titleEn" position="4" width="LARGE" />
</Section>
</Common>
<Specific classification="taxonomy" category="apparel">
<Section key="specifics" position="1">
<Column-Field key="gender" position="1" />
<Column-Field key="material" position="1" read-only="true" fixed="false" />
</Section>
</Specific>
</Grid>
</Screen>
</Screens>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- It is the
statusattribute that defines the state of a screen (archived or not)
Deleting a screen
WARNING
Deleting a classification is not allowed, including in EXHAUSTIVE import mode.
Details about tables with multiple levels
- A screen is associated with a level and can be associated with elements of the current level as well as lower index levels.
- If you try to create or update a screen with elements (field, classification or identifier) associated with a higher index level, the screen is not update; and a log is added to the execution report.
Details on the execution report
General notes
- The report follows the execution report standard structure.
Example
<Report task="table-import-schema" start-at="2023-01-20T13:27:54.810Z" task-cid="..." job-cid="..." end-at="2023-01-20T13:28:51.414Z" duration-ms="56604">
<Input name="request">https://.../table.xml</Input>
<Log type="error" code="MALFORMED_ATTRIBUTE">
<Metadata name="attribute">key</Metadata>
<Metadata name="xpath">/Table/Schema/Partitions/Partition[position()=2]</Metadata>
<Message>Attribute key is malformed</Message>
</Log>
</Report>2
3
4
5
6
7
8
Logs available regarding the identifiers
| Code | Description | Type |
|---|---|---|
| IDENTIFIER_INDEX_ALREADY_USED | The creation or update of an identifier on an index/level couple could not be done: an identifier already occupies the target index on the level concerned | warning |
| IDENTIFIER_KEY_INVALID | The proposed key on an identifier is invalid (see constraint on key) | warning |
| IDENTIFIER_TITLE_INVALID | The title (or localized litle) proposed on an identifier is invalid (see constraint on the title | warning |
| IDENTIFIER_DESCRIPTION_INVALID | The description (or localized description) proposed on an identifier is invalid (see constraint on descriptions) | warning |
| IDENTIFIER_LEVEL_UNKNOW | The creation or update of an identifier on a given level could not be done, the level does not exist on the target table | warning |
| IDENTIFIER_INDEX_INVALID | The index of an identifier must be between 1 and 5 | warning |
| IDENTIFIER_MISSING_INDEX | An identifier without an index cannot be imported | warning |
Logs available regarding the levels
| Code | Type | Description | Comment |
|---|---|---|---|
| LEVEL_INDEX_INVALID | warning | The index of a level must be between 1 and 5 | |
| LEVEL_KEY_INVALID | warning | The proposed key on a level is invalid (see constraint on key) | |
| LEVEL_TITLE_INVALID | warning | The title (or localized litle) proposed on a level is invalid (see constraint on the title) | |
| LEVEL_DESCRIPTION_INVALID | warning | The description (or localized description) proposed on a level is invalid (see constraint on descriptions) | |
| LEVEL_MISSING_INDEX | warning | A level without an index cannot be imported | |
| LEVEL_INDEX_ALREADY_USED | warning | The index of a level must be unique |
Logs available regarding the classifications
| Code | Type | Description | Metadata | Comment |
|---|---|---|---|---|
| CLASSIFICATION_FORBIDEN_LEVEL_ASSOCIATION | warning | A classification can only be associated with index levels 1 | ||
| INVALID_ATTRIBUTE | warning | Attribute parent is invalid. Category tree is cyclical. Found key {categoryKey} twice in tree | attribute, key, xpath | The category is imported without referencing a parent |
| CYCLIC_CATEGORY | warning | The category {categoryKey} in classification {classificationKey} has itself as parent category and cannot be imported. | classificationKey, categoryKey | The first encountered instance of the category is imported. The next instances are not imported |
| INVALID_PARENT_CATEGORY | warning | The parent category of category {categoryKey} in classification {classificationKey} has already been defined. Further occurences of the category are not imported. | classificationKey, categoryKey | The first encountered instance of the category is imported. The next instances are not imported |
Logs available regarding the fields
| Code | Type | Message | Metadata | Comment |
|---|---|---|---|---|
| FIELD_INVALID_DEFINITION | warning | The field definition is invalid | type: The type of the field, key: The key of the field, levelKey: The key of the level associated with the field (if not null) | The field definition is invalid. It is not imported or updated |
| TOO_MANY_DEFAULT_SUFFIX | warning | ... | ... | For a field, multiple suffixes are defined as default. Only the first one will be set as default. |
| MISSING_VALUE | error | Value for tag Title is missing | title, xpath | The field is not imported |
Logs available regarding the formulas
| Code | Type | Message | Metadata | Comment |
|---|---|---|---|---|
| INVALID_PRECISION | error | Invalid precision | key, type, xpath | La formule n'est pas importée ou mise à jour. |
| INVALID_ROUNDING | error | Invalid rounding | key, type, xpath | La formule n'est pas importée ou mise à jour. |
| VALUE_NUMBER_WRONG_FORMAT | error | Invalid number format | key, type, xpath | La formule n'est pas importée ou mise à jour. |
| CASCADE_NOT_ALLOWED | error | A formula can not use another formula as source | key, type,xpath | Une formule ne peut utiliser une source étant elle meme la target d'une formula |
| MAX_NUMBER_OF_RULES_IN_FORMULA_REACHED | error | The maximum number of rules in formulas : {maxNumberOfRules}, is reached | key,type, maxNumberOfRules | |
| MAX_NUMBER_OF_SOURCES_IN_FORMULA_REACHED | error | The maximum number of rules in formulas : {maxNumberOfSources}, is reached | key type, maxNumberOfSources | |
| MAX_NUMBER_OF_CONDITIONS_IN_FORMULA_REACHED | warning | The maximum number of rules in formulas : {maxNumberOfConditions}, is reached | identifierKey ou fieldKey ou classificationKey, maxNumberOfConditions | |
| FORMULA_FORBIDEN_LEVEL_ASSOCIATION | warning | Rules on a field can only use fields of the same level | Une formula ne peut être associée qu'a des éléments appartenant au même level que celui associé à la formula cible | |
| FORMULAS_REACHED_MAX_NUMBER_OF_VALUE_IN_CONDITION | warning | The maximum number of values in a condition is reached. The rule cannot be imported | identifierKey ou fieldKey ou classificationKey, xpath, maxNumberOfValuesInCondition | La formule n'est pas importée ou mise à jour. |
| UNSOLVABLE | warning | Formula is unsolvable because of cycles. It is imported but will not run. | targetFieldKey, xpath,rules.priority | The formula is imported and flagged as unsolvable so that it will not be executed. |
Logs available regarding the screens
| Code | Type | Cas | Comment |
|---|---|---|---|
| SCREEN_CANNOT_REFERENCE_ELEMENT_FROM_CHILD_LEVEL | error | The screen could not be imported. We can reference elements related to an index level higher than that associated with the screen |
Logs available regarding the conditional formatting fields
| Code | Type | Message | Cas | MetaData | Comment |
|---|---|---|---|---|---|
| MAX_NUMBER_OF_CF_REACHED | error | Only {max_cf} conditionnal formatting fields can be created | Plus de 8 champs de formatage conditionnels sont définis | Les champs de formatages au delà du {max_cf} ne sont pas importés | |
| CF_CANNOT_REFERENCE_ELEMENT_FROM_ANOTHER_LEVEL | error | The conditional formatting field Conditional-Formatting key cannot be imported. It uses the field Field key which belongs to another level | Le champ de formatage conditionnel n'a pas pu être importé. | On en peut référencer des éléments liés à un level d'index différent de celui associé au champ de formatage conditionnel cible | |
| CF_INVALID_RULE_DESCRIPTION | warning | The conditional formatting field Conditional-Formatting key rule description cannot be imported. Description must be 256 characters or less. | La description des règles de formatage conditionnel sur un champ fait plus de 256 caractères | La description n'est pas importée. |
Logs liés au raffraichissement des items (formatage conditionnel et formules)
Ci-dessous, la metadata identifier décrit une collection de metadata, dont chaque metadata enfant correspond à un identifiant de l'item. Exemple:
<Metadata-Collection name="identifier">
<Metadata name="ean">1234567890123</Metadata>
<Metadata name="sku">00034-red-34</Metadata>
</Metadata-Collection>2
3
4
| Code | Message | Metadata | Type | Comments |
|---|---|---|---|---|
| REFRESH_ITEM_FAILED | The item cannot be refreshed | identifier | warning | The item could not be refreshed, the refresh continues on other items |