Ostatní funkce

Ostatní funkce

Kapitola popisuje ostatní funkce a moduly spolu s definováním chování těchto komponent.

Zkopírovat odkaz na sekciJazykové mutace

V této kapitole jsou popsány jazykové mutace a lokalizace e-commerce řešení.

Zkopírovat odkaz na sekciRegiony

Pro případ požadavku na provoz jednoho katalogu v různých zemích je možnost konfiguračně definovat tzv. regiony. Region lze zjednodušeně definovat jako kombinaci země, jazyka a měny. Lze tak současně provozovat stejný katalog např.:

  • v češtině s prodejem v CZK a dodáním do ČR
  • v češtině s prodejem v EUR a dodáním do EU
  • ve slovenštině s prodejem v EUR a dodáním do SK
  • v angličtině s prodejem v USD a dodáním do celého světa

V případě použití regionu si uživatel v hlavičce e-shopu volí region výběrem povolených kombinací jazyka, měny a země. Volba je uložena do cookie prohlížeče jako preferovaný region uživatele. Pro prvotní nastavení regionu uživatele (pokud ještě nemá cookie s preferovaným jazykem z předchozí návštěvy) při přístupu na homepage webu lze zapnout podporu detekce země dle IP adresy. Pokud je tato funkcionalita v konfiguraci zapnutá, pak při prvním přístupu uživatele je region nastaven dle země zjištěné z IP a preferovaných jazyků nastavených v prohlížeči uživatele. V případě konfigurace regionu s jazykem jiným než je primární jazyk daného e-shopu, je automaticky v AR dostupná lokalizace základních entit e-shopu.

Způsoby dopravy a platby definované v administraci e-shopu je možné omezit na jazyk i měnu regionu. Lze tak například definovat jinou dopravu (jiný typ, jiná cena apod.) pro dodání do EU než pro dodání do ČR.

Nákupní košík i Wishlist e-shopu jsou definovány pro region. V případě změny regionu uživatelem dochází současně ke změně obsahu košíku (košík je po přepnutí prázdný nebo ve stavu poslední práce se zvoleným regionem).

Poznámka: V případě zobrazení entity katalogu pomocí přímého odkazu (z vyhledávače) je z URL určen jazyk. Na základě jazyka je vybrán preferovaný region v daném jazyce (dle pořadí regionů v konfiguraci). V případě cs jazyka by byl z uvedených příkladů regionů vybrán katalog v češtině s prodejem v CZK a dodáním do ČR. Tato logika má přednost před regionem uloženým v cookie uživatele. Jazyk je v URL definován buď lokalizovanou URL (/telefon versus /phone), nebo prefixem (/cs/telefon versus /en/phone).

Zkopírovat odkaz na sekciJazykové lokalizace textů

Edee SHOP je možné plně lokalizovat do různých jazyků. Příprava jazykové mutace se dělí do dvou kroků:

  1. přeložení systémových textů (pevně svázaných s logikou aplikace) – mezi takové patří:
  • popisky formulářových prvků
  • informační a chybové zprávy
  • texty pevně zakotvené v layoutu stránky
  1. přeložení obsahu webu a atributů objektů Edee SHOP
  • obsahy článků
  • štítky
  • kategorie
  • produkty
  • skupiny produktů
  • značky
  • parametry
  • hodnoty parametrů
  • slučovací skupiny parametrů
  • skupiny parametrů
  • akční balíčky

Lokalizované texty Edee SHOP entit je možné buď importovat a nebo je možné je upravovat přes AR webu. Lokalizovat je možné i dodatečné atributy entity (produktů / kategorií) specifických pro danou zákaznickou implementaci – namátkou např. atributy typu: trvanlivost, alergeny, složení atp.

Zkopírovat odkaz na sekciDědičnost v rámci lokalizace

V Edee SHOP jsou nastavena základní pravidla dědičnosti, která jsou aplikovaná v případě, že není možné nalézt správný lokalizovaný text pro entitu Edee SHOPU. Pravidla jsou následující:

Produkt

  • texty se přebírají z dané jazykové mutace
  • pokud není vyplněná mutace (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace (např. CZ)

Master produkt (chování je stejné jako u produktu)

  • texty se přebírají z dané jazykové mutace
  • pokud není vyplněná mutace (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace (např. CZ)

Varianta produktu

  • pokud je vyplněna mutace varianty, tak se berou texty z mutace (bez nutnosti existence vyplněné primární mutace)
  • pokud není vyplněná mutace varianty,, tak se dědí z mutace master produktu
  • pokud není vyplněná mutace (např. EN) ani na master produktu – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace (např. CZ)

Alias produkt

Atribut nedědí z předlohy:

  • pokud nedědí z předlohy a je vyplněná mutace, tak se bere mutace
  • pokud nedědí z předlohy a není vyplněná mutace (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace aliasu (např. CZ)

Atribut dědí z předlohy:

  • pokud dědí z předlohy a je vyplněná mutace na předloze, tak se bere z mutace předlohy
  • pokud dědí z předlohy a není vyplněná mutace na předloze (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace předlohy (např. CZ)

Alias master (schování je stejné jako u alias produktu)

Atribut nedědí z předlohy:

  • pokud nedědí z předlohy a je vyplněná mutace, tak se bere mutace
  • pokud nedědí z předlohy a není vyplněná mutace (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace alias master produktu (např. CZ)

Atribut dědí z předlohy:

  • pokud dědí z předlohy a je vyplněná mutace na předloze, tak se bere z mutace předlohy
  • pokud dědí z předlohy a není vyplněná mutace na předloze (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace předlohy (např. CZ)

Alias varianta

Atribut nedědí z předlohy:

  • pokud nedědí z předlohy a je vyplněna mutace alias varianty, tak se bere mutace alias varianty
  • pokud nedědí z předlohy a není vyplněna mutace alias varianty, tak se bere z mutace předlohy varianty
  • pokud nedědí z předlohy a není vyplněna mutace předlohy varianty, (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace předlohy (např. CZ)
  • pokud nedědí z předlohy a není ani definován název na úrovni předlohy varianty, pak se bere z mutace předlohy master produktu
  • pokud nedědí z předlohy a není ani definován název na úrovni předlohy varianty ani není dostupná mutace předlohy master produktu (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace předlohy master produktu (např. CZ)

Atribut dědí z předlohy:

  • pokud dědí z předlohy varianty a je vyplněná mutace na předloze varianty, tak se bere z mutace předlohy varianty
  • pokud dědí z předlohy varianty a není vyplněná primární mutace na předloze varianty, tak se bere z odpovídající mutace master produktu
  • pokud dědí z předlohy a pokud není vyplněná mutace masteru předlohy (např. EN) – pak se na frontendu nezobrazí s výjimkou názvu produktu, který se v takovém případě převezme z primární mutace předlohy master produktu (např. CZ)

Zkopírovat odkaz na sekciSEO

Kapitola se zabývá Search Engine Optimization a nastavení on-page faktorů.

Zkopírovat odkaz na sekciMetadata

V hlavičce stránky každé entity se vypisují následující metadata, která je možné zadat v AR v editaci jednotlivých entit:

  • title – možno vyplnit v AR, pokud není vyplněno, převezme se název entity doplnění o název webu
  • og:title – možno vyplnit v AR, pokud není vyplněno, převezme se název entity
  • twitter:title – možno vyplnit v AR, pokud není vyplněno, převezme se název entity
  • description – možno vyplnit v AR, pokud není vyplněno, převezme se krátký popis entity, pokud je u entity vyplněný
  • og:description – možno vyplnit v AR, pokud není vyplněno, převezme se krátký popis entity, pokud je u entity vyplněný
  • twitter:description – možno vyplnit v AR, pokud není vyplněno, převezme se krátký popis entity, pokud je u entity vyplněný
  • og:image – hlavní obrázek entity, pokud je v AR zadán
  • twitter:image – hlavní obrázek entity, pokud je v AR zadán
  • og:url – url stránky entity

V případě více jazykových mutací se do stránek automaticky generují relevantní hreflang metadata.

Zkopírovat odkaz na sekciFriendly URL

Webové řešení optimalizuje URL svých stránek pro účely SEO (dodržuje best practices pro tvorbu URL). Všechny stránky mají krátké URL, které vystihují funkce/obsah dané stránky. Uveďme si několik příkladů:

URL umožňují:

Zkopírovat odkaz na sekciLokalizovaná URL entit Edee SHOP

Pokud je nastaveno, aby se URL adresy objektů Edee SHOP odvozovali z názvu entity (produktu, kategorie apod.) jsou pro URL použity lokalizované názvy entity a pokud uživatel přistoupí na takto vygenerovanou URL je automaticky přepnut do jazyka, se kterým je tato URL svázaná. Změna názvu produktu je automaticky svázána i se změnou URL, přičemž původní URL zůstává stále v platnosti a pokud uživatel (např. díky Google vyhledávání) přistoupí na původní URL adresu entity, je přesměrován na adresu aktuální.

Pro jazyky s nestandardní znakovou sadou (jako je např. azbuka, arabština, čínština apod.) je provedena tzv. transliterace. Ta představuje přepis znaků do latinky s cílem se co nejvíce přiblížit výslovnosti původního slova v daném jazyce. Přepis není 100% přesný.

Zkopírovat odkaz na sekciZajištění unikátnosti URL

Edee SHOP zaručuje unikátnost URL mezi všemi entitami, které spravuje. Pokud by díky shodnému názvu (např. název kategorie je totožný s názvem produktu) mělo dojít k vytvoření duplicitního URL, je vygenerováno URL s číselným dodatkem tak, aby byla zachována unikátnost. Příklad:

  • /tricko
  • /tricko-1
  • /tricko-2

Edee SHOP umí pracovat jak s jednoduchými URL přes všechny jazykové mutace, tak i s URL prefixovanými kódem jazyka (kde vzniká méně konfliktů, které by bylo nutné řešit číselnými dodatky). Ukázka prefixovaných URL:

  • /cs/tricko
  • /en/t-shirt

Pokud dojde k odstranění entity Edee SHOPu jsou zároveň uvolněna všechna URL, která tato entita drží (včetně těch historických) a nové entity taková URL mohou nově obsadit.

Zkopírovat odkaz na sekciPřizpůsobení tvaru URL

Generování URL nad e-shop entitami je zajistěno pomocí konfigurovatelných pravidel, které je možné upravovat. Je tedy možné zajistit, aby:

  • pro každý typ objektu byl způsob generování URL odlišný (kategorie, produkty, značky atp.)
  • URL byly jednoduché a přesto unikátní (např. /nazev-produktu, /nazev-kategorie)
  • nebo naopak URL byly komplexní a zahrnovaly i názvy nadřazených objektů (např. /nazev-korenove-kategorie/nazev-podkategorie/nazev-produktu)
  • nebo obsahovaly pouze názvy některých nadřazených objektů (např. /nazev-korenove-kategorie/nazev-produktu)
  • se generovaly podle jiného údaje než je název produktu (např. katalogového čísla či jiného údaje vkládaného přímo do ERP)
  • se generovaly na základě vlastního algoritmu (např. názvu produktu, plus přípony „-panske-tricko“, když produkt obsahuje parametry typ=tričko, druh=pánské)

Zkopírovat odkaz na sekciSitemap pro vyhledávače

  • Edee SHOP umožňuje nakonfigurovat automatické generování strojově čitelné mapy stránek (sitemap) pro vyhledávače (https://support.google.com/webmasters/answer/183668?hl=cs). Tento soubor obsahuje seznam dostupných url adres v rámci celého eshopu (podobně jako při generování fulltextu) – jde o redakční obsah a dále URL všech kategorií, produktů, skupin a značek.

Zkopírovat odkaz na sekciOchrana osobních údajů (GDPR)

Systém centrálně eviduje místa řešení, které ukládají osobní údaje. Osobní data lze procházet, filtrovat a exportovat v administračním rozhraní viz obrázek níže.

GDPR evidence:

GDPR evidence

Řešení automaticky sbírá povolení se zpracováním osobních údajů dle nařízení GDPR. Souhlasy jsou zaznamenány do databáze včetně data pořízení, otisku prohlížeče, ze kterého k povolení došlo.

V administračním rozhraní jsou souhlasy rozděleny podle jejich typů a sekcí. Na každý takový souhlas pak může existovat množina tzv. vyjádření. Vyjádření lze provést zaškrtnutím (odškrtnutím) check-boxu, případně odesláním formuláře s jasnou textací, že odesláním uživatel uděluje kladné (teoreticky i záporné) vyjádření. Vyjádření k souhlasu tedy představuje souhlas, či naopak odmítnutí konkrétního způsobu zpracování osobních dat, dle obrázku níže.

Přehled vyjádření k souhlasu v AR:

Přehled vyjádření k souhlasu v AR

Tlačítkem v horní části lze založit nové vyjádření. To slouží pro případ, kdy subjekt osobních údajů zažádá o zrušení jeho kladného vyjádření k souhlasu např. telefonicky. Samotné vyjádření pak za klienta provede administrátor v rámci AR Edee.

Souhlasy jsou rozděleny do těchto oblastí:

  • Newsletter – souhlas s příjmem hromadných e-mailů (typicky marketingového charakteru), na transakční e-maily (jako např. potvrzení objednávky) nemá tento souhlas vliv, uživatel jej uděluje přihlášením k odběru newsletteru (na e-shopu je možné hned několika způsoby).
  • Registration – souhlas se zpracováním osobních údajů v rámci registrace na webu, uživatel jej uděluje při vytvoření registrace (bez udělení souhlasu není možné registraci dokončit), při odstranění účtu dochází k odebrání tohoto souhlasu a i všech ostatních, které se daného uživatele týkají.
  • Order – souhlas se zpracováním osobních údajů v rámci objednávky a košíku – tento souhlas je automaticky udělen vytvořením objednávky.
  • Rating – souhlas s uvedením jména u hodnocení produktu, uděluje se vyplněním jména a odesláním formuláře hodnocení produktu.

Souhlasy je možné odebrat buď zrušením registrace nebo odesláním formuláře pro zrušení souhlasu. GDPR modul nabízí tyto formuláře, které odesílají e-mailovou zprávu na kontaktní e-mail GDPR garanta zákazníka:

  • žádost o export osobních údajů žadatele
  • žádost o odmazání osobních údajů žadatele
  • žádost o výpis zpracování osobních údajů žadatele
  • žádost na opravu nepřesných nebo neúplných osobních údajů žadatele
  • žádost na omezení zpracování žadatele
  • žádost o změnu uděleného souhlasu ke zpracování osobních údajů

Vlastní zpracování těchto formulářů (tj. nezbytné akce k jejich uspokojení) aplikace již dále neřeší. Výjimkou jsou níže uvedené body.

Odeslání newsletteru

Pokud uživatel neudělil souhlas s posíláním newsletteru, aplikace jej automaticky vyloučí ze všech rozesílek. Aplikaci je možné speciálně konfigurovat tak, že newslettery na adresu uživatele bude posílat i tehdy, když nemá jeho explicitní „NESOUHLAS“. Toto nastavení je možné využít, pokud chceme využít stávající databázi zákazníků a nechceme je obtěžovat e-mailem na ověření jejich souhlasu.

Odstranění uživatele

Aplikace se aktuálně zachová tak, že v tabulce uživatelů anonymizuje data odstraněného uživatele. Nicméně i nadále se v ostatních tabulkách mohou nacházet jeho osobní údaje (adresy u objednávek, databáze příjemců e-mailů, hodnocení produktu apod.). Odmazání dat z těchto tabulek na žádost je v současné chvíli na servisním zásahu dodavatele.