Preskočiť na obsah

API

Všeobecne platí, že Open Web Calendar je používaný bez obmedzenia. Toto API môžete použiť na prispôsobenie kalendára na letáku.

Táto časť môže byť použitá, ak jeden z nich platí:

  • Ste web developer, ktorý chce vložiť Open Web Calendar.
  • Chcete využiť plnú flexibilitu, nie len to, čo je vystavené na stránke konfigurácie.
  • Chcete používať JavaScript dynamicky generovať dizajn kalendára a možnosti.
  • Chcete rozšíriť funkčnosť Open Web Calendar.
  • Chcete použiť Open Web Calendar ako proxy požiadať JSON udalosti pre vaše vlastné akcie krmivo.

Endpointy

Základné parametre sú rovnaké v týchto bodoch:

  • /index.html - upraviť kalendár
  • /about.html - zobraziť stránku
  • /calendar.html - zobraziť kalendár
  • /calendar.spec - stiahnuť špecifikácie
  • /calendar.ics - prihlásiť sa k súboru ics
  • /calendar.json - informácie o kalendári a jeho obsahu vo formáte JSON
  • /calendar.events.json - FLEXIBLE - dostať udalosti ako JSON Upozorňujeme, že to môžete použiť, ale nemôžete si byť istí, že JSON schema zostáva rovnaký. Ak to chcete, pridajte testy.

Pre súbor /calendar.events.json sú potrebné ďalšie parametre:

  • timezone=UTC - časové pásmo, ktoré musíte zobraziť udalosti v
  • od=YYYYYY-MM-DD - začiatok obdobia, v ktorom sa udalosti stávajú (inclusive)
  • to=YYYYY-MM-DD - koniec obdobia, v ktorom sa udalosti stávajú (exkluzívne)

Parametry

Všetky parametre konfigurácie sú dostatočne opísané v [predvolené_specification]. To je odkaz. E.g. Ak nájdete parameter title v [predvolené_specification], máte niekoľko možností:

Zmena titulu v kalóriu parameter:

/index.html?title=calendar

Zmena titulu v špecifikácie YAML:

title: calendar

Zmena titulu v špecifikácie JSON:

{
  "title": "calendar"
}

Dodržiavanie špecifikácie

Správanie a vzhľad kalendára môžete zmeniť pomocou parametrov. Ak je rovnaký parameter zadaný na rôznych miestach, najvyššiu prioritu má skoršie miesto uvedené nižšie. Toto sú miesta na zadanie parametrov:

Parametre dopytu

Všetky parametre URL adresy kalendára sú zadané do špecifikácie. Parametre dopytu majú najvyššiu prioritu.

Príklady:

index.html?language=de
calendar.html?title=CALENDAR

specification_url

Ak zadáte tento parameter dopytu, konfigurácia editora sa načíta aj z tejto adresy URL. Parametre dopytu sú stále dôležitejšie ako to, čo je zapísané v tomto súbore. Zdrojový formát môže byť YAML alebo JSON.

Príklady:

calendar.html?specification_url=https://github.com/niccokunzmann/open-web-calendar/raw/master/open_web_calendar/default_specification.yml

open_web_calendar.app.DEFAULT_SPECIFICATION

Toto je určené pre vývojárov a interných používateľov Pythonu.

from open_web_calendar.app import DEFAULT_SPECIFICATION
DEFAULT_SPECIFICATION['title'] = 'calendar'

OWC_SPECIFICATION

Toto je voliteľná premenná prostredia. Viac informácií o nej nájdete v dokumente Konfigurácia servera.

default_specification

Tento súbor obsahuje predvolené parametre. Nesmú byť pevne zakódované v zdrojovom kóde. Všetky parametre sú tam uvedené a zdokumentované, takže tento súbor možno použiť ako referenciu. Tento súbor neupravujte, namiesto toho použite premennú prostredia OWC_SPECIFICATION.

Pridávanie parametrov

Ak pridáte nový parameter ako vývojár:

  • Pridajte parameter s predvolenou hodnotou [predvolené_specification]
  • Pridajte implementáciu, v závislosti od jeho použitia v app.py alebo šablóny JavaScriptových súborov. Špecifikácia je už k dispozícii vo všetkých z nich použiť.
  • Pridajte testy do súboru features/configure-the-calendar.feature, aby ste overili, či kalendár reaguje na danú funkciu.
  • Pridajte testy do features/edit-the-calendar.feature, aby ste sa uistili, že parameter je možné použiť pri úprave kalendára.

Špecifikácia v kalendári

app.py skompiluje špecifikáciu z daných parametrov v get_specification(). V template môžete pristupovať k špecifikácii prostredníctvom premennej specification. Špecifikácia je k dispozícii pre JavaScript ako premenná specification.

Pozri tiež:

Špecifikácia v sekcii Index

Predvolená špecifikácia je k dispozícii pred vytvorením kalendára pomocou JavaScriptu v premennej configuration.default_specification. Existuje funkcia getSpecification(), ktorá vytvorí špecifikáciu zo vstupov. Vo všeobecnosti by sa mala použiť premenná specification.

Architektúra

Nižšie nájdete obrázok architektúry.

architecture

Základ kalendára je špecifikácia, vzhľadom na rôzne formy. Táto špecifikácia ovplyvňuje všetky kroky.

Po zostavení špecifikácie, kalendár (ics) súbory sú stiahnuté z miest na internete.

Z kalendárových súborov sa vygenerujú udalosti.

Potom sa vyberajú rôzne názory na zobrazenie udalostí.

Na konci, tieto vedú k HTML a štýlu zmeny webovej stránky kalendára.

V skutočnej aplikácii sú tieto kroky trochu zmiešané a neobjednané alebo vynechané, ale to vysvetľuje jednoducho základnú, počiatočnú myšlienku za spracovanie udalostí.