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

xml
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.

VlastnostPopisHodnotaPovinná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

VlastnostPopisHodnotaPovinná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)

currency

CZK

locale

Výchozí locale katalogu

locale

-

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.

regions/region

-

-

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.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
country

Kód země (ISO 3166 - 2 znaky).

Povinná hodnota.

String

-

-

currency

Měna regionu ( ISO 4217 - 3 znaky).

Povinná hodnota.

currency

-

-

locale

Lokalizace regionu.

locale

-

-

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

xml
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.

VlastnostPopisHodnotaPovinná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:

  • V případě výpočtu cen virtuálních ceníků.
  • K zaokrouhlení celkové ceny k úhradě při tvorbě objednávky.

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.

VlastnostPopisHodnotaPovinná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:

  • V případě výpočtu cen virtuálních ceníků.
  • K zaokrouhlení celkové ceny k úhradě při tvorbě objednávky.
  • Zaokrouhlení procentuální slevy u slevových poukazů, pokud není nedefinováno přímo u slev.

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.

currency

-

-

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

xml
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.

VlastnostPopisHodnotaPovinná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

xml
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.

VlastnostPopisHodnotaPovinná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.

TimeInterval

-

-

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.

TimeInterval

-

-

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

xml
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.

VlastnostPopisHodnotaPovinná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.