ColorBox2 Framework — specifikace
Základni součásti
- hlavičkové soubory tříd a knihovna s jejich implementací
- program pro překlad modifikovaných uživatelských zdrojových souborů do binární podoby (just-in-time překladač)
- modul webového serveru pro spouštění binární podoby uživatelských zdrojových souborů
- ukázkové zdrojové soubory a šablony demonstrující způsob využití tříd, vytváření vhodných odvozených tříd apod.
- dokumentace
Třídy (Dialog API, Visual Template Layer)
Hlavní třídy
- CB2Class (hierarchický předek všech tříd frameworku)
- CB2Application (hlavní třída aplikace, implementující analogii smyčky událostí)
- CB2ApplicationElement (podprvek aplikace, metoda události nebo widget)
- CB2Event (generická třída callbacku události)
Widgety (Common Controls)
- CB2Form, CB2FormElement (formulář)
- CB2Button, CB2ListBox, CB2InputBox (vstupní widgety formuláře -- tlačítka, listboxy, inputboxy apod.)
- CB2Menu (menu)
- CB2TreeMenu (menu v podobě rozbalovacího stromu)
- CB2Paragraph (textový odstavec)
- CB2Image, CB2ImageDS (genericky renderovaný obrázek, obrázek z datového zdroje)
- CB2Layout, CB2Spacer (logická definice vzhledu aplikace, rozmístění widgetů)
Logické třídy (Common Dialogs)
- CB2RichEditor (implementace WYSIWYG HTML editoru s použitím příslušných vlastností Internet Exploreru a Mozilly)
- CB2RelationEditor (editor relací v tabulce definované svým datovým zdrojem a formátem, umožnující stránkovaně procházet záznamy, třídit seznam, přidávat nové záznamy, editovat a mazat existující)
Pomocné třídy
- CB2DataSource, CB2DSMySQL, CB2DSFlatFile, CB2DSCSV, CB2DSXML (generický zdroj relačních dat, zdroj dat z databáze MySQL, z plochého souboru, z CSV souboru a XML souboru)
- CB2String, CB2Text (reprezentace řetězce a manipulace pomocí regulárních výrazů, manipulace s rich-textem)
- CB2Template (engine pro generování výstupu na základě externích šablon)
Just-in-time překladač
- jednoduchý systém reprezentující, z jakých zdrojových souborů (a hlavičkových souborů) se skládá daná webová aplikace
- kontrola aktuálnosti (resp. existence) binární podoby a případný inkrementální překlad novějších zdrojových souborů (s přihlédnutím k závislostem)
- samostatné řízení překladu a linkování s knihovnou frameworku, kontrola chyb překladu jednotlivých závislostí
Modul webového serveru
- převzetí a zpracování HTTP požadavku, kontrola existence odpovídající aplikace, zavolání just-in-time překladače
- převod vstupních GET a POST parametrů na formát používaný frameworkem
- spuštění binární podoby jako samostatného podprocesu (volitelně s právy jiného uživatele), průběžné zpracovávání výstupu
- kontrola chyb
Ukázky
- demonstrace obsluhy událostí. datových zdrojů a widgetů v jednoduché webové aplikaci pro správu publikačního systému, včetně autorizace
- demonstrace využití třídy CB2RelationEditor a CB2RichEditor jako editačního nástroje jednoduchého publikačního systému
- demonstrace využití logické definice vzhledu a šablon pro veřejnou část publikačního systému