EdeeShop · Implementace

CSV Import a export lokalizovaných dat

Upraveno

Dokument popisuje konfiguraci pro import a export lokalizovaných dat entit. Obecné nastavení pro import a export je zde.

Příklad konfigurace

xml
<localizations>    <localization>        <systemName>singleImport</systemName>        <columns>            <entityCode>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <required>true</required>            </entityCode>            <property>                <title>name</title>                <aliasOverrideCode/>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <propertyName/>                <required>true</required>                <targetEntity/>            </property>            <localization>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <lang>cs</lang>                <mode/>                <propertyName/>                <required>true</required>                <targetEntity/>            </localization>            <oldUrl>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <lang>cs</lang>                <mode/>                <required>true</required>            </oldUrl>        </columns>        <columnValueDelimiter/>        <createEntityIfMissing/>        <defaultStatus/>        <defaultVisibility/>        <encoding/>        <entity/>        <exportFilter/>        <exportPageSize/>        <fileNamePrefix/>        <importCodeResolverBeanName/>        <importCodeResolverConfig/>        <mode/>        <normalizeCode/>        <pivotProperty/>    </localization></localizations>

Popis

localizations/localization

Konfigurace importu a exportu lokalizace entit.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
systemName

Unikátní systémový název definice importu/exportu.

Název se zobrazuje v AR.

String

✔

-

columns/entityCode

Definice sloupce, který jednoznačně identifikuje entitu. Povinná hodnota.

columns/entityCode

✔

-

columns/property

Vlastnosti entity (entita musí implementovat MetadataContainerProvider)

List: columns/property

-

-

columns/localization

List: columns/localization

-

-

columns/oldUrl

Historické url entity.

List: columns/oldUrl

-

-

columnValueDelimiter

Oddělovač hodnot v rámci jednoho sloupce.

String

-

\|

createEntityIfMissing

Pokud je hodnota true a entita nebyla podle entityCode nalezena, tak se vytvoří nová.

boolean

-

true

defaultStatus

Výchozí com.fg.cps.eshop.catalogEntity.model.EdeeShopEntity#setStatus(CatalogEntityStatus) status při nové entity.

  • ACTIVE - Entity is available on frontend.
  • TRASHED - Entity is entirely not available on frontend.
  • PRIVATE - Entity is entirely not available on frontend, but it's visible in administration.

-

PRIVATE

defaultVisibility

Výchozí viditelnost pro nově založené entity.

  • INVISIBLE - Entita je dostupná pouze na konkrétní detail stránce (se znalostí URL), není vyhledatelná a není přítomná ve výpisech.

Entity is not browsable, searchable, but is still accessible on direct url (detail page).

  • VISIBLE - Entita je viditelní v rozcestnících, lze vyhledat, je přístupná na detail stránce.

Entity is browsable, searchable and accessible on direct url (detail page).

-

VISIBLE

encoding

Kódování CSV souboru. Pokud není definováno, bere se globální nastavení 'csvIO/encoding'.

String

-

-

entity

Typ entity

String

-

-

exportFilter

Filter, kterým lze omezit rozsah dat pro export.

String

-

-

exportPageSize

Velikost dávky při exportu dat.

int

-

100

fileNamePrefix

Slouží jako prefix pro název souboru s exportem dat. Název dále obsahuje aktuální čas ve formátu yyyyMMddHHmmss a příponu .csv.

Pokud není definován, použije se systemName hodnota.

String

-

-

importCodeResolverBeanName

String

-

-

importCodeResolverConfig

String

-

{"parameterItemNameTitle":"itemName","parameterTypeCodeTitle":"parameterType"}

mode

Určuje, zda se formát používá pro import, export nebo obojí.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

normalizeCode

Přepínač normalizace kódu.

Pokud je true (default), tak kód z importního souboru projde normalizací. Pokud je false, tak kód se nenormalizuje, ale pouze se validuje.

boolean

-

true

pivotProperty

Property entity, podle které se bude mapovat importní data. Standardně bývá kód, ale může být například i název pokud je název v rámci dané entity unikátní.

String

-

code

columns/entityCode

Definice sloupce, který jednoznačně identifikuje entitu. Povinná hodnota.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

columns/property

Vlastnosti entity (entita musí implementovat MetadataContainerProvider)

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

aliasOverrideCode

Kód property z pohledu dědění alias-produktů.

Nepovinná hodnota, pokud není uvedeno, tak je použita hodnota BaseEntityProperty#getPropertyName()

String

-

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování v rámci importu.

int

-

1000

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

propertyName

Název vlastnosti, která má bý importována/exportována.

String

✔

-

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

targetEntity

Cílová entita, do které se má hodnota nastavit.

Pokud je hodnota rovna com.fg.cps.eshop.importExport.business.processor.editor.BasePropertyEditor#TARGET_ENTITY_MASTER_PRODUCT, tak se vlastnost uloží k master produktu (nastavení má smysl pouze pro varianty). V opačném případě se uloží do aktuálně importované entity.

String

-

-

columns/localization

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

1000

lang

Jazyk lokalizace

String

✔

-

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

propertyName

Název vlastnosti, která má bý importována/exportována.

String

-

name

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

targetEntity

Cílová entita, do které se má vlastnost nastavit.

Pokud je hodnota rovna rovna com.fg.cps.eshop.importExport.business.processor.editor.BasePropertyEditor#TARGET_ENTITY_MASTER_PRODUCT, tak se vlastnost uloží k master produktu (nastavení má smysl pouze pro varianty). V opačném případě se uloží do aktuálně importované entity.

String

-

-

columns/oldUrl

Historické url entity.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

lang

Jazyk, ke kterému se url vztahuje.

String

✔

-

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false