Prečo vymýšľať koleso keď sa to dá spraviť cez API?

Keď chcete v dnešnej dobe vytvoriť novú webovú aplikáciu alebo jej funkcionalitu, existuje množstvo spôsobov ako na to nehovoriac o technológiách, ktoré sa pri tom dajú využiť. Moja bakalárska práca mala zjednodušiť prácu s rozvrhmi jednotlivých miestností a vyučujúcich na stránke Informačného systému ÚIAM FCHPT a to automatickým napĺňaním udalostí z databázy cez skripty PHP. Keďže predmetov sa na fakulte vyučuje naozaj dosť, cieľom bolo nahradiť manuálne vytváranie či editáciu udalostí.
Vytvorená aplikácia pre prácu s rozvrhmi:
a
Bol teda vytvorený nový modul, ktorý používateľovi umožní hromadne prenášať a editovať udalosti z Informačného systému do Google kalendárov jednotlivých miestností. Pri tvorbe aplikácie boli využité štandardné webové technológie ako jazyk HTML, JavaScript, PHP či databáza MySQL. Na samotný prenos informácií o vyučovanom predmete však poslúžilo rozhranie Google API.
Rozhranie Google API predstavuje súbor nástrojov, vďaka ktorým sa dá relatívne jednoducho pracovať s dátami z populárnych Google aplikácií ako je napríklad Google Calendar či Google Maps. Na stránkach Google je pre vývojárov sprístupnená oficiálna dokumentácia pre využívanie API doplnená o knižnice rôznych funkcií.
Pre využívanie API bolo najskôr potrebné vytvoriť si Google projekt, aktivovať rozhranie Google API v Google API Console a importovať si knižnice potrebných funkcií. Pre prácu s kalendármi jednotlivých miestností a udalosťami, ktoré v nich prebiehajú sa ďalej vytvorili vhodné tabuľky údajov v databáze MySQL, v ktorých sú vybrané atribúty spájané pomocou AJAXU.
A takto sú jednotlivé tabuľky databázy navzájom prepojené.
i
Po vytvorení a otestovaní modulu na lokálnom serveri nasledovala implementácia sekcie kalendárov do IS ÚIAM. Užívateľovi sa zobrazí prehľad predmetov, ktoré sa vyučujú v danej miestnosti.
c
Má možnosť rozvrh editovať alebo mazať. Kliknutím na "Pridať rozvrh" vyskočí modálne okno, v ktorom používateľ vyberie týždeň, v ktorom sa začína semester, počet opakovaní, čiže počet týždňov semestra, akademický rok a typ semestra (zimný alebo letný).
b-2
V prehľade je možné po pridaní alebo vymazaní predmetov opäť zobraziť kalendár zvolenej miestnosti.
d
Kalendáre sú síce dostupné aj pre verejnosť a študentov, možnosť zadávania a editácie je však len pre prihlásených používateľov.
e
Ako doplnok bola na stránku ÚIAM pridaná funkcionalita iCalendar, pomocou ktorej je možné stiahnuť si rozvrh vybraného vyučujúceho. Na stránke http://www.kirp.chtf.stuba.sk/ sa v sekcii "Kontakty" nachádza zoznam zamestnancov a vyučujúcich.
f
Po kliknutí na meno zvoleného vyučujúceho sa v sekcii "Rozvrh hodín" pod rozvrhom hodín zobrazí modré tlačidlo "iCalendar".
g
Stlačením tlačidla "iCalendar" sa pomocou PHP skriptu vygeneruje a stiahne textový súbor iCalendar "calendar.ics". Stiahnutý iCalendar súbor je možné importovať do ľubovoľného kalendára ako je Google Calendar, Apple iCal, Microsoft Outlook a iné. Takto jednoducho si teraz môžte do vlastného kalendára naimportovať rozvrh svojho (ne)obľúbeného vyučujúceho :).
h