D R U P A L C M S 2 0. 5. 2 0 0 8

Podobné dokumenty
Jaku b Su ch ý 1

M4 PDF rozšíření. Modul pro PrestaShop.

Redakční systém Joomla. Prokop Zelený

Jak na sekce webu v Drupalu

Vytvoření pokročilé Fotogalerie v Drupalu - Views

Manuál pro obsluhu Webových stránek

CMSSS manuál k použití

Olga Rudikova 2. ročník APIN

1 Webový server, instalace PHP a MySQL 13

FFUK Uživatelský manuál pro administraci webu Obsah

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

Dobrý SHOP Popis produktu a jeho rozšíření

České vysoké učení technické v Praze Fakulta elektrotechnická. Semestrální projekt Y38PRO. Návod na vytvoření modulu pro CMS Drupal verze 6.

WNC::WebNucleatCreator

Specifikace webu KINEX - Administrace

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Informační systém webhostingu

Rezervační systém Tvorba WWW stránek

1. Webový server, instalace PHP a MySQL 13

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Administrace webu Postup při práci

MBI - technologická realizace modelu

Dobrý FOTO Popis produktu a jeho rozšíření

17. července :51 z moravec@yahoo.com

Vazba ESO9 na MS Outlook a MS Exchange

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

Dobrý CMS Popis produktu a jeho rozšíření

Manuál k systému RS4S. verze 1.2

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ

Webové stránky fotbalového klubu

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Informační systém pro e-learning manuál

Vstupní požadavky, doporučení a metodické pokyny

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Uživatelská příručka 6.A6. (obr.1.)

Stručný úvod pro programátory. Michal Kuchta

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Individuální projekt z předmětu webových stránek Anketa Jan Livora

Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7

MapleCloud a jeho použ ití. Vladimír Žák


NSWI096 - INTERNET JavaScript

Uživatelská příručka

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

Jan Forman Manuál CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: AUTH OR:

Dokumentace pro správu zlínských DUM

eretail.cz MANUÁL PRO PARTNERY

Uživatelský manuál aplikace. Dental MAXweb

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Redakční systém. SimpleAdmin Beta. Jan Shimi Šimonek

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Ceník platný od Ceny jsou konečné, nejsme plátci DPH.

Modul MWA - Publikace a články

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Novinky verze systému Spisové služby (SpS) e-spis LITE

Co musíte udělat po instalaci WordPressu. Vlastimil Ott

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

:16. Datum: Zpracoval: Ing. Richard Ruibar

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse

WWW dotazovací služby pro prostorová data URM. Jiří Čtyroký Útvar rozvoje hl. m. Prahy

bubileg webový redakční systém Manuál administrace pro systém verze 5

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: Účel poslední změny:

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Stránky obce Olomučany

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

Uživatelská příručka

ACTIVATE HERE - FAQ. Zakoupením této položky získáte do 60 minut do požadovaného u aktivační klíče k vybranému produktu.

Název: On-line tvorba webu Anotace:

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Analýza dat na PC I.

NÁVOD K ON-LINE DATŮM

SQL a XML jako alternativa ke klasickým unixovým nástrojům

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele.

Databáze pro evidenci výrobků

Pryč jsou ty doby, kdy bylo nutné kvůli každé malé úpravě webových stránek shánět odborníka, který

Pionýr, z. s. Šablona pro pobočné spolky (KOP a PS) základní informace MOST 2018 podkladový materiál s. 1/5 PRO POBOČNÉ SPOLKY (KOP A PS)

Maturitní projekt do IVT Pavel Doleček

Nástrojová lišta v editačním poli

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

KIV/ZIS cvičení 6. Tomáš Potužák

Návrh uživatelských rozhraní NOV-WEB. Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka

Minebot manuál (v 1.2)

SEO PRO DRUPAL DEVELOPERY. David Monoszon

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

E-learningovýsystém Moodle

Doplňky slovníku SPOT

Customer s NGPC Základy práce s katalogem ND

NewLink Moravia. CSP aplikace: RedHorse Content management ISM Issue management

Transkript:

D R U P A L C M S 2 0. 5. 2 0 0 8 Drupal je modulární content management system, který je dlouhodobě velmi oblíbený, a běží na něm i takové weby jako ubuntu.com. MODULÁRNÍ ARCHITEKTURA SYSTÉMOVÉ MODULY Modularita v podání Drupalu znamená, že se program skládá z modulů základních stavebních bloků. Základní instalace jich obsahuje přes 30, ale pro chod nenáročné stránky stačí pět povinných: Základní moduly <font color="ugly">lorem</font> http://ipsum.com a spousta jiných zajímavostí... filter <p>lorem <a href="http://ipsum.com">http://ipsum.com</a> a spousta jiných zajímavostí...</p> user node system blocks SYSTEM Zajišťuje funkčnost administračního rozhraní. 1

USER Stará se o registraci uživatelů, jejich přihlašování a uživatelská práva. NODE Jádro starající se o uživatelem vytvořený obsah. Idea Drupalu je taková, že každá stránka má jeden centrální prvek. Například článek, seznam článků, sekce fóra, jeden zájezd cestovní kanceláře to všechno je node. Node tedy spravuje tabulku veškerého obsahu a pamatuje si ke každému nodu autora, datum vytvoření, název, obsah, atd BLOCK V každé stránce může být několik bloků menších funkčních celků (například blok s 5 posledními novinkami, s vyhledávacím formulářem, se seznamem aktivních uživatelů, ). Tento modul poskytuje funkčnost ostatním modulům, které si díky němu mohou vytvářet své bloky. FILTER Poslední povinný modul se stará o filtrování textu, a dovoluje nám nadefinovat si různé filtry uživatelských vstupů: filtr, který uzavře korektně všechny html značky, odstraní všechny tagy kromě nadefinovaných a těm odebere přebytečné parametry (ochrana proti XSS) pro uživatele, či filtr, který dovolí vložit vše, ale opraví html a převede vynechané řádky na odstavce pro administrátora. DALŠÍ MODULY Ostatní moduly obvykle navěsí svou funkčnost na základ, s tím, že data, která jsou pro ně specifická, si uloží do svých tabulek, a navážou je na systémové tabulky pomocí id. PŘÍKLAD: Comment.module dovoluje přidat ke každému NODE komentáře, a dělá to tak, že si v tabulce comments pamatuje komentáře, a ve sloupci nid si pamatuje id nodu, ke kterému komentář patří, v uid uživatele autora komentáře a v pid rodiče komentáře (aby šly vytvářet stromové struktury při odpovědi na příspěvek). Schema tabulky je vždy v souboru <plugin_name>.install, definované jako array formátu Drupal Schema API. Systém potom zajistí, že se při instalaci modulu vytvoří tabulka podle schematu, ale při vypnutí modulu se nesmaže, aby uživatel nepřišel o data. Tabulku lze pak smazat ručně z administrace (admin/build/modules/uninstall ). 2

VLASTNÍ MODULY Každý modul je reprezentován adresářem: <cesta k drupalu>/modules/<jmeno_modulu> Ve jménu modulu nesmí být mezera ani jiné oddělovače, nadále budeme používat jméno mymodule. Podadresář tedy bude drupal/modules/mymodule a v něm se musí nacházet minimálně tyto soubory: mymodule.info Soubor s metadaty o modulu, s minimálním obsahem: name = Plné jméno modulu description = Popis funkčnosti modulu package = Jméno balíku ve kterém se modul nachází (podle něj bude zařazen v seznamu modulů) core = 6.x (verze Drupalu pro kterou je modul určen) mymodule.module Soubor s php kódem modulu mymodule.install Volitelný soubor s funkcemi, které se zavolají jednou při instalaci modulu, a s definicí databázovécho schématu. HOOKY Moduly mezi sebou komunikují pomocí tzv. hooků globálních funkcí ve tvaru <jmeno_modulu>_<jmeno_hooku>. Pokud tedy chceme v našem modulu něco přidat do menu, budeme implementovat funkci mymodule_menu(...). Až bude nějaký jiný modul (i systémový) potřebovaat zjistit, které položky mají být v menu, vytvoří menu jako asociativní array a pošle ji postupně všem modulům, které hook_menu implementují. Náš modul si potom přidá položky, které potřebuje: function mymodule_menu() { $items['admin/settings/uploadcv/edit/%'] = array( //název položky v menu 'title' => 'Edit consultant', //funkce jejíž výstup se pošle uživateli 'page callback' => 'drupal_get_form', //... s těmito třemi parametry, kde 3 a 4 bude změněno na 3. a 4. parametr z URL (počítáno od 0) 'page arguments' => array('uploadcv_admin_edit', 3, 4), //uživatel musí mít tato práva 3

'access arguments' => array('administer uploadcv'), //položka nebude v menu, ale url lze volat aby se provedla nějaká akce 'type' => MENU_CALLBACK, //rodič položky (povede na něj odkaz) } 'parent' => 'admin/settings/uploadcv', //soubor pro includování (abychom mohli rozdělit funkčnost do více souborů) ); 'file' => 'uploadcv.admin.inc', Dokumentace k hookům: http://api.drupal.org/api/group/hooks KONVENCE URL Drupal používá k adresaci svých stránek systém cest v pomyslném filesystému: například admin/build/menu-customize/10/add, node/7/edit, comment/reply/1/4. Jak je vidět, v URL jsou předávány i proměnné, a tento systém funguje jak s mod_rewrite (pak je výsledkem www.mujweb.cz/node/8), tak i bez něj (pak vypadá URL téměř stejně, liší se jen třemi znaky www.mujweb.cz/?q=node/8). SEO URL Pokud bychom chtěli pěkná URL, není nic jednoduššího, než nainstalovat si modul path (http://drupal.org/project/path a http://drupal.org/handbook/modules/path). Potom si můžeme nadefinovat aliasy jako třeba: user/login => login image/tid/16 => store taxonomy/term/7+19+20+21 => store/products/whirlygigs node/3 => contact A pokud nechceme každému článku přiřazovat hezké URL ručně, lze využít modulu pathauto http://drupal.org/project/pathauto a nechat ho vygenerovat alias automaticky z titulku. 4

FORMULÁŘE FORMS API Důležitou součástí každé webové aplikace jsou formuláře, a Drupal se nám snaží práci s nimi maximálně zjednodušit. Můžeme proto pro každý formulář napsat tři funkce definici, validaci a akci po odeslání, a Drupal se postará, aby se akce pro odeslání provedla až poté, co validace ve formuláři nenajde chyby. Definice formuláře, zobrazení Validace Akce po odeslání PŘÍKLAD Ukážeme si, jak udělat jednoduchý formulář: function mymodule_agreement() { //funkci předáme název definující funkce našeho formuláře return drupal_get_form('mymodule_agreement_form'); } function mymodule_agreement_form() { //definice formuláře $form = array(); 5

$form['id'] = array( '#type' => 'value', '#value' => 'legal'); $form['legal'] = array( '#type' => 'fieldset', '#title' => t('terms and Conditions of Use'), '#weight' => 29 ); $form['legal']['conditions'] = array( '#type' => 'item', '#title' => t('terms & Conditions'), '#value' => 'Legal Blah blah', '#rows' => 10, '#weight' => 0, '#attributes' => array('readonly' => '') ); $form['legal']['legal_accept'] = array( '#type' => 'checkbox', '#title' => t('i accept Terms & Conditions of Use'), '#default_value' => 0, '#weight' => 50, '#required' => TRUE); 6

} $form['save'] = array( '#type' => 'submit', '#value' => t('proceed to upload'), '#weight' => 100); return $form; function mymodule_agreement_validate($form_id, $form_values) { } if ( $form_values['values']['legal_accept ]==0 ) { form_set_error('legal_accept', t('you must accept to continue.')); } //podmínky s nastavenou chybou formulář nezvaliduje function mymodule_agreement_submit($form_id, $form_values) { drupal_set_message(t('thank you for agreeing.')); drupal_goto( login/nextstep"); } //funkce _submit proběhne jen když _validate nenajde chybu MODUL TEDY MŮŽE: implementovat systémové hooky vytvořit vlastní hook využívat funkce Drupal API formuláře překlad textů abstrakce databáze posílání mailů upload souborů hledání node access kontrola přístupu 7

MODULÁRNÍ TÉMATA <?php print $header;?> <?php print $content_top;?> <?php if ($right):?> <div id="sidebar-right > <?php =$right?> </div> <?php endif;?> [themes/tema/tema.info] regions[header] = header regions[right] = right sidebar regions[content_top] = content top Šablona Drupalu je běžný HTML soubor, pouze na několika místech jsou do něj vloženy PHP tagy pro výpis jednotlivých bloků (a navíc skriptů a css stylů). Na místo vytvořených bloků (header, content, sidebar) pak můžeme v administračním rozhraní drag&dropem přetahovat jednotlivé bloky, a tak měnit uspořádání webu aníž bychom museli editovat šablonu. Více o tvorbě šablon najdete v Drupal handbooku na http://drupal.org/theme-guide. KONVERZE HTML PRO DRUPAL index.htm themes/tema/page.tpl.php metadata themes/tema/tema.info přidání <?php print $blok;?>, a případně <?php if ($blok) {?>wrapper<?php }?> KDO OSTYLUJE ZBYTEK? Každý modul má většinou nějakou datovou strukturu, kterou pak převede na výstupní HTML. U drupalu je dobrým zvykem obalit výstup co nejvíce sémanickými divy: 8

Dále si modul nese CSS potřebné pro ostylování svého výstupu, takže už v defaultní instalaci do cizího tématu může vypadat velmi dobře. Pokud ale tato prezentace uživateli nevyhovuje, může ve své šabloně předefinovat jak konverzní funkci, která generuje HTML, tak i použité CSS styly. Aby pak načtení stránky nezdržovala spousta CSS souborů, umí Drupal veškeré CSS spojit do jednoho souboru, a ten pak poslat uživateli namísto několika desítek samostatných. 9

VÝKON Problémem všech komplexních CMS je náročnost, především měřená metrikou počtu databázových dotazů. Ani Drupal bohužel nezaostává za konkurencí, a můžeme ho přistihnout, jak k vykreslení stránky s okolními bloky, větším menu a komentáři potřebuje i 200 dotazů. CACHING Zkoušel jsem analyzovat testovací stránku obsahující 9 bloků, menu s cca 15ti položkami a seznam článků, čas vykonání a seznam dotazů jsem získal pomocí modulu devel.module.a pokud byl kvůli cachování modul devel nedostupný, získal jsem počet SQL dotazů z logu MySQL. Před každým zaznamenaným testováním jsem vyprázdnil cache Drupalu a pak jsem stránku několikrát obnovil, aby se naplnila případná cache. BASE Těsně po vyčištění cache je potřeba k načtení stránky 375 dotazů, s přihlášením 339. TEST 1 NEPŘIHLÁŠENÝ UŽIVATEL Testoval jsem jako nepřihlášený uživatel (u kterého se předpokládá, že obsah bloků bude víceméně neměnný a stejný pro všechny uživatele). Tyto výsledky jsou tedy platné například pro firemní prezentaci, kde předpokládáme většinu nepřihlášených uživatelů. 10

Case 1 Cache Off, Block cache off 128 dotazů. Case 2 Cache Off, Block cache on 111 dotazů. Case 3 Cache Normal, Block cache off 10 dotazů (včetně SET NAMES "utf8"). Case 4 Cache Normal, Block cache on Opět 10 dotazů, podle jejich analýzy se cachuje celá vyrenderovaná stránka, a tak cachování jednotlivých bloků nemá vliv. Dotazy (zvýrazněné jsou navíc oproti Case 5): SET NAMES "utf8" SELECT 1 FROM access WHERE type = 'host' AND LOWER('127.0.0.1') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1 SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = '10171a0244068950182a40799cebe803' SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables' /* Anonym : cache_get */ SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'http://localhost/vysocina/node/7' /* Anonym : module_list */ SELECT name, filename, throttle FROM system WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC /* Anonym : drupal_get_filename */ SELECT filename FROM system WHERE name = 'user' AND type = 'module' /* Anonym : sess_write */ SELECT COUNT(*) FROM sessions WHERE sid = '10171a0244068950182a40799cebe803' /* Anonym : sess_write */ UPDATE sessions SET uid = 0, cache = 0, hostname = '127.0.0.1', session = '', timestamp = 1211145064 WHERE sid = '10171a0244068950182a40799cebe803' /* Anonym : user_access */ SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN (1) Case 5 Cache Agressive, Block cache on 7 dotazů, agresivní cache je tedy ještě rychlejší (ale omezuje funkčnost modulů, které mají fungovat na každé stránce, například statistik). Dotazy: SET NAMES "utf8" SELECT 1 FROM access WHERE type = 'host' AND LOWER('127.0.0.1') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1 SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = '10171a0244068950182a40799cebe803' SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables' /* Anonym : cache_get */ SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'http://localhost/vysocina/node/7' /* Anonym : sess_write */ SELECT COUNT(*) FROM sessions WHERE sid = '10171a0244068950182a40799cebe803' /* Anonym : sess_write */ UPDATE sessions SET uid = 0, cache = 0, hostname = '127.0.0.1', session = '', timestamp = 1211144892 WHERE sid = '10171a0244068950182a40799cebe803' TEST 2 PŘIHLÁŠENÝ UŽIVATEL Testoval jsem jako přihlášený uživatel - administrátor (u kterého se obsah bloků nedá paušálně cachovat, některé lze a některé ne). Tyto výsledky lze vztáhnout na nějaký portál, kde budou téměř všichni uživatelé permanentně přihlášeni. Pokud bude i nadále počet dotazů příliš vysoký, bude asi nutno použít jinou strategii (http://drupal.org/project/blockcache pro cachování celách bloků,či http://drupal.org/project/resultcache pro cachování náročných funkcí v našich vlastních modulech). 11

Case 1 Cache Off, Block cache off 183 dotazů. Case 2 Cache Off, Block cache on 183 dotazů pro přihlášené uživatele asi caching bloků nemá vliv. Case 3 Cache Normal, Block cache off 183 dotazů. Case 4 Cache Normal, Block cache on 186 (!) dotazů. Case 5 Cache Agressive, Block cache on 182 dotazů. ZÁVĚR Jak je vidět z testů, Drupal už je použitelný pro navštěvované prezentační stránky, pro použití na stránkách s většinou přihlášených uživatelů ale jeho současný cachovací systém přestává stačit. Autoři si jsou tohoto nedostatku vědomi, a tak příští verze snad problém odstraní. Nepřihlášený uživatel Přihlášený uživatel Empty cache 375 339 Cache Off, Block cache off 128 183 Cache Off, Block cache on 111 183 Cache Normal, Block cache off 10 183 Cache Normal, Block cache on 10 186 Cache Agressive, Block cache on 7 182 12

DRUPAL VS. JOOMLA Pro srovnání výkonu Drupalu a jeho konkurenta Joomly byly oba tyto CMS porovnány v benchmarku na http://www.alldrupalthemes.com/blog/joomla-15-drupal-61-performance-comparison.html. Oproti Joomle vyšel Drupal z testu o něco lépe, ale u obou CMS by se našly ještě další možnosti urychlení u Drupalu by to bylo agresivní cachování, se kterým ale nefungují některé moduly, případně nějaký výkonný cachovací modul třetí strany. Drupal Joomla pageload latency pageload latency fresh site/no caching 248 ms 225 ms 358 ms 341 ms fresh site/caching 66 ms 54 ms 277 ms 260 ms more content /no caching 388 ms 354 ms 512 ms 482 ms more content/caching 70 ms 52 ms 308 ms 280 ms LATENCY = DOBA OD POŽADAVKU DO DOBY NEŽ SE ZAČNE ZOBRAZOVAT STRÁNKA PAGELOAD = DOBA OD POŽADAVKU DO KONCE NAČÍTÁNÍ DRUPAL VS JOOMLA: VODOROVNĚ ČÍSLO REQUESTU, SVISLE MILISEKUNDY 13