Konfigurace e-shopu
Konfigurace modulu probíhá v souboru config/module-edeeshop/module-edeeshop.xml v elementu <module customName="edeeShop" classname="com.fg.cps.eshop.cps.EdeeShopModule">.
V rámci této sekce je povinná konfigurace pro katalogy.
Dále je také nutné nastavit jednotlivá rozšíření, tzv. features.
Katalogy
Jedno z nejdůležitějších nastavení je konfigurace katalogů, které
je povinné a probíhá v rámci elementu module/config v souboru config/module-edeeshop/module-edeeshop.xml.
EdeeShop modul vyžaduje minimálně jeden katalog. Pro katalogy je dále možné specifikovat profily.
Příklad
<catalogConfig> <catalogs> <catalog> <basicPriceList>basic</basicPriceList> <code/> <country/> <currency/> <locale/> <name/> <profile/> <referencePriceList>reference</referencePriceList> <regions> <region> <basicPriceList>basic_eur</basicPriceList> <country>CZ</country> <currency>CZK</currency> <locale>cs</locale> <referencePriceList>reference_eur</referencePriceList> </region> </regions> </catalog> </catalogs> <defaultCatalogCode/></catalogConfig>
Popis
catalogConfig
Konfigurace katalogů.
Funkce katalogů je popsána zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| catalogs/catalog | Definice katalogů produktů. Jeden katalog odpovídá typicky jedné doméně. Z pohledu administrace produktů je unikátní kód produktu a katalog je vždy povinný. Není tak možné mít zařazený produkt s jedním kódem ve více katalozích. Při nabíhání modulu jsou v DB vytvořeny odpovídající záznamy v tabulce T_EDEESHOP_CATALOG | List: catalogs/catalog |
|
|
| defaultCatalogCode | Obsahuje kód výchozího katalogu (bude zobrazen primárně v Edee při kliku na záložku e-shop). Pokud není definováno, bere se první katalog ze seznamu jako výchozí. | String |
|
|
catalogs/catalog
Definice katalogů produktů. Jeden katalog odpovídá typicky jedné doméně. Z pohledu administrace produktů je unikátní kód produktu a katalog je vždy povinný. Není tak možné mít zařazený produkt s jedním kódem ve více katalozích. Při nabíhání modulu jsou v DB vytvořeny odpovídající záznamy v tabulce T_EDEESHOP_CATALOG
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| basicPriceList | Kód základního (prodejního) ceníku katalogu. Nepovinná hodnota, výchozí je | String |
|
|
| code | Unikátní kód katalogu. | String |
|
|
| country | Výchozí kód země (ISO 3166 - 2 znaky). | String |
|
|
| currency | Výchozí měna katalogu ( ISO 4217 - 3 znaky) |
|
| |
| locale | Výchozí |
|
| |
| name | Název katalogu. | String |
|
|
| profile | Kód profilu katalogu. Nastavený profil ovlivňuje chování e-shopu dle aktuálního katalogu. Pokud není definováno, aplikuje se výchozí profil. Více o profilech zde. | String |
|
|
| referencePriceList | Kód referenčního ceníku (běžné, přeškrtnuté ceny) katalogu. Nepovinná hodnota, výchozí je | String |
|
|
| regions/region | Seznam regionů (lokalizací / zemí / měn) v tomto katalogu. Více o regionech zde. Hodnota je nepovinná. Tedy pokud není nastavený žádný region, tak se katalog tváří, že má pouze jeden region v jazyku, v zemi a měně, které jsou nastavené přímo u katalogu. |
|
|
regions/region
Seznam regionů (lokalizací / zemí / měn) v tomto katalogu. Více o regionech zde.
Hodnota je nepovinná. Tedy pokud není nastavený žádný region, tak se katalog tváří, že má pouze jeden region v jazyku, v zemi a měně, které jsou nastavené přímo u katalogu.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| basicPriceList | Kód základního (prodejního) ceníku regionu. Nepovinná hodnota. Pokud není uvedena, použije se základní ceník katalogu ( | String |
|
|
| country | Kód země (ISO 3166 - 2 znaky). Povinná hodnota. | String |
|
|
| currency | Měna regionu ( ISO 4217 - 3 znaky). Povinná hodnota. |
|
| |
| locale | Lokalizace regionu. |
|
| |
| referencePriceList | Kód referenčního ceníku (běžné, přeškrtnuté ceny) regionu. Nepovinná hodnota. Pokud není uvedena, použije se referenční ceník katalogu ( | String |
|
|
Nastavení měn
Nastavení měn ovlivňuje chování systému z pohledu měny. Především co se týká zaokrouhlování cen nebo vypočtených částek.
Toto nastavení je povinné. Význam hodnot je popsán níže.
Příklad konfigurace
<currencyConfig> <computedPricesRoundedToDecimalPlaces>0</computedPricesRoundedToDecimalPlaces> <maximumDecimalPlaces>2</maximumDecimalPlaces> <currencies> <currency> <computedPricesRoundedToDecimalPlaces/> <currency/> <maximumDecimalPlaces/> </currency> </currencies> <catalogSpecific> <catalogCode/> <computedPricesRoundedToDecimalPlaces>0</computedPricesRoundedToDecimalPlaces> <maximumDecimalPlaces>2</maximumDecimalPlaces> <currencies> <currency> <computedPricesRoundedToDecimalPlaces/> <currency/> <maximumDecimalPlaces/> </currency> </currencies> </catalogSpecific></currencyConfig>
Popis
currencyConfig
Nastavení systému v kontextu měny.
Pokud není uvedeno, použije se výchozí nastavení, které je:
Pro CZK
- 'maximumDecimalPlaces' = 2
- 'computedPricesRoundedToDecimalPlaces' = 0
Pro ostatní měny
- 'maximumDecimalPlaces' = 2
- 'computedPricesRoundedToDecimalPlaces' = 2
Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| computedPricesRoundedToDecimalPlaces | Počet desetinných míst, na které budou zaokrouhlovány ceny, pokud výpočet ceny probíhá na straně EdeeShop.
Zároveň se jedná o výchozí hodnotu v případě, že neexistuje konfigurace pro danou měnu. Pro konkrétní měnu lze hodnotu specifikovat pomocí elementu Používá se:
Např. pro CZK je typicky nastaveno 0. Tedy vypočtené ceny se evidují na celá čísla. Pro EUR dává smysl hodnota 2. | Integer |
|
|
| maximumDecimalPlaces | Hodnota vyjadřuje maximální počet povolených desetinných míst u ceny. Zároveň se jedná o výchozí hodnotu v případě,
že neexistuje konfigurace pro danou měnu. Pro konkrétní měnu lze hodnotu specifikovat pomocí elementu Např. pro CZK nebo EUR je typicky nastaveno 2. Tedy ceny v systému se evidují na dvě desetinná místa. | Integer |
|
|
| currencies/currency | Konfigurace pro konkrétní měny. Seznam je nepovinný a v případě, že nebude nic uvedeno, tak se pro všechny měny použijí
hodnoty | List: currencies/currency |
|
|
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. |
|
|
currencies/currency
Konfigurace pro konkrétní měny. Seznam je nepovinný a v případě, že nebude nic uvedeno, tak se pro všechny měny použijí
hodnoty maximumDecimalPlaces a computedPricesRoundedToDecimalPlaces.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| computedPricesRoundedToDecimalPlaces | Počet desetinných míst, na které budou zaokrouhlovány ceny, pokud výpočet ceny probíhá na straně EdeeShop. Povinná hodnota. Používá se:
Např. pro CZK nebo EUR je typicky nastaveno 2. Tedy ceny v systému se evidují na dvě desetinná místa. | Integer |
|
|
| currency | Kód měny pro toto nastavení (ISO 4217 - 3 znaky). Povinná hodnota. |
|
| |
| maximumDecimalPlaces | Hodnota vyjadřuje maximální počet povolených desetinných míst u ceny. Povinná hodnota. Používá se při kontrole i při zadávání cen do systému (přes AR nebo API). Např. pro CZK je typicky nastaveno 0. Tedy vypočtené ceny se evidují na celá čísla. Pro EUR dává smysl hodnota 2. | Integer |
|
|
Nastavení cen
Příklad konfigurace
<priceConfig> <keyUserProperties> <property>userForm</property> </keyUserProperties> <unlockBasicPriceListValidity/> <userPriceListCacheValidityInMinutes/> <catalogSpecific> <catalogCode/> <keyUserProperties> <property>userForm</property> </keyUserProperties> <unlockBasicPriceListValidity/> <userPriceListCacheValidityInMinutes/> </catalogSpecific></priceConfig>
Popis
priceConfig
Konfigurace cen a ceníků.
Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| keyUserProperties/property | Specifikuje seznam vlastností (properties) uživatelského objektu ( | String |
|
|
| unlockBasicPriceListValidity | Umožňuje otevřít k editaci platnost od-do cen pro základní a referenční ceník. | boolean |
|
|
| userPriceListCacheValidityInMinutes | Specifikuje čas po který jsou maximálně uchovány data o cenících na FE. Po uplynutí tohoto času jsou data označena za zastaralé a dojde k opětovnému dotazu na REST API. Tato doba by měla být uzpůsobena danému prostředí, pro dynamický projekt s častými změnami v cenících a cenových politikách lze interval zmenšit. | int |
|
|
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. |
|
|
Nastavení frontstore indexu evitaDB
Data z primárního úložiště se indexují do no-sql databáze evitaDB pomocí asynchronních
úloh Úplná reindexace publikované databáze do Evita a Inkrementální indexace publikované databáze do Evita.
Jeden EdeeShop katalog je publikován do samostatného katalogu (schématu) v evitaDB databázi (pokud je publikace do
toho katalogu konfiguračně zapnuta). Katalog v evitaDB je tzv. samonosný a obsahuje všechny potřebné informace pro
zobrazení produktů v e-shopu. Pokud jsou nějaké informace děděny / přebírány z origin katalogu, jsou v rámci publikace
do evitaDB zkopírovány a uloženy v cílovém alias katalogu.
Příklad konfigurace
<evita> <allowSameUrlInDifferentLocales/> <certificateDirectory/> <embedded/> <exportDirectory/> <fullReindexMinimalCompletenessPercent/> <host/> <indexedDecimalPlaces/> <port/> <publishEntities/> <publishEntitiesBatchSize/> <publishOnlyEntitiesWithTranslations/> <publishIntervalParametersAsAttributes/> <storageDirectory/> <timeoutForPublishing/> <tlsEnabled/> <trustedCertificate/> <waitForClose/> <catalogSpecific> <catalogCode/> <allowSameUrlInDifferentLocales/> <fullReindexMinimalCompletenessPercent/> <indexedDecimalPlaces/> <publishEntities/> <publishEntitiesBatchSize/> <publishOnlyEntitiesWithTranslations/> <publishIntervalParametersAsAttributes/> </catalogSpecific></evita>
Popis
evita
Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| allowSameUrlInDifferentLocales | Pokud je nastaveno na TRUE, tak je povoleno stejné url u různých entit v různých jazycích. Nicméně stále je zakázáno mít stejnou url u dvou různých entit ve stejném jazyce. Výchozí hodnota je FALSE - tj. URL musí být unikátní pro každou entitu v rámci celého katalogu a všech jazyků. | boolean |
|
|
| certificateDirectory | Vrací umístění adresáře, kam má evitaDB ukládat data o certifikátech. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | String |
|
|
| embedded | Pokud se nastaví na TRUE EdeeShop instanciuje Evitu jako interní komponentu a nebude se na ni napojovat jako na samostatný proces běžící v jiném JVM. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | boolean |
|
|
| exportDirectory | Vrací umístění adresáře, kam má evitaDB ukládat exportovaná data v případě, že Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | String |
|
|
| host | IP adresa nebo název hostitele, kde server gRPC naslouchá. Hodnota je povinná, pokud Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | String |
|
|
| indexedDecimalPlaces | Hodnota určuje na kolik desetinných míst se má zaokrouhlit cena, která se používá pro indexaci, tedy cena určená pro vyhledávání a filtraci ve seznamech. Např. cenu v detailu produktu nebo cenu za kterou se produkt prodává to neovlivňuje. Pokud není uvedeno, použije se globální nastavení | Integer |
|
|
| port | Port, na kterém server gRPC naslouchá. Hodnota je povinná, pokud Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | Integer |
|
|
| publishEntities | Pokud je nastaveno pro konkrétní katalog na hodnotu true, publikují se jeho data do evitaDB databáze. U systémových katalogů se tato hodnota nastavuje na false. | boolean |
|
|
| fullReindexMinimalCompletenessPercent | Minimální počet entit v nově postaveném indexu, vyjádřený v procentech počtu entit v aktuálně živém indexu, který musí být dosažen, aby full reindex směl živý index nahradit. Obě čísla se zjišťují dotazem do evitaDB až v okamžiku rozhodování, takže entity, které se do indexu legitimně nedostávají (nepřeložené, bez aktivní URL, …), chybí na obou stranách poměru a práh nezkreslují. Nedosažení prahu ukončí běh chybou, intermediate katalog se smaže a živý index zůstane nedotčen. Pokud živý katalog neexistuje, je prázdný nebo poškozený, není s čím poměřovat a nový index se použije vždy. Hodnota | Integer |
|
|
| publishEntitiesBatchSize | Nastavuje velikost dávky pro publikaci entit do evitaDB databáze. | Integer |
|
|
| publishOnlyEntitiesWithTranslations | Nastavuje chování publikačního procesu per katalog pro lokalizované atributy. Pokud se zjistí, že entita má vypublikovaný pouze systémový název / URL v daném jazyku, tak se tyto atributy vyloučí a entita se považuje za nepřeloženou. | boolean |
|
|
| publishIntervalParametersAsAttributes | Nastavuje chování publikačního procesu per katalog pro intervalové parametry. Pokud se zjistí, že entita má intervalový parametr, tak se jeho hodnoty publikují jako atributy s názvem daného parametru. | boolean |
|
|
| storageDirectory | Vrací umístění adresáře, kam má evitaDB ukládat data v případě, že Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | String |
|
|
| timeoutForPublishing | Časový interval pro dlouhé publikační procesy. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. |
|
| |
| tlsEnabled | Je nutné nastavit na FALSE, pokud je server gRPC spuštěný bez šifrování. Výchozí hodnota je TRUE. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | Boolean |
|
|
| trustedCertificate | Je nutné nastavit na TRUE, pokud je certifikát používaný evita serverem důvěryhodný - tj. např. vystavený Let's Encrypt autoritou. Výchozí hodnota je FALSE a specifikuje tzv. self-signed certifikát, který není Javou běžně důvěřován. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. | boolean |
|
|
| waitForClose | Časový interval, který by měl klient počkat na standardní ukončení otevřeného spojení, než je násilně ukončí. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. |
|
| |
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. |
|
|
Features
Konfigurace dále zahrnuje konfigurace jednotlivých features.
Tyto konfigurace jsou zde pro přehlednost řešeny odkazem pomocí elementu <include path=""/> , kde path je relativní cesta
ke konfiguračnímu souboru dané feature.
Tyto odkazy není nutné běžně měnit, protože konfigurace samotných features se mění až v nich. Odkazy je nutné přidat pouze v případě přidání nové feature, typicky při upgradu.
Popis konfigurace jednotlivých features naleznete zde.
Lokalizace
TODO MKO - tady nejspíš bude nějaký odkaz na obecnou konfiguraci modulů a přidání lokalizací; toto bude platit pro další elementy jako je <injectedResources/>, <metamodelExtension/> nebo <mailing/>
Systémové řazení entit
Seznam entit s podporou řazení a možnost vypnutí systémového řazení entit je dostupná zde.
Oprávnění
Oprávnění jsou popsány v samostatném dokumentu zde.
