Supervizor je aplikace na vizualizaci výdajů státní správy, kterou vytvořili pracovníci Ministerstva financí České republiky. Uvítáme další použití i úpravy/opravy zdrojového kódu, proto ho dáváme k dispozici pod licencí GNU GPL v3
//mysql
- soubory pro tvorbu databázové struktury
//www
- zdrojové kódy aplikace
//www/app
- jádro aplikace
//www/app/api
//www/app/import
- třída FakturyImport a Mappingové soubory pro import
//www/app/lib
- PHP knihovny
//www/app/tmp
- dočasné soubory
//www/config
- statická nastavení aplikace
//www/include
- šablony pro generování výstupu
//www/static
- statické veřejné soubory
- nastavení vizualizace se provádí v souborech ve složce //www/config
- šablona nastavení je ve složce //www/config-vzor
- nastavení importu a napojení jednotlivých polí je popsán v sekci Mapping
- zde se nastavují základní parametry, jako jsou hesla a cesty k vizualizaci
- v drtivé většině případů by mělo stačit nastavení hesla do databáze a hesla importu
- Pro uložení více organizací a let jsou zvoleny identifikátory profil a dataset
- Tyto údaje se nastavují v souboru
//www/config/profiles.json
ve formátu JSON - Soubor obsahuje JSON objekt kde jednotlivé názvy vlastností jsou identifikátory profilů a obsahem jsou objekty reprezentující profily
- Objekt profilu má následující vlastnosti:
(string) title
- název datasetu k zobrazení(object) datasets
- objekt kde jednotlivé názvy vlastností jsou identifikátory datasetů (unikátrní v rámci profilu) a obsahemn jsou objekty reprezentující datasety(string) entity
- Název subjektu, který se zobrazuje jako odběratel(string) entity_desc
- Kontaktní údaje subjektu které se zobrazují jako odběratel (lze použít \n pro nový řádek)
- Objekt datasetu má následující vlastnosti
(string) title
- název datasetu k zobrazení(string) endpoint
- url adresa odkazující na metadata datové sady katalogu (použito pro Mapping)(string) database
- název databáze pro uložení dat(string) mapping
- identifikátor Mappingu(string) source_name
- název datového zdroje k zobrazení(string) source_url
- url datového zdroje jako odkaz pro uživatele
##Import
- Součátní aplikace je automatický mechanismus na import faktur z CSV souborů.
- Proces, jakým probíhá napojení jednotlivých polí je popsán v sekci Mapping
- Vytvořením Mappingu pro váš formát faktur definujete napojení polí faktury v CSV zdroji na pole v databázi Supervizoru
- Který Mapping se použije se nastaví v souboru profiles.json
- Mapping je PHP soubor ve složce
//www/app/import
s názvemFakturyMapping_XXXX.php
, kde XXXX je identifikátor Mappingu - Soubor obsahuje třídu
FakturyMapping_XXXX
(stejný identifikátor), která implementuje rozhraníIFakturyMapping
- Třída
FakturyMapping_XXXX
:- metoda
getTimestamp()
- vrátí datum a čas poslední aktualizace dat na datovém zdroji ve formátu UNIX time - metoda
setSource( (string) $source )
- nastaví zdroj dat; jako parametr dostane údaj endpoint z objektu datasetu v profiles.json - metoda
import( FakturyImport $fi )
- provede import zápis do databáze provádí pomocí metod insertRow() a insertRows() dodaného objektu třídyFakturyImport
- metoda
- Třída
FakturyImport
:- metoda
insertRow( (array) $row )
- metoda kterou se vloží jedna faktura do databáze
- parametrem je pole, kde klíče jsou názvy položek databáze
- array( pole1 => hodnota1, pole2 => hodnota2, ...)
- metoda
insertRows( (array) $rows )
- metoda kterou se vloží více faktur do databáze v rámci jedné žádosti
- parametrem je pole polí, kde klíče jsou názvy položek databáze
- array(0 => array( pole1 => hodnota1, pole2 => hodnota2, ...))
- metoda
- uživatelské rozhraní se nachází na adrese /...cesta k supervizoru.../import
- jako heslo se používá heslo jehož otisk je uložen v //www/config/constants.php v hodnotě IMPORT_PASSWORD_MD5
- zbytek je návodný