Nová éra úředních desek

, Michal Škop

Obce s rozšířenou působností, krajské úřady a státní orgány musí od 1. února 2022 publikovat svoje úřední desky jako otevřená data. Díky tomu se informace z úředních desek stávají daleko dostupnější. Vznikly zde podmínky pro kreativní revoluci v použití těchto informací srovnatelnou s dobou, kdy se přecházelo z čistě fyzických úředních desek na internetové.

V současnosti v ČR existuje několik různých aplikací pro obecní úřady, které v sobě mají již zabudovanou možnost přístupu také na úřední desku.

Podobně velmi obsáhlý projekt edesky.cz umožňuje registrovaným uživatelům zasílání novinek z úředních desek na email.

My si zde ukážeme dvě jednoduché aplikace, které ukazují dva odlišné přístupy ke stejným informacím z úředních desek. V první aplikaci bude cílem co nejjednodušeji dostávat notifikace o novinkách z úřední desky na mobil nebo e-mail. Druhá aplikace ukáže práci s úředními deskami v Národním katalogu dat.


Použitá data


Novinky z úřední desky rovnou do mobilu a e-mailu

S úředními deskami, které jsou dostupné jako otevřená data, lze zasílání informací o nových oznámeních na úředních deskách dosáhnout pomocí několika řádek kódu.

Cílem tohoto příkladu není připravit aplikaci pro širokou veřejnost, ale ukázat, že připravit základ takové aplikace může být díky otevřenosti dat velice jednoduché.

Postup zpracování

K tomu, aby se novinky z úřední desky dostaly na náš mobil nebo do e-mailové schránky, nám postačí jediný systém: GitHub. Samozřejmě, je to jen jeden z mnoha různých způsobů, jak tento problém řešit, snaha zde byla o co největší jednoduchost bez nutnosti využívat externí chatovací aplikace.

GitHub je známá webová služba, kde registrovaní uživatelé mohou používat verzovací systém Git. GitHub umí pravidelně spouštět různé akce (GitHub Actions), což nám pomůže v pravidelném načítání vybrané úřední desky nebo desek. Zároveň rozpozná, že se deska změnila.

Načítání úřední desky (GitHub)

V rámci projektu na GitHubu vytvoříme několik souborů, nejzajímavější jsou dva: Jednoduchý skript načte úřední desku nebo úřední desky. V našem případě půjde o testovací úřední desku (dle příkladů z otevřené formální normy Úřední desky) a úřední desku města Kadaň. Úkolem skriptu je jenom stáhnout aktuální úřední desku a uložit ji.

Jak jsme již uvedli, GitHub umožňuje pravidelně spouštět akce. Toho využijeme pro náš výše uvedený skript a necháme ho pravidelně každou hodinu stáhnout úřední desku. A zároveň v případě, že právě stažená verze úřední desky se liší od minulé, GitHub (resp. Git) provede automaticky další akci – tuto novou verzi úřední desky uloží a vyvolá odeslání notifikace. To vše je popsáno tímto souborem.

Notifikace z GitHubu (E-mail a mobilní aplikace)

Pro příjem notifikací nemusíte nastavovat žádné externí boty ani složité propojení třetích stran. Vše zajistí přímo ekosystém GitHubu dvěma způsoby:

Kroky nastavení:

  1. Vytvoříme si účet na GitHubu a nahráním projektu připravíme repozitář.
  2. V souboru workflow pro GitHub Actions nastavíme automatické spouštění skriptu v pravidelném intervalu.
  3. Doplníme krok pro e-mailovou notifikaci s uvedením cílové e-mailové adresy.
  4. Nainstalujeme si aplikaci GitHub Mobile do mobilního telefonu a přihlásíme se.
  5. V nastavení notifikací repozitáře zapneme sledování událostí (Watch > All Activity).
  6. Po několika hodinách nám v případě nové vyhlášky přejde upozornění e-mailem a zároveň jako push notifikace přímo na mobil!

Jednoduché zobrazení úředních desek pomocí Otevřené formální normy a Národního katalogu dat

Další ukázkovou aplikací je přehled úředních desek publikovaných jako otevřená data spolu s posledními oznámeními, která se na dané úřední desce objevila. Aplikace je ale jednoduchá, testovací a primárně zaměřená na poskytovatele a řešení jejich problémů. Stahuje data ze všech úředních desek, kterých je čím dál tím více, přímo do prohlížeče, tedy spotřebovává hodně dat – v době psaní článku již více jak 100 MB. Pokud však jste na počítači, nebo máte neomezená data, můžete si aplikaci vyzkoušet.

Cílem tohoto příkladu je ukázat napojení na Národní katalog dat (NKD) a práci s ním. Zároveň slouží i jako rychlá kontrola pro poskytovatele otevřených dat, že jejich úřední deska je publikována v pořádku (jsou zde vidět i některé počáteční problémy nově publikovaných dat – některé úřední desky např. nemají povolený CORS a nejdou tedy zatím načítat přímo z takovéto aplikace).

Jedná se opět také o ukázku toho, že základní aplikaci lze nyní vytvořit velmi rychle – tato byla vytvořena jen v řádu hodin.

Postup zpracování

Aplikace je vytvořena jako Single Page Application (SPA) v jediném souboru, pouze s pomocí jazyku JavaScript a knihovny Bootstrap použité pro grafický design. Zdrojový kód aplikace je dostupný na GitHubu.

Z hlediska struktury by se aplikace dala rozdělit na tři hlavní části: načtení informací z NKD, stažení úředních desek a zobrazení uživatelského rozhraní.

První část implementuje metoda fetchDatasets, ta využívá rozhraní GraphQL NKD pro získání potřebných dat ve formátu JSON. Alternativně by zde šlo použít SPARQL.

Stažení jednotlivých úředních desek je pak jen otázkou dalšího volání Fetch API. Získání potřebné informace z daného obsahu je, i díky použitým vlastnostem JavaScriptu, vcelku přímočaré – implementaci je možné najít na začátku funkce createEntryElement. Zde se projevuje efekt standardizace úředních desek – není nutné zjišťovat jaká data kde jsou. Dle OFN se očekává, že v datové sadě bude to, co tam má být a bude to u všech úředních desek stejné.

Zbytek kódu se věnuje hlavně práci s DOM, jinými slovy práci s uživatelským prostředím. Zde by šlo alternativně použít některý z existujících frameworků, ale pro jednoduchost ukázky byl použitý čistý JavaScript. Zejména díky standardizaci a NKD API tvoří tedy práce s daty vlastně pouze malou část zdrojového kódu.


Výsledek

Ukázali jsme si dvě jednoduché aplikace, které mají ukázat, jak snadno se dá pracovat s úředními deskami, když jsou informace z nich nyní dostupné také jako otevřená data.

První aplikace umožňuje posílat notifikace o novinkách na úřední desce co nejjednodušeji přímo na e-mail či mobilní telefon využitím vestavěných funkcí GitHubu. Druhá aplikace potom ukazuje seznam úředních desek a zároveň jak pracovat s Národním katalogem dat.

Můžeme si porovnat zobrazení stejného nového oznámení (v našem příkladě jde o vyhlášku města Kadaň) v obou aplikacích:


Další použití

Ukázkové aplikace naznačují potenciál využití informací z úředních desek, které jsou publikovány jako otevřená data. Jejich cílem není přímo sloužit široké veřejnosti, ale představit, jak snadno lze s daty z úředních desek pracovat.

Ukazují, že stejná informace může být zpracována velmi různými způsoby – např. lze využít již existující vývojářské nástroje s podporou notifikací (jako GitHub v prvním případě) nebo naopak jednoduše zobrazovat stejnou informaci na webu (jako v druhém případě).


Použité nástroje a zdroje


Související informace