Co je XML feed Jedná se o speciální datový soubor ve formátu XML, který obsahuje informace o nabízených kurzech (název, popis, lektor, termín, místo a další důležité informace). Generované XML si vytvářejte synchronně s databází uvedenou ve vašem systému nebo na vašich webových stránkách. Pro lepší představu o struktuře dat v XML se můžete podívat na následující obrázek.
Jak XML import funguje? Na Jobs.cz a v Teamiu Edumarket se zobrazují jen ta data, která jsou aktuálně obsažena ve vámi generovaném XML. Pokud v XML nemáte konkrétní kurz, nebo jeho termín, tento se také nezobrazuje na Jobs.cz a v Teamiu Edumarket.
Citlivost k chybám • Pokud je celé XML nevalidní, nebo strojově nečitelné, nemůžeme vaše kurzy vůbec naimportovat. • Chybí-li v XML povinné položky u jednotlivých kurzů, nejsou tyto kurzy importovány. Při importu jsou tyto kurzy a (nebo) jejich termíny “přeskočeny”.
• Pokud jsou špatně (nevalidně) vyplněny nepovinné položky, jsou tyto kurzy i termíny importovány. Tyto nevalidní položky jsou “přeskočeny” a neimportují se.
Jak XML feed vytvořit V případě, že si XML soubor tvoříte ručně, otevřete např. Poznámkový blok. Na prvním řádku uveďte hlavičku: xml version="1.0" encoding="utf-8" ?>
Je potřeba mít kódování opravdu ve formátu UTF 8. Nestačí jen kódování uvést do hlavičky souboru. Kódování souboru si ověřte např. ve vašem internetovém prohlížeči.
na dalším řádku uveďte uvozující tag “courses” a identifikátor firmy:
Identifikátor firmy je unikátní hash, který Vám přidělíme. Před přidělením můžete do pole identifikátor vložit např. jméno firmy bez diakritiky a mezer. Na další řádky vložte informace o jednotlivých kurzech s jejich popisem, kategorizací, termíny a lektory. Tyto řádky je ideální generovat automaticky z vaší databáze. např.: Marketing na Facebooku a dalších sociálních sítích <description> <strong>Sociální média: Definice, druhy a principy - proč řešit sociální média, co je WOM a jak využít virální šíření
- jak sociální média fungují, typologie uživatelů
- Facebok – profily, stránky, skupiny, aplikace
- český Facebook – data, čísla, trendy
- Twitter, LinkedIn – uživatelé, marketingové využití
- strategie na sociálních sítích, plánování, fáze
- vyhodnocení komunikace, opuštění sociálních sítí.
]]> Marketing Čeština Sociální média Facebook, Twitter, LinkedIn Sociální marketing <profession id="155">Marketingový analytik <profession id="156">Marketingový ředitel/manažer středně pokročilí Petr <surname>Novák <price amount="3700" currency="CZK"/>
Mimořádně na adrese Jankovcova 1 Petr <surname>Novák <price amount="3700" currency="CZK"/> Informace o dalších kurzech vkládejte ve stejném formátu vždy za značku tak, aby byla dodržena správná posloupnost elementů (viz. výše uvedený příklad, nebo ukázkové XML).
Za poslední vložený kurz vložíte ještě ukončení elementu:
Výsledný soubor pak zveřejněte na vašich stránkách tak, aby byl k dispozici pro pravidelné stahování naším robotem.
Robot bude XML stahovat každý den v nočních hodinách. Při nedostupnosti souboru nebo dlouhém načítání souboru nebude aktualizace provedena.
Pro lepší představu o struktuře a možnostech XML jsme připravili ukázkový soubor. • ukázkový XML soubor [http://www.jobs.cz/xsd/example.xml]
XML elementy XML soubor se skládá z jednotlivých elementů, u kterých je potřeba dodržet správné pořadí. Na následujících řádcích jsou jednotlivé elementy popsány. Je také dodrženo jejich správné pořadí.
U povinných položek je uvedeno “povinné”, ostatní položky jsou volitelné. Čím více položek vyplníte, tím lépe uživatelé Váš kurz naleznou.
Uvozující element s identifikací verze XML a kódování.
Kořenová značka v jejímž rámci je vše ostatní. Obsahuje jeden povinný atribut: company="...". Do tohoto atributu uveďte námi přidělený unikátní identifikátor.
Tento identifikátor vám bude přidělen po vytvoření profilu firmy našim administrátorem. Identifikátor firmy naleznete také v administraci kurzů na https://edu.lmc.cz. (položka ID firmy pro import)
Kurz
O kurzu vyplňte co nejvíce položek, díky tomu uživatelé váš kurz lépe najdou.
elementy kurzu Základní element, který uzavírá všechny ostatní elementy. Kurzů může být v XML neomezené množství. Obsahuje povinný atribut: id="...". Jedinečný a časově stálý identifikátor kurzu. Identifikátorem může být jakákoli číselná nebo textová hodnota, jedinou podmínkou je jeho unikátnost a časová stálost. Nepovinný atribut skill, který může nabývat hodnot
•
true: jendá se o kurz zakázkového vzdělávání, tzn. může být přizpůsoben na míru nemusí obsahovat žádné termíny, aby byl viditelný
•
false: jedná se o otevřený kurz musí obsahovat alespoň jeden termín, aby byl viditelný
• povinné
název kurzu Obsahuje název kurzu. Neuvádějte prosím celý název KAPITÁLKAMI. • maximální délka 255 znaků • povinné
<description> Popis kurzu může být formátován pomocí html značek <strong>
- . • povinné
V atributu src="..." je uveden odkaz na obrázek, který reprezentuje kurz (ilustrační obrázek). Ke kurzu je povolen pouze jeden ilustrační obrázek. • minimální rozměry obrázku 640 x 480 px, větší obrázek bude poměrově zmenšen a případně oříznut, menší obrázek nebude zpracován • maximální rozměry obrázku 2560 x 1920, větsí obrázek nebude zpracován • obrázek musí být dostupný na uvedené URL v době zpracování importu • akceptované formáty obrázku: jpeg, png, gif
Obrázek se zobrazí ve výsledcích vyhledávání a v detailu kurzu. Díky obrázku bude váš inzerát výraznější!
Jaký zvolit obrázek ke kurzu? Příklady: - fotografie z již proběhlých termínů kurzu - fotografie učebny nebo místa, kde bude výuka probíhat - obrázek pomůcky nebo učebnice, které se budou při výuce používat - ilustrační foto související s tématikou kurzu
Název kategorie Tento element určuje zařazení kurzu do kategorií. Uvnitř elementu může / nemusí být název kategorie. obsahuje atribut: id="...". • • • •
povinné počet uvedených kategorií je 1 - 3. kurz musí být zařazen do konkrétních podkategorií (id není dělitelné 100) id musí odpovídat číselníku: XML číselník kategorií
Proč máme tak málo hlavních kategorií a podkategorií? Prototypy jsme testovali na uživatelích a zjistili jsme, že si mnohem lépe vyberou z omezeného počtu kategorií. Webové stránky se lidem lépe používají a rychleji najdou to, co hledají. Výsledky si pak dokáží upřesnit dle potřeby např. podle profesí a dalších parametrů jako je termín, lokalita, lektor nebo cena.
Může se stát, že si žádnou z kategorií nevyberete, nebude odpovídat vašemu kurzu. V tomto případě vás prosíme o návrh kategorie nové. Zvážíme její přidání s ohledem na potenciál obsahu.
název jazyka Slouží po uvedení vyučovacího jazyka kurzu. Uvnitř elementu můžete uvést název jazyka, obsahuje atribut: id="...". • číselník id: 1 - čeština, 2 - angličtina. • není-li element uváděn, je kurzu nastaven jazyk “čeština”
klíčové slovo Zde uvádějte klíčová slova, podle kterých bude váš kurz lépe dohledatelný. Těchto elementů může být několik za sebou bez omezení jejich max. počtu. Jaká klíčová slova napsat? Jsou to slova nebo sousloví, která charakterizují váš kurz. Můžete použít např. slangové výrazy nebo dovednosti získané na kurzu. Pro kurz o tvorbě webu můžete použít např.: webdesign, webovky, design, grafika, webové stránky, stránka, prezentace na internetu. Naše vyhledávání umí skloňovat a doplňovat množné číslo, proto nemusíte uvádět všechny tvary každého slova.
<profession id="id profese">název profese Slouží pro přiřazení profese ke kurzu. Zde určíte pro jaké profese je kurz nejvhodnější. Těchto elementů může být několik za sebou, uvnitř elementu může / nemusí být název profese. Element obsahuje atribut: id="...", který určuje profesi. • počet uvedených profesí: 0 - 10. • id musí odpovídat číselníku: XML číselník profesí
Kurzy lépe dostanete k uživatelům přidáním profesí a klíčových slov. Díky správně zadaným profesím se budou moci zobrazovat relevantní nabídky vzdělávání a rozvoje všem uživatelům Jobs.cz a personalistům v aplikaci Teamio.
název úrovně Zde uvádějte úroveň požadovaných znalostí - těchto elementů může být několik za sebou. Uvnitř elementu může být název úrovně. Povinně obsahuje atribut: id="...".
• úrovní může být uvedeno: 0 - 3 • číselník id: 1 - začátečníci, 2 - středně pokročilí, 3 - odborníci, 0 - nezáleží • když není element uváděn, je kurzu nastavena úroveň “nezáleží”
Termín K jednomu kurzu může být uvedeno více termínů. Tyto termíny uvádějte za sebou, každý s unikátním identifikátorem. U zakázkových kurzů není potřeba termíny uvádět. Termín určují následující elementy.
elementy termínu Element uzavírá termín kurzu - těchto elementů může být několik za sebou. Obsahuje několik atributů: id="..." je povinné a v rámci kurzu je to jedinečný a časově stálý identifikátor termínu. Identifikátorem může být jakákoli číselná nebo textová hodnota, jedinou podmínkou je jeho unikátnost (v rámci kurzu) a časová stálost. tip="..." je nepovinný (defaultně 0), nabývá hodnot true (1) nebo false (0) a označuje zda-li má být termín tohoto kurzu označen TIP a upřednostněn ve výpisu mezi ostatními kurzy. Jedná se o placenou službu! lastminute="..." je nepovinný (defaultně 0), nabývá hodnot true nebo false a označuje zda-li má být termín tohoto kurzu vypisován mezi LastMinute kurzy. Jedná se o placenou službu! state="..." je také nepovinný atribut (defaultně 1), určuje stav termínu, jestli se má nebo nemá daný termín zobrazovat uživatelům. Může nabývat těchto hodnot: 0 - uzavřený (dočasně pozastaven, nezobrazuje se uživatelům), 1 - otevřený (zobrazuje se). • povinné jen u otevřených kurzů • nepovinné u zakázkových kurzů
Tento element určuje datum a čas konání kurzu. A obsahuje dva následující atributy, které jsou povinné: from="..." Udává od kdy se tento termín kurzu koná. Formát data je yyyy-mm-ddThh:mm:ss yyyy - rok zapsaný čtyřmi číslicemi; mm měsíc zapsaný dvěmi číslicemi (je-li jednočíselný pak je uvozen nulou); dd - den; T - oddělovač data a času; h - hodiny; m - minuty; s - sekundy to="..." Udává do kdy se tento termín kurzu koná. Formát data je stejný yyyy-mm-ddThh:mm:ss • povinné
Datum termínu není možné po zadání změnit. V případě nutnosti změny již existujícího data u termínu kontaktuje zákaznickou podporu společnosti LMC.
upřesnění adresy Určuje adresu konání kurzu. Jako textovou informaci tohoto elementu lze uvést (nemusí být uvedeno) nějakou poznámku k adrese např. “Hotel ABC, 10. patro, zasedačka modrá”. Má následující atributy: street="..." povinné, název ulice registry_number="..." povinné, číslo popisné
city="..." povinné, název města či obce zip="..." povinné, PSČ house_number="..." nepovinné, číslo orientační
Pokud není element s adresou uveden, je použita adresa sídla firmy.
Lektor Tento element určuje lektora daného termínu nebo na něj odkazuje. Stačí když je lektor uveden v XML jen jednou a v ostatních případech se na něj už jen odkazuje. Proč uvádět lektora? Lektoři jsou totiž pro naše uživatele velmi důležití, častokrát hledají přímo jejich jméno. Lektor dokáže ovlivnit celkový dojem z kurzu. Proto uvedené jméno lektora a jeho vyplněný profil dokáže přilákat potenciální účastníky vašeho kurzu.
Odkaz na již existujícího lektora. Obsahuje atribut ref=”…”, v tomto atributu uvádějte odkaz na existující ID lektora.
elementy lektora Tento element obsahuje další elementy upřesňující informace o lektorovi. Povinný je také atribut id=”…”, který musí být v rámci dokumentu unikátní (pro daného lektora). Na zde uvedené id se poté můžete odkazovat v celém XML dokumentu (viz. specifikace předchozího elementu).
jméno Jméno lektora může obsahovat také tituly před jménem nebo prostřední jméno. • povinné (v případě, že je lektor uveden)
<surname>přijmení Příjmení lektora může obsahovat i tituly za jménem. • povinné (v případě, že je lektor uveden)
<description> Zde uveďte základní informace o lektorovi (krátké CV). Popis kurzu může být formátován pomocí html značek <strong>
- .
V atributu src="..." uveďte odkaz na fotografii, která reprezentuje lektora. K lektorovi je povoleno pouze jedno foto. • minimální rozměry fotografie jsou 200 x 200 px, větší fotografie bude poměrově zmenšena a případně oříznuta
• akceptované formáty obrázku: jpeg, png, gif
<skills>dovednosti lektora Zde uvádějte dovednosti, specializace nebo získané certifikáty lektora.
<degrees_before>tituly před jménem Zde uvádějte tituly před jménem lektora.
<degrees_after>tituly za jménem Zde uvádějte tituly za jménem lektora.
Řetězec neuvozujte čárku, uvádějte jen samostatné tituly, např: <degrees_after>MBA. Od přijmení budou tituly čárkou odděleny automaticky. Výsledek tedy bude: Ing. Jan Novák, MBA
Cena kurzu / termínu <price amount="cena bez DPH" currency="měna" discount="sleva absolutní" discount-percent="sleva v %"/> Element určuje cenu kurzu v daném termínu (cena se u jednotlivých termínů může lišit). Je možné také uvést slevu z ceny. Obsahuje následující atributy: amount="..." povinný atribut uvádějící cenu za kurz bez DPH, celé číslo bez mezer currency="..." povinný atribut určující měnu uváděné ceny, mohou být použity následující hodnoty: CZK, EUR discount="..." nepovinné, určuje slevu z ceny “amount” v absolutním čísle (stačí uvádět jen “discout” nebo “discount-percent”). discount-percent="..." nepovinné, určuje slevu z ceny “amount” v procentech (stačí uvádět jen “discout” nebo “discount-percent”). • povinné
Povinné a nepovinné informace Souhrn povinných a nepovinných informací ke kurzům a jejich případné omezení. Tyto informace odpovídají jednotlivým elementům nebo atributům. Získáte tak rychlý přehled o datech, která si musíte připravit pro funkční export.
Bez správně vyplněných povinných položek nelze kurz naimportovat a zobrazovat našim uživatelům.
Povinné položky firmy • id firmy, přiděleno LMC, unikátní identifikátor
Povinné položky kurzu • id kurzu elementy kurzu • název kurzu, omezení: 255 znaků název kurzu • popis kurzu, formát: html, povolené tagy: p, strong, ul, li <description> • zařazení kurzu do pokategorie (focus id podle číselníku), omezení: alespoň jedno zařazení, id není dělitené 100 (zařazení do konkrétní podkategorie) Název kategorie • termín kurzu, viz. níže, omezení: alespoň jeden
Nepovinné položky kurzu • označení, zda se jedná o zakázkový kurz elementy kurzu • ilustrační obrázek kurzu, omezení: nejvýše jeden, minimální rozměry 640 x 480 px, formát: jpg, png, gif. (ne logotyp firmy) • jazyk kurzu (podle číselníku), defaultně id:1 čeština název jazyka • klíčová slova, neomezené množství klíčové slovo • vazba na profese (vhodné pro, id podle číselníku)., omezení: nejvýše deset <profession id="id profese">název profese • úroveň kurzu (id podle číselníku), omezení: nejvýše tři., defaultně:0 nezáleží název úrovně
Povinné položky termínu • id termínu elementy termínu • datum termínu OD, formát: ISO (2012-08-26T09:00:00) nebo YYYY-MM-DD • datum termínu DO, formát: ISO (2012-08-26T09:00:00) nebo YYYY-MM-DD
Nepovinné položky termínu • lastminute (0/1), defaultně 0 elementy termínu • tip (0/1), defaultně 0 elementy termínu • stav (id podle číselníku), defaultně = 1 (otevřený termín) elementy termínu • adresa. viz. níže, omezení: nejvýše jedna, defaultně = adresa firmy • lektor, viz. níže, bez omezení • cena termínu, defaultně = 0 <price amount="cena bez DPH" currency="měna" discount="sleva absolutní" discount-percent="sleva v %"/> • měna ceny., defaultně = CZK <price amount="cena bez DPH" currency="měna" discount="sleva absolutní" discount-percent="sleva v %"/> • absolutní sleva z ceny, defaultně = 0 <price amount="cena bez DPH" currency="měna" discount="sleva absolutní" discount-percent="sleva v %"/> • procentuální sleva z ceny, defaultně = 0 <price amount="cena bez DPH" currency="měna" discount="sleva absolutní" discount-percent="sleva v %"/>
Povinné položky adresy • ulice upřesnění adresy • číslo popisné upřesnění adresy • město upřesnění adresy • psč upřesnění adresy
Nepovinné položky adresy • číslo orientační upřesnění adresy • dodatečné textové info (např. "v pátém patře") upřesnění adresy
Povinné položky lektora pokud je lektor uveden • id nebo reference na id již definovaného lektora elementy lektora V případě, že není použita reference, pak jsou povinnými položkami také: • jméno jméno • příjmení <surname>přijmení
Nepovinné položky lektora • foto, omezení: nejvýše jedno, 200 x 200 px • popis, omezení: viz. popis kurzu <description> • skills, omezení: prostý text bez omezení délky <skills>dovednosti lektora • titul před jménem, omezení: prostý text bez omezení délky <degrees_before>tituly před jménem • titul za jménem, omezení: prostý text bez omezení délky <degrees_after>tituly za jménem
Číselníky Číselníky se automaticky aktualizují dle naší databáze. Pro aktuální data doporučujeme XML s číselníky automaticky stahovat z níže uvedených URL. • kategorie kurzů: focus.xml • profese: profession.xml
Ověření validity XML Validitu XML ověříte XSD schématem. To vám pomůže s přípravou validního XML. XSD schéma. Jak si validitu ověřit: Validace XML proti XSD je možná pomoci nástroje XmlLint (pro Windows jej najdete zde: http:// www.zlatkovic.com/libxml.en.html): Poté je potřeba XmLint spustit a zadat následující příkaz: xmllint --noout --schema course.xsd název-vašeho-suboru.xml
Můžete využít také on-line nástroj: http://www.freeformatter.com/xml-validator-xsd.html