Na nabídku

Povídání o modulech a práci s nimi


Základní informace

Mám dvě sady modulů. Liší se umístěním a využitím. Prezenční moduly zpravidla jen zpracovávají a vypisují informace ze serveru. Administrační tytéž informace upravují. Celý systém je založen na souborech, takže ho lze celý zálohovat klidně na flash disk, případně rozjet s minimálním obtěžováním jinde. Není ani problém spáchat další modul s dalšími funkcemi, zatím je problém ho "laicky" dodat do systému (je potřeba si přečíst něco o načítání modulů v programátorské části).

Moduly prezentace jsou dělené podle úrovně, do které zasahují. Uživatel pak některé (většinu) sám do stránky vkládá. Většinu prezenčních modulů můžete vidět na administrovaných projektech.

Moduly administrace jsou dělené podle třídy správy (případně skupiny). Takže uživatel některé z nich nemůže použít. Pohled na ně je níže v galerii.

Dále je důležitá věc jménem "párování". To znamená, že modul má možnost hledat složku či jiný svůj kontext podle cesty ke stávající stránce. V praxi to znamená, že v téže složce jsou jak soubor "popis.htm", tak soubor "popis.htm.texy" a složka "popis/". To znamená, že uživatel má na úpravy editor Texy a nějaké soubory, co na stránce vypisuje.

Stránky administrace

V normálním vzhledu administrace jsou po přihlášení vlevo nahoře nainstalované moduly a vpravo nahoře nastavení a odhlášení. Na tlačítko "Zpět" v prohlížeči zapomeňte, obzvlášť pokud jste něco upravili (jako třeba přihlašovací formulář :) ). Daleko lépe poslouží panely prohlížeče.

Když modul nejde načíst, není ani zobrazen a je místo něho ponechán jeho volající obsah (v administrátorské sekci pravděpodobně chyba autora nebo nedostatečné oprávnění, ve stránkách zůstává text).

Moduly, které lze volat

Moduly pro zobrazení se načítají jako

{MODUL}
{MODUL}param=val{/MODUL}
{MODUL}param1=val1&m2=val2...{/MODUL}

. Pokud modul parametr nezná či je v něm kravina, tak ho, pokud je slušný, prostě ignoruje a použije základní hodnoty.

V popisech jednotlivých modulů je jejich funkčnost vypnuta pomlčkou po první uvozující závorce.

Jednotlivé moduly pro zobrazení

SHORTM
Modul pro zobrazení krátkých zpráv. V administraci přidáte do správné složky krátkou zprávu a on jí automaticky zobrazí spolu s ostatními. Více ve správě. Nemá parametry.

IFRAME
Modul pro vkládání rámů s externími stránkami. Většinou požíváno pro návštěvní knihy či galerie mimo správce. Má parametr "link", obsahující adresu vnější stránky.

LANGS
Pokud je obsah stránek ve více jazycích, tento modul má na svědomí rozdělení mezi ně. Má pouze paramery vsize a hsize udávající výšku a šířku vlajek reprezentujících jazyky. Nemá smysl mimo index.

DIRLIST
Čtečka složek. Zobrazuje na stránkách výpis souborů ze složky nesoucí stejné jméno jako stránka. Má pět parametrů; "row" a "col" udávají počet řádků a sloupců na stránku (a určují stránkování), "style" způsob zobrazení - list (výčet), icon (ikonky) a compact (výčet s ikonkama) (jiné možnosti páchají roztodivné výsledky a nedoporučují se), "path" cestu v rámci stromu a "ext" jako selekci přípon (příklad třeba tady balíčky). Z adresní lišty chodí další - "s" -, který určuje začátek načítání.

GALLERY
Galerie obrázků. Vloží na stránku galerii obrázků. Parametry má stejné jako Dirlist. Vyžaduje modul IMAGE, aby bylo v čem ty obrázky zobrazit.

THUMB
Jednotlivé obrázky. Vloží na stránku náhled a link na obrázek jako z galerie. Parametry má dva - path (cesta k obrázku) a more (popisek extra). Vyžaduje modul IMAGE, aby bylo v čem ty obrázky zobrazit.

IMAGE
Zobrazí obrázek. Jde načíst normálně ze stránky či jako nové okno. Parametry chodí jen přes adresní řádek s cestou. Tenhle modul se doporučuje volat něčím jiným.

PEDIGREE
Zobrazí rodokmeny. Jde načíst normálně ze stránky i jako zvláštní okno. Parametry chodí z adresního řádku. Vyžaduje nastavenou databázi. Ve stávajícím stavu neveřejný.

FVIDEO
Zobrazí galerii videí spolu s přehrávačem. Parametry má stejné jako Dirlist. Vyžaduje zapnutý JavaScript (či aspoň odblokovaný přehrávač) a aby bylo co přehrát.

RSS
Zobrazí feeda RSS, sestaveného z krátkých zpráv. Ze svého principu vyžaduje načítání na zvláštních stránkách bez dalšího obsahu. Obsah získává ze stejných dat jako SHORTM. Vypisuje se buď do stránky jako odkaz, tak samostatně jako feed.

Jednotlivé moduly pro správu

TEXTS - texty
Textový editor. V závislosti na množství zapnutí JavaScriptu se zobrazí prostředí "spartánské" s přímou editací kódu stránky (občas lepší) či blíže textovému procesoru jako je LibreOffice Write. Taky se v něm vkládají volání modulů pro zobrazení.

FILES - soubory a složky
Manipulace se soubory a složkami. Zatím je zde manipulace uspořádána atypicky, s ohledem na páchané akce a objekty činu. Pro rychlejší manipulaci doporučuji využívat nabídku modulu k dostání se k akci a postranní lištu k jízdě k nabídce. Navíc velikost roste s každým souborem či složkou, takže nějaké uspořádání přichází vhod.

IMAGES - obrázky
Základní operace s obrázky. Obsahuje nahrávání, mazání, přesun a titulkování obrázku v aktuální složce.

TREE - strom
Operace s menu. Umožňuje na základě aktuální sestavy souborů změnit nabídku stránek (některé soubory mohou zůstat skryté). Pro její kvalitní užívání je lepší mít zapnutý JavaScript, neboť se v číslech rychleji zamotáte.

SHORT - zkratkou
Krátké zprávy. Umožňuje vést v aktuální složce krátké zprávy a operace s nimi jako je přidávání úpravy a mazání. Nelze je prohazovat, protože se řadí podle času přidání.

UPLOAD - nahrát
Přerostlé soubory. Přetažením na zelené políčko v něm umožní nahrát do aktuální složky velké soubory.

PEDIGREE - rodokmeny
Manipulace s rodokmeny. Umožňuje přidávat, upravovat, mazat a exportovat rodokmeny. Se zapnutým Javascriptem je zjednodušeno i vyhledávání jedinců v něm. Nyní neveřejný.

Přidávání a odebírání v prezenční části

Moduly jsou brány ze souboru modules.X.conf , kde X značí úroveň. Přidání pak spočívá jen v nakopírování modulu do složky a podle obsluhovaných úrovní dodání jeho jména do souborů modules.X.conf . Odebrání je reverzní akce - prostě odebrat modul ze souborů a pak ho fyzicky smazat.

To jsou operace pro běžné moduly bez databáze. Databáze pak chce ještě nastavit a připravit, jak je řečeno jinde.

Něco o úrovních

Systém má 7 úrovní, do kterých mohou moduly zasáhnout. Každá se někde ve stránce projevuje.

  • 0 - SITE_NOWHERE - nemá výstup - zde končí všechny moduly, co mají být přístupné, ale nemají potřebu se prezentovat. Zde Images se systémovými obrázky.
  • 1 - SITE_HEADER - hlavička HTTP - modul musí zasahovat už do odesílané hlavičky protokolu. Například Watermark nebo RSS.
  • 2 - PAGE_HEADER - hlavička HTML - modul strká informace do hlavičky stránky, v zásadě třeba k titulku. Hlavně vzhled.
  • 3 - SITE_CONTENT - samotná stránka, ne však obsah - modul má informace rozšiřující stránku, které by měly stále zůstat viditelné. Třeba menu.
  • 4 - PAGE_CONTENT - samotná stránka, zaplněný obsah - modul se do stránky nacpe celý a nikoho tam nepustí.
  • 5 - PAGE_MODULE - samotná stránka, částečný obsah - modul je do stránky pouze vložen a musí strpět i další moduly. Nejčastější případ.
  • 6 - PAGE_VARIANT - vlastně modul jako editor proměnných dalších modulů v závislosti na vnějších podmínkách.

Přidání a odebrání modulů v administrační části

Tohle je (zatím) ještě blbější, než přidávání a odebírání v prezenční části. A lze taktéž nadělat více škod. Prostě je potřeba najít šablonu s menu a modul podle dalších do ní přidat. Zároveň je třeba modul nakopírovat k ostatním, přidat jeho knihovny a volající soubor. Odebrání je zase jen o mazání.

Programátorův přístup

Každá modul je vlastně samostatná třída s hlavičkou. Je předem daným způsobem seskládán do stromu v modulech. Má možnost využívat jak základní věci poskytované jádrem dané části, tak i dalšími moduly. Připojení se liší v závislosti jestli jde o část prezenční nebo administrační.

kwcms{mailchar}kalanys.com