WebToDate » O WebToDate » Technické informace » Architektura systému

Architektura systému

Programové prostředí

Produkt je vyvíjen v programovacím jazyce PHP, kompilace PHP je předepsána s daným počtem rozšiřujících modulů (pro práci s XML apod.).

Struktura instalace

Produkt používá jednu databázi v rámci nasazeného databázového stroje, ve které jsou uloženy jak definice objektů prezentační vrstvy (styly, seznamy apod.) tak vlastní data.

Adresářová struktura v souborovém systému je předepsaná v rámci souborového systému a v rámci virtuálních adresářů web serveru. Umístění a názvy důležitých adresářů je ovšem možné konfigurovat.

Jsou oddělené adresáře pro statickou část prezentační vrstvy (staticky vygenerované stránky, obrázky apod.), dynamickou část prezentační vrstvy (skripty zobrazující dynamicky stránky spravované redakčním systémem či skripty prezentující data modulů) a pro redakční interface.

Existuje jasně oddělená adresářová struktura, do které se vyžaduje právo zápisu a struktura, u které stačí právo na čtení.

Aplikační vrstvy

Následující schéma znázorňuje graficky jednotlivé části systému a jejich vazby. V databázi jsou uložena vlastní data i definice stránek, stylů, oblastí (datových kontejnerů ve stránkách, jejichž obsah se pomocí systému spravuje) a dalších objektů, se kterými se v systému pracuje.

Nad databází se nachází vrstva datových tříd, pomocí nichž se k databázi přistupuje, a která zajišťuje možnost podpory více typů databází.

Je oddělená prezentační vrstva a redakční rozhraní, k vytváření všech typů stránek a objektů existují knihovny pro společné elementy těchto funkcí.

Aplikační vrstvy Aplikační vrstvy

Samostatně je vyveden Plánovač úloh, který zajišťuje spouštění definovaných úloh v čase a jehož funkčnost se dotýká jak redakčního rozhraní, tak veřejné prezentace.

XML přenosy dat jsou zde uvedeny jako důležitá funkce pro komunikaci s externími zdroji dat, ve skutečnosti se jedná o jeden ze standardně dostupných modulů WebToDate.

Komponenty systému

Následující obrázek je diagramem zobrazujícím přehledně základní logické komponenty redakčního systému WebToDate.

Komponenty Komponenty

Data

Datový obsah je tvořen zprávami, fragmenty a zdroji.

Databáze zpráv je základní struktura pro ukládání dat. Jedná se o strukturovanou databázi určenou pro ukládání textů – zpráv, dokumentů apod. K ní lze připojovat soubory z databáze zdrojů, které zpráva využívá (jako obrázky, soubory ke stažení apod.).

Analogickou funkčnost jako zprávy má databáze fragmentů – jedná se o podobnou strukturu, která ale slouží k ukládání částí stránek, které nejsou samostatným dokumentem (např. pomocné bloky HTML kódu, javascriptové kódy apod.),

Databáze zdrojů slouží k uchovávání a správě souborů používaných na webu. Do této databáze se ukládají obrázky, další multimediální soubory a dokumenty ke stažení.

Metadata

Další struktury související úzce s obsahem jsou metadata. Hlavní řídící strukturou je strom kategorií, další metadata jsou zejména:

  • Témata
  • Klíčová slova
  • Publikace
  • Vydání
  • Jazyky
  • Časová platnost obsahu (publikovat dne, vyprší dne)

Nástroje prezentační vrstvy

Vedle databáze obsahu je k dispozici řada nástrojů prezentační vrstvy. Všechny funkce této vrstvy směřují k sestavování a generování výsledných HTML stránek (nebo souborů v jiném značkovacím jazyce).

Stránky a šablony (uložené ve stromu šablon) jsou struktura, která má v systému více funkcí. Pod pojmem stránka se ve WebToDate rozumí:

  • Stránka typu „rubrika“, která se zobrazuje uživateli webu
  • Šablona stránky
  • Předloha pro dynamické zobrazení dat

Stránky typu „rubrika“ jsou typicky stránky jako úvodní stránka či stránky sekcí webu. Tyto stránky se zpravidla generují jako statické, jsou zobrazovány návštěvníkům webu a pracují s nimi editoři tak, že na tyto stránky umísťují zprávy či další objekty.

Šablony stránek jsou pomocné stránky definované administrátorem a slouží k vytvoření grafické podoby webu.

Termín předloha se používá pro speciální typ šablony, která slouží jako základ pro opakované dynamické zobrazování dat pomocí nějakého skriptu. Typickým příkladem je zobrazování jednotlivých zpráv či článků – stránka, která má zobrazovat text jednoho článku, se typicky negeneruje, ale zobrazuje se dynamicky tak, že data daného článku se vloží do předlohy a takto ve chvíli zobrazení sestavená stránka se pošle do prohlížeče uživatele.

Stránky a šablony jsou organizovány do stromu šablon. Tento strom udává závislost jednotlivých stránek na úrovni šablon. To znamená, že podle stromu šablon se určuje, jakou šablonu má daná stránka. Strom může mít víc úrovní vnoření – v rámci designu webu lze využít vícestupňové generování stránek a šablon, což zásadním způsobem usnadňuje správu webu z hlediska designu a podstatně zjednodušuje např. globální změny grafiky.

Každá stránka patří navíc s výjimkou předloh do určité kategorie ve stromu kategorií.

WebToDate styly jsou základním nástrojem pro formátování jednotlivých objektů na stránkách. Každý objekt (zpráva, obrázek, diskusní příspěvek atd.) se na webu prezentuje nějakým stylem, což je v podstatě blok HTML kódu, který obaluje vlastní data objektu. Styly se aplikují buď na jednotlivé objekty (zprávy) nebo na množiny objektů (seznamy zpráv, diskusní příspěvky k danému tématu atd.).

Seznamy jsou logické selekce dat z databáze, které lze vložit na stránku stejnými nástroji jako jednotlivé objekty. Užití seznamů zahrnuje např.:

  • Zobrazování seznamů zpráv vyhovujících nastaveným kritériím
  • Zobrazení souvisejících zpráv k dané zprávě, seznamu příloh apod.
  • Zobrazení dat z databázových struktur takovým způsobem, pro který nejsou v aplikaci jiné nástroje

Poslední zmíněný případ jsou tzv. SQL seznamy. Jejich definicí je dotaz zadaný administrátorem v jazyce SQL směřující do dané databáze. Tento dotaz může směřovat jak do tabulek aplikace WebToDate (využívá se např. pro zobrazení nejčtenějších článků apod.) tak do tabulek patřících nějakému modulu či jiné externí aplikaci (lze využít např. pro generování seznamu nejnovější událostí z kalendáře akcí na nějakou rubrikovou stránku, ale i na zobrazení jakéhokoliv pevně daného výběru z jiných datových tabulek).

Objektem zavedeným od verze WebToDate 4.0 jsou navigace. Systém může na základě stromu kategorií generovat navigační nabídky na stránkách. Struktura a obsah nabídek jsou dány definicí stromu kategorií, vlastní HTML kód je generován pomocí XSLT transformací. Ve stromu kategorií lze určit, které kategorie patří do navigace a které nikoliv a jaké URL je jednotlivým uzlům přiděleno. Toto URL je navíc závislé na jazyce, pro každý jazyk může být daná kategorie reprezentována jinou stránkou.

Přístupová práva a workflow

Uživatelé a týmy definují seznam uživatelů, jejich dělení do skupin a přístupová práva. Základní pravidla, kterými se celý systém řídí, jsou:

  • Existuje skupina administrátorů, kteří mají přístup ke všem funkcím a datům bez výjimky.
  • Všechna přístupová práva nejsou individuální ale týmová – nelze tedy nastavit např. ke konkrétním datům přístup jednomu uživateli, ale vždy je třeba založit tým, který bude mít potřebné oprávnění, do týmu pak může patřit pouze jedna osoba.
  • Každý uživatel může vystupovat ve více týmech, v každém týmu v jedné z definovaných rolí. Jeho přístupová práva k danému objektu či funkci se odvozují od „nejsilnějšího“ nastavení nalezeného v definici uživatele.

S uživatelskými rolemi a týmy souvisí i workflow při zpracování obsahu. Toto workflow je zásadně odehrává uvnitř týmu, jednotlivé kroky jsou reprezentovány tzv. stavy (zpráv či zdrojů). Změna stavu je vázána na uživatelskou roli, možné stavy zahrnují i automatické změny související s časovou platností (odložená publikace, platnost vypršela apod.).

Pomocné nástroje

Pod pojmem Pomocné nástroje se skrývá několik různých funkcí, které umožňují dávkové zpracování některých činností, sledování aktivit v systému nebo rozšiřují funkčnost systému.

Nástroji pro sledování aktivit jsou:

  • Protokoly – umožňují administrátorovi zobrazit protokol všech událostí týkajících se manipulace s daty (zakládání zpráv, změnu stavů zpráv, generování stránek apod.). Zde lze získat údaje o činnosti všech redaktorů a editorů v systému.
  • Statistiky – zobrazují přehledy statistik o počtu shlédnutí jednotlivých zpráv.

Nástroje pro dávkové zpracování jsou

  • Především Plánovač úloh – umožňuje řetězit dané typy akcí do tzv. sekvencí a tyto sekvence spouštět buď z administračního interface, nebo automaticky jejich spouštění načasovat. Takto lze např. generovat stromy stránek apod.
  • Konverzní funkce - definice konverzních funkcí umožňují v databázi zdrojů převody formátů (obrázků, audia, videa) či jiné automatické nebo ručně spouštěné administrátorem předdefinované změny v souborech
  • Akce – slouží k hromadnému přidávání či odebírání zpráv na dané oblasti „rubrikových“ stránek. Plánovač úloh jako jednu ze základních úloh umí spustit nějakou definovanou akci.

Nástroje rozšiřující funkčnost reprezentuje Reklama. Slouží ke svázání reklamních kódů s obsahem, používá vlastní databázi reklamních kódů a pravidel pro jejich umísťování na stránky. Nejedná se tedy o vlastní reklamní systém, ale o nástroj, který umožňuje provázat zobrazovanou reklamu s obsahem stránek.

Interface modulů

Poslední důležitou součástí systému jsou interface pro programové rozšiřování funkčnosti systému (API pro vytváření modulů, extenzí a plánovaných úloh). Je definováno několik možných způsobů rozšiřování tak, aby nedošlo k programátorskému zásahu, který by znemožňoval upgrady systému či jeho podporu. Tyto interface využívají i „krabicové“ moduly a doplňky dodávané firmou Macron Software.