XML export kurzů na Jobs.cz a Temio Edumarket XML export kurzů vám umožní automatickou synchronizaci informací o nabízených kurzech (název, popis, lektor, termín, místo a další důležité informace) mezi vaším systémem a službami Jobs.cz Kurzy a školení a Teamio Edumarket. 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: <?xmlversion="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:
<coursescompany="identifikator-vasi-firmy"> Identifikátor firmy je unikátní hash, který Vám přidělíme. Před přidělením sem můžete 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. Např.: <courseid="124"> <name>marketingnafacebookuadalšíchsociálníchsítích</name> <description> <![CDATA[ <p><strong>sociálnímédia:</strong>definice,druhyaprincipy</p> <ul> <li>pročřešitsociálnímédia,cojewomajakvyužítvirálníšíření</li> <li>jaksociálnímédiafungují,typologieuživatelů</li> <li>vyhodnoceníkomunikace,opuštěnísociálníchsítí.</li> </ul> ]]> </description> <focusid="210">marketing</focus> <languageid="1">čeština</language> <keyword>sociálnímédia</keyword> <keyword>facebook,twitter,linkedin</keyword> <keyword>sociálnímarketing</keyword> <professionid="155">marketingovýanalytik</profession> <professionid="156">marketingovýředitel/manažer</profession> <levelid="2">středněpokročilí</level> <termid="t1"> <datefrom="2012-12-01"to="2012-12-01"/> <addressstreet="jankovcova"registry_number="1"city="praha"zip="16000">mimořádněnaadrese Jankovcova1</address> <priceamount="3700"currency="czk"/> <lectorid="petr-novak"> <firstname>petr</firstname> <surname>novák</surname> </lector> </term> <termid="t2">...... </term> </course> Informace o dalších kurzech vkládejte ve stejném formátu vždy za značku </course>tak, aby byla dodržena správná posloupnost elementů. Za poslední vložený kurz vložíte ještě ukončení elementu: </courses> 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ý XML soubor: http://www.jobs.cz/xsd/example.xml Dokumentace XML elementů 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 elementů a atributů 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 <?xmlversion="1.0"encoding="utf-8"?> Uvozující element s identifikací verze XML a kódování. Element courses <coursescompany="identifikátorfirmy"> 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 idfirmy pro import). Elementy kurzu O kurzu vyplňte co nejvíce položek, díky tomu uživatelé váš kurz lépe najdou. Element course <courseid="..."skill="true">elementykurzu</course> Základní element, který uzavírá všechny ostatní elementy. Kurzů může být v XML neomezené množství. Atributy: id="..."- povinný. Jedinečný a časově stálý identifikátor kurzu. Identifikátorem může být jakákoli číselná nebo textová hodnota. Maximální délka 100 znaků. Podmínkou je jeho unikátnost a časová stálost. skill="..."- nepovinný. Může nabývat hodnot: true: jedná 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ý. Element name <name>názevkurzu</name> Obsahuje název kurzu. Neuvádějte prosím celý název KAPITÁLKAMI. Maximální délka 255 znaků. Element description <description><![cdata[popiskurzu]]></description> Popis kurzu může být formátován pomocí pouze těchto HTML značek: <strong> <p> <ul> <li>
Element image <imagesrc="urlobrázkukekurzu"/> 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 px, větší obrázek nebude zpracován poměr stran obrázků by měl být 4:3, pokud nedodržíte tento poměr stran, obrázek bude zdeformován naše doporučení: abyste předešli problémům se zpracováním obrázků, použijte u všech obrázků rozměr 640 x 480 px obrázek musí být dostupný na uvedené URL v době zpracování importu akceptované formáty obrázků: 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? 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 Element focus <focusid="idkategorie">názevkategorie</focus> Tento element určuje zařazení kurzu do kategorií. Uvnitř elementu může / nemusí být název kategorie. obsahuje atribut id="...": počet uvedených kategorií je 1-3 kurz musí být zařazen do konkrétních podkategorií (id není dělitelné 100) idmusí odpovídat číselníku kategorií: http://www.jobs.cz/kurzy-a-skoleni/media/xml/focus.xml 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. Element language <languageid="idjazyka">názevjazyka</language> 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 uveden, je kurzu nastaven jazyk "čeština". Element keyword
<keyword>klíčovéslovo</keyword> Zde uvádějte klíčová slova, podle kterých bude váš kurz lépe dohledatelný. Maximální délka jednoho klíčového slova je 100 znaků. U jednoho kurzu může být zadáno maximálně 20 klíčových slov. 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. Element profession <professionid="idprofese">názevprofese</profession> 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 být název profese. Element povinně obsahuje atribut id="...": počet uvedených profesí: 0-10. idmusí odpovídat číselníku profesí: http://www.jobs.cz/kurzy-a-skoleni/media/xml/profession.xml Přidáním profesí své kurzy lépe dostanete k uživatelům. Díky správně zadaným profesím budeme moci zobrazovat relevantní nabídky vzdělávání a rozvoje všem uživatelům Jobs.cz a personalistům v aplikaci Teamio Edumarket. Element level <levelid="idúrovně">názevúrovně</level> 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ě. Element povinně obsahuje atribut id="...">: úrovní může být uvedeno: 0-3 číselník id: 0 - nezáleží 1 - začátečníci 2 - středně pokročilí 3 - odborníci Když není element uveden, je kurzu nastavena úroveň "nezáleží". Elementy termínu 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. Element term <termid="1"state="1">elementytermínu</term> 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. Maximální délka 100 znaků. Podmínkou je jeho unikátnost (v rámci kurzu) a časová stálost. state="..."- je nepovinný (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). Element je povinný jen u otevřených kurzů. Element je nepovinný u zakázkových kurzů. Element date <datefrom="2012-12-24t18:00:00"to="2012-12-24t19:00:00"/> 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 shodný jako u atributu from="...". 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. Element address <addressstreet="ulice"registry_number="číslopopisné"house_number="čísloorientační"city="město" zip="psč">upřesněníadresy</address> 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. Element price <priceamount="cenabezdph"currency="měna"discount="slevaabsolutní"discount-percent="slevav%"/> 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ý, cenu za kurz bez DPH, celé číslo bez mezer currency="..."povinný, měna ceny, mohou být použity následující hodnoty: CZK, EUR discount="..."nepovinný, sleva z ceny "amount" v absolutním čísle (stačí uvádět jen "discount" nebo "discount-percent"). discount-percent="..."nepovinný, sleva z ceny "amount" v procentech (stačí uvádět jen "discount" nebo "discountpercent"). Elementy lektora
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. Element lector <lectorid="idlektora">elementylektora</lector> 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é idse poté můžete odkazovat v celém XML dokumentu (viz. specifikace následujícího elementu). Element lector - varianta s odkazem <lectorref="idlektora"/> Odkaz na již existujícího lektora. Obsahuje atribut ref="...", v tomto atributu uvádějte odkaz na existující idlektora. Element firstname <firstname>jméno</firstname> Zde uveďte jméno lektora. Element surname <surname>přijmení</surname> Zde uveďte příjmení lektora. Element degrees_before <degrees_before>titulypředjménem</degrees_before> Zde uvádějte tituly před jménem lektora. Element degrees_after <degrees_after>titulyzajménem</degrees_after> Zde uvádějte tituly za jménem lektora. Řetězec neuvozujte čárku, uvádějte jen samostatné tituly, např: <degrees_after>ph.d.,mba</degrees_after> Od příjmení budou tituly čárkou odděleny automaticky. Výsledek tedy bude: Ing. Jan Novák, Ph.D., MBA
Element description <description><![cdata[popislektora]]></description> Zde uveďte základní informace o lektorovi (krátké CV). Popis lektora může být formátován pomocí pouze těchto HTML značek: <strong> <p> <ul> <li> Element image <imagesrc="urlfotolektora"/> 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, menší fotografie nebude zpracována poměr stran fotografie by měl být 1:1, pokud nedodržíte tento poměr stran, fotografie bude zdeformována naše doporučení: abyste předešli problémům se zpracováním fotografií, použijte u všech fotografií rozměr 200 x 200 px fotografie musí být dostupná na uvedené URL v době zpracování importu akceptované formáty fotografií: jpeg, png, gif Element skills <skills>dovednostilektora</skills> Zde uvádějte dovednosti, specializace nebo získané certifikáty lektora. 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 idfirmy, přiděleno LMC, unikátní identifikátor <coursescompany="identifikátor firmy"> Povinné položky kurzu idkurzu, omezení na 100 znaků <courseid="..."skill="true">elementy kurzu</course> název kurzu, omezení na 255 znaků <name>název kurzu</name> popis kurzu, formát: html, povolené tagy: p, strong, ul, li <description><![cdata[prt: popis kurzu ]]></description> zařazení kurzu do pokategorie (focus idpodle číselníku), omezení: alespoň jedno zařazení, idnení dělitené 100 (zařazení do konkrétní podkategorie)
<focusid="id kategorie">název kategorie</focus> termín kurzu, viz. níže, omezení: alespoň jeden Nepovinné položky kurzu označení, zda se jedná o zakázkový kurz <course id="..."skill="true">elementy kurzu</course> ilustrační obrázek kurzu, omezení: nejvýše jeden, minimální a doporučený rozměr: 640 x 480 px, poměr stran: 4:3, formát: jpg, png, gif (ne logotyp firmy) <imagesrc="url obrázku ke kurzu"/> jazyk kurzu (podle číselníku), defaultně id1 čeština <languageid="id jazyka">název jazyka</language> klíčová slova, každé klíčové slovo je omezeno na 100 znaků, maximálně 20 klíčových slov u jednoho kurzu <keyword>klíčové slovo</keyword> vazba na profese (vhodné pro, idpodle číselníku)., omezení: nejvýše deset <professionid="id profese">název profese</profession> úroveň kurzu (id podle číselníku), omezení: nejvýše tři., defaultně: 0 nezáleží <levelid="id úrovně">název úrovně</level> Povinné položky termínu idtermínu, omezení na 100 znaků <termid="1"state="1">elementy termínu</term> datum termínu OD, formát: ISO (2012-08-26T09:00:00) nebo YYYY-MM-DD <datefrom="2012-12-24t18:00:00"to="2012-12-24t19:00:00"/> datum termínu DO, formát: ISO (2012-08-26T09:00:00)nebo YYYY-MM-DD <date from="2012-12-24t18:00:00"to="2012-12-24t19:00:00"/> Nepovinné položky termínu stav (id podle číselníku), defaultně = 1 (otevřený termín) <term id="1"state="1">elementy termínu</term> adresa. viz. níže, omezení: nejvýše jedna, defaultně = adresa firmy cena termínu, defaultně = 0 <priceamount="cena bez DPH"currency="měna" discount="sleva absolutní" discountpercent="sleva v %"/> měna ceny., defaultně = CZK <price amount="cena bez DPH"currency="měna"discount="sleva absolutní" discountpercent="sleva v %"/> absolutní sleva z ceny, defaultně = 0 <price amount="cena bez DPH" currency="měna"discount="sleva absolutní"discountpercent="sleva v %"/> procentuální sleva z ceny, defaultně = 0 <price amount="cena bez DPH" currency="měna" discount="sleva absolutní"discountpercent="sleva v %"/> lektor, viz. níže, bez omezení Povinné položky adresy ulice <addressstreet="ulice"registry_number="číslo popisné" house_number="číslo orientační" city="město" zip="psč">upřesnění adresy</address> číslo popisné <address street="ulice"registry_number="číslo popisné"house_number="číslo orientační" city="město" zip="psč">upřesnění adresy</address> město <address street="ulice" registry_number="číslo popisné" house_number="číslo orientační" city="město"zip="psč">upřesnění adresy</address> psč <address street="ulice" registry_number="číslo popisné" house_number="číslo orientační" city="město"zip="psč">upřesnění adresy</address>
Nepovinné položky adresy číslo orientační <address street="ulice" registry_number="číslo popisné"house_number="číslo orientační" city="město" zip="psč">upřesnění adresy</address> dodatečné textové info (např. "v pátém patře") <address street="ulice" registry_number="číslo popisné" house_number="číslo orientační" city="město" zip="psč">upřesnění adresy</address> Povinné položky lektora Pokud byl lektor již v XML exportu lektor uveden: stačí pouze uvést pouze referenci na idjiž definovaného lektora{{<lector}} id="id lektora"/> V případě, že není použita reference, pak jsou povinnými položkami: unikátní idlektora <lectorid="id lektora">elementy lektora</lector> jméno <firstname>jméno</firstname> příjmení <surname>přijmení</surname> Nepovinné položky lektora titul před jménem, omezení: prostý text bez omezení délky <degrees_before>tituly před jménem</degrees_before> titul za jménem, omezení: prostý text bez omezení délky <degrees_after>tituly za jménem</degrees_after> fotografie, omezení: nejvýše jedno, minimální a doporučený rozměr: 200 x 200 px, poměr stran: 1:1, formát: jpg, png, gif <imagesrc="url foto lektora"/> popis, omezení: viz. popis kurzu <description><![cdata[prt: popis lektora ]]></description> skills, omezení: prostý text bez omezení délky <skills>dovednosti lektora</skills> Čí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. Číselník kategorií kurzů: http://www.jobs.cz/kurzy-a-skoleni/media/xml/focus.xml Číselník kategorií profesí: http://www.jobs.cz/kurzy-a-skoleni/media/xml/profession.xml Ověření validity XML Validitu XML ověříte XSD schématem: http://www.jobs.cz/poradna/fileadmin/user_files/poradna_jobs/edu/course.xsd 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 XmLint spustit a zadejte 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