Konfigurace e-shopu
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.
Zkopírovat odkaz na sekciKatalogy
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 module vyžaduje minimálně jeden katalog. Pro katalogy je dále možné specifikovat profily.
Zkopírovat odkaz na sekciPříklad
1 <catalogConfig>2 <catalogs>3 <catalog>4 <code/>5 <country/>6 <currency/>7 <locale/>8 <name/>9 <profile/>10 <regions>11 <region>12 <country>CZ</country>13 <currency>CZK</currency>14 <locale>cs</locale>15 </region>16 </regions>17 </catalog>18 </catalogs>19 <defaultCatalogCode/>20</catalogConfig>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekcicatalogConfig
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í kod produktu a katalog je vždy povinný. Není tak možné mít zařazený produkt s jedním kodem ve více katalozích. Při nabíhání modulu jsou v DB vytvořený 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 defaultní. | String | - | - |
Zkopírovat odkaz na sekcicatalogs/catalog
Definice katalogů produktů. Jeden katalog odpovídá typicky jedné doméně. Z pohledu administrace produktů je unikátní kod produktu a katalog je vždy povinný. Není tak možné mít zařazený produkt s jedním kodem ve více katalozích. Při nabíhání modulu jsou v DB vytvořený odpovídající záznamy v tabulce T_EDEESHOP_CATALOG
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| code | Unikátní kód katalogu. | String | ✔ | - |
| country | Výchozí Kód země (ISO 3166 - 2 znaky). | String | ✔ | cz |
| currency | Výchozí měna katalogu ( ISO 4217 - znaky) | ✔ | CZK | |
| locale | Výchozí locale katalogu | ✔ | - | |
| 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í nedefinováno aplikuje se výchozí profil. Více o profilech zde. | 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. | - | - |
Zkopírovat odkaz na sekciregions/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 |
|---|---|---|---|---|
| country | Kód země (ISO 3166 - 2 znaky). Povinná hodnota. | String | - | - |
| currency | Měna regionu ( ISO 4217 - 3 znaky). Povinná hodnota. | - | - | |
| locale | Lokalizace regionu. | - | - |
Zkopírovat odkaz na sekciNastavení 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.
Zkopírovat odkaz na sekciPříklad konfigurace
1 <currencyConfig>2 <computedPricesRoundedToDecimalPlaces>0</computedPricesRoundedToDecimalPlaces>3 <maximumDecimalPlaces>2</maximumDecimalPlaces>4 <currencies>5 <currency>6 <computedPricesRoundedToDecimalPlaces/>7 <currency/>8 <maximumDecimalPlaces/>9 </currency>10 </currencies>11 <catalogSpecific>12 <catalogCode/>13 <computedPricesRoundedToDecimalPlaces>0</computedPricesRoundedToDecimalPlaces>14 <maximumDecimalPlaces>2</maximumDecimalPlaces>15 <currencies>16 <currency>17 <computedPricesRoundedToDecimalPlaces/>18 <currency/>19 <maximumDecimalPlaces/>20 </currency>21 </currencies>22 </catalogSpecific>23</currencyConfig>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekcicurrencyConfig
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 currencies/currency. 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 currencies/currency. Používá se při kontrole i při zadávání cen do systému (přes AR nebo API). 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 případě, že nebude nic uvedeno, tak se pro všechny měny použijí hodnoty maximumDecimalPlaces a computedPricesRoundedToDecimalPlaces. | List: currencies/currency | - | - |
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. | - | - |
Zkopírovat odkaz na sekcicurrencies/currency
Konfigurace pro konkrétní měny. Seznam je nepovinný a 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 | - | - |
Zkopírovat odkaz na sekciNastavení cen
Zkopírovat odkaz na sekciPříklad konfigurace
1 <priceConfig>2 <keyUserProperties>3 <property>userForm</property>4 </keyUserProperties>5 <unlockBasicPriceListValidity/>6 <userPriceListCacheValidityInMinutes/>7 <catalogSpecific>8 <catalogCode/>9 <keyUserProperties>10 <property>userForm</property>11 </keyUserProperties>12 <unlockBasicPriceListValidity/>13 <userPriceListCacheValidityInMinutes/>14 </catalogSpecific>15</priceConfig>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekcipriceConfig
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 (com.fg.registration.model.user.User), které mají vliv na výběr ceníků (typicky id uživatele, pokud existují ceníky vázané na uživatele nebo id skupiny uživatele, pokud existují ceníky vázané na skupiny uživatelů) | String | - | - |
| unlockBasicPriceListValidity | Umožňuje otevřít k editaci platnost od-do cen pro základní a referenční ceník. | boolean | - | false |
| 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 | - | 30 |
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. | - | - |
Zkopírovat odkaz na sekciNastavení 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.
Zkopírovat odkaz na sekciPříklad konfigurace
1 <evita>2 <allowSameUrlInDifferentLocales/>3 <certificateDirectory/>4 <embedded/>5 <exportDirectory/>6 <host/>7 <indexedDecimalPlaces/>8 <port/>9 <publishEntities/>10 <publishEntitiesBatchSize/>11 <publishOnlyEntitiesWithTranslations/>12 <storageDirectory/>13 <timeoutForPublishing/>14 <tlsEnabled/>15 <trustedCertificate/>16 <waitForClose/>17 <catalogSpecific>18 <catalogCode/>19 <allowSameUrlInDifferentLocales/>20 <indexedDecimalPlaces/>21 <publishEntities/>22 <publishEntitiesBatchSize/>23 <publishOnlyEntitiesWithTranslations/>24 </catalogSpecific>25</evita>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekcievita
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 | - | false |
| 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 | - | false |
| exportDirectory | Vrací umístění adresáře, kam má evitaDB ukládat exportovaná data v případě, že #isEmbedded() je true. Pokud není zadáno ukládají se data do temp adresáře operačního systému. 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 embedded = false. 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í maximumDecimalPlaces v konfiguraci modulu (v sekci 'currencyConfig'). | Integer | - | - |
| port | Port, na kterém server gRPC naslouchá. Hodnota je povinná, pokud embedded = false. 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 | - | false |
| 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 | - | false |
| storageDirectory | Vrací umístění adresáře, kam má evitaDB ukládat data v případě, že #isEmbedded() je true. Pokud není zadáno ukládají se data do temp adresáře operačního systému. 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živaný 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 | - | false |
| 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. | - | - |
Zkopírovat odkaz na sekciMonitoring verze EdeeShop modulu
Zkopírovat odkaz na sekciPříklad konfigurace
1 <versionMonitoring>2 <hvAd/>3 <hvWd/>4 <pm/>5 <project/>6 <versionApiUrl>https://edee.dev/edee-eshop-version/push</versionApiUrl>7</versionMonitoring>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekciversionMonitoring
Konfigurace monitoring verze EdeeShop modulu.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| hvAd | Identifikace aplikačního developera. Hodnota může být libovolná textová identifikace developera (příp. developerů). | String | - | - |
| hvWd | Identifikace web developera. Hodnota může být libovolná textová identifikace developera (příp. developerů). | String | - | - |
| pm | Identifikace projekt managera. Hodnota může být libovolná textová identifikace developera (příp. developerů). | String | - | - |
| project | Název projektu. Povinná hodnota. | String | - | - |
| versionApiUrl | URL rozhraní REST API pro evidenci informací o verzi modulu EdeeShop. Default hodnota: https://edee.dev/edee-eshop-version/push. | String | - | https://edee.dev/edee-eshop-version/push |
Zkopírovat odkaz na sekciFeatures
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.
Zkopírovat odkaz na sekciLokalizace
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/>
Zkopírovat odkaz na sekciSystémové řazení entit
Seznam entit s podporou řazení a možnost vypnutí systémového řazení entit je dostupné zde.
Zkopírovat odkaz na sekciOprávnění
Oprávnění jsou popsány v samostatném dokumentu zde.