Nápověda ProMuS

Obsah:

  1. Úvod
  2. Požadavky
  3. Nová instalace
    1. Stručný návod (pro člověka zkušeného v php skriptech)
    2. Podrobný návod (včetně běžných problémů)
    3. Instalace - samostatný počítač
  4. První přihlášení
  5. Import dat
  6. Vložení obrázků
  7. Nastavení vzhledu a chování
  8. Bezpečnost
  9. Formát souborů pro import
  10. Ovládání převaděče dat z MS Access
  11. Časté problémy

1. Úvod

ProMuS (Prohlížeč Muzejních Sbírek) je nástroj (sada skriptů) pro prezentaci dat uložených v podobě databázových tabulek. K jejich prohlížení pak slouží téměř jakýkoliv internetový prohlížeč. Data lze takto vystavovat a prohlížet jak na samostatném izolovaném počítači, tak na lokální síti, nebo (nejčastěji) na internetu.

ProMuS byl vytvořen pro muzea a galerie, ale je postaven natolik obecně, že se neomezuje jen na tabulky dané struktury, jen na data z určitých databázových aplikací, jen na muzejní sbírky, ale umožňuje vystavit prakticky jakákoliv data uložená v podobě tabulek. ProMuS je postaven tak, aby byl jednoduchý, snadno modifikovatelný, a přitom pokud možno bezpečný. Jediným "problémem" může být jeho instalace.

Je nutno si uvědomit, že prostředí internetu je poměrně dost odlišné od toho, na co jsou uživatelé operačního systému Microsoft Windows zvyklí. Není zde tedy žádný "setup.exe", který vše instaluje a spustí. Instalaci by měl provádět člověk zodpovědný za WWW stránky. Každý server je unikát, proto bude pravděpodobně instalování občas vyžadovat jistou dávku "lidové tvořivosti".

2. Požadavky

ProMuS ke své činnosti potřebuje WWW server s podporou php 4 a vyšší. Dále potřebuje databázový server MySQL nebo PostgreSQL, ve kterém budou uložena data.

3. Instalace

Poznámka pro majitele první verze: Žádný upgrade není, smažte ProMuS i data a instalujte novou verzi.
Princip opakovaného nahrávání kompletních čerstvých dat to umožňuje a výrazně upravený systém nastavování parametrů to vynucuje.

3.1. Instalace - stručný návod (pro člověka zkušeného v php skriptech)

  1. V souboru settings.php nastavte proměnné pro připojení k databázovému serveru.
  2. Zkopírujte soubory na server do libovolně pojmenovaného podadresáře toho adresáře, který máte nastaven pro webový server. (V dalším předpokládáme, že jste podadresář pojmenovali promus.)
  3. Nastavte práva adresářů promus/tmp a promus/thumbnails tak, aby do nich mohly zapisovat PHP skripty (nastavení práv např. na 0666, nebo 0777).
  4. Spusťte www prohlížeč a zadejte adresu váš server/promus/install.php (např. www.mzm.cz/promus/install.php)
  5. Pokud nedošlo k žádné chybě, smažte soubor install.php ze serveru.
  6. Spusťte www prohlížeč a zadejte adresu váš server/promus. Pokud se nezobrazí úvodní stránka, přidejte v nastavení vašeho webového serveru default_page index.php
  7. Pokud je vše OK, můžete přistoupit k importu dat a nastavování ProMuSu

3.2. Instalace - podrobný návod

  1. Zkontrolujte, zda máte přístup (právo zápisu) k vašemu www serveru - buď pomocí ftp (scp) nebo přímo jako adresář (disk) na vašem počítači. Dále zkontrolujte, zda máte přístup k databázovému serveru.
    Pokud máte vlastní server (sami si ho správcujete), vytvořte si novou databázi (nazvěte ji např. promus) a uživatele s právy pro vytváření tabulek, zápis, mazání a upravování dat (podrobnosti najdete v manuálu vašeho databázového serveru).
    Pokud máte placený webhosting na nějakém komerčním serveru, najděte si smlouvy s providerem, a ujistěte se, že máte zaplacenou i databázi. Pokud ano, opište si jméno serveru, jméno databáze, jméno uživatele a heslo. Pokud ne, kontaktujte vašeho providera.
    Poznámka ke kódování češtiny:
    ProMuS 1.1 byl testován s databází MySQL. Databázové prostředí MySQL od verze 4.1 podporuje různé kódování stránek a to nejen na úrovni databázového serveru, ale i na úrovni jednotlivých databází, tabulek a sloupců. Doporučujeme při založení databáze promus nastavit porovnávání utf8_czech_ci. Zapracovali jsme požadovanou syntaxi pro toto porovnávání i do převaděče dat z Accessu, do výstupního textového souboru popisujícího strukturu tabulky zapisuje i požadavek na UTF-8 kódování. Podrobněji. V kódování UTF-8 by pak přirozeně měl být i textový soubor s daty. Můžete jej snadno konvertovat i dodatečně, například pomocí volně šiřitelného editoru PSPad.
  2. Zkopírujte z CD adresář promus kamkoliv na disk vašeho počítače. Zrušte u všech souborů atribut Jen pro čtení (ReadOnly).
  3. Pomocí vhodného textového editoru (vhodný je ten, který pracuje s čistým textem bez formátování - Poznámkový blok JE vhodný, Microsoft Word NENÍ vhodný) najděte a otevřete ve zkopírovaném adresáři soubor settings.php. Přepište v něm údaje (jméno databázového serveru,...), které máte z kroku 1.
  4. Zkopírujte celý adresář promus na server. Můžete ho pojmenovat jakkoliv, pro jednoduchost nápovědy předpokládáme, že mu ponecháte jméno promus. Stránky pak budou mít adresu adresa vašeho serveru/promus, tedy například www.mzm.cz/promus. Při kopírování je potřeba dát pozor na velká a malá písmena v názvech souborů a adresářů, všechna by měla být malá.
  5. Nastavte práva adresářů promus/tmp a promus/thumbnails tak, aby do nich mohly zapisovat PHP skripty (nastavení práv např. na 0666, nebo 0777). Pokud máte placený webhosting a nevíte, zda k tomuto úkonu máte oprávnění, kontaktujte poskytovatele Vašeho webhostingu.
  6. Spusťte www prohlížeč a zadejte adresu váš server /promus/install.php (např. www.mzm.cz/promus/install.php).
  7. Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte ze serveru soubor install.php.
    Možné chyby:
  8. Spusťte www prohlížeč a zadejte adresu váš server/promus. Pokud se nezobrazí úvodní stránka, přidejte v nastavení vašeho webového serveru výchozí stránka (default page) index.php (podrobnosti v manuálu vašeho www serveru).
  9. Pokud je vše OK, můžete přistoupit k importu dat a nastavování ProMuSu.

3.3. Instalace - samostatný počítač

Pozor, pokud chcete testovat či provozovat ProMuS na lokálním počítači, neměl by být připojen k síti, která je připojena k Internetu. Má to dva důvody:
Bezpečnost - kvůli ProMuSu instalujete vlastně www server, ale bez zabezpečení. Se znalostí IP by se do něj šlo zvenku dostat.
Funkčnost - ProMuS používá adresu http://localhost, ta může být na lokální síti mapována jinam. Stává se to u větších sítí.
  1. Instalujte program Vertrigo Server (obsahuje www server Apache s nakonfigurovaným php, databázi MySQL). Instalační program vertrigo_221.exe je na instalačním CD ProMuSu, nebo si ho stáněte z http://sourceforge.net/project/showfiles.php?group_id=113444&package_id=124542&release_id=612397.
    Instalace vytvoří adresář c:\VertrigoServ (ujistěte se předem, že už na disku takový nemáte) a naplní ho potřebnými programy.
  2. Spusťte Vertrigo Server
    Server musí běžet vždy po celou dobu prohlížení stránek (samozřejmě někde na pozadí).
  3. Spusťte www prohlížeč a zadejte adresu http://localhost/phpmyadmin
    Formulář nabízí Vytvořit novou databázi, v dalším předpokládáme, že jste ji nazvali promus, klepněte Vytvořit.
    Následující formulář potvrzuje vytvoření databáze a nabízí vytvoření tabulek, nic nevytvářejte.

  4. Poznámka ke kódování češtiny:
    ProMuS 1.1 byl testován s databází MySQL. Databázové prostředí MySQL od verze 4.1 podporuje různé kódování stránek a to nejen na úrovni databázového serveru, ale i na úrovni jednotlivých databází, tabulek a sloupců. Doporučujeme při založení databáze promus nastavit porovnávání utf8_czech_ci. Zapracovali jsme požadovanou syntaxi pro toto porovnávání i do převaděče dat z Accessu, do výstupního textového souboru popisujícího strukturu tabulky zapisuje i požadavek na UTF-8 kódování. Podrobněji. V kódování UTF-8 by pak přirozeně měl být i textový soubor s daty. Můžete jej snadno konvertovat i dodatečně, například pomocí volně šiřitelného editoru PSPad.
  5. Zkopírujte z CD adresář \promus včetně jeho obsahu do c:\VertrigoServ\www (v dalším předpokládáme, že jste mu ponechali jméno promus).
    Zrušte u všech souborů atribut Jen pro čtení (ReadOnly).
    Soubor c:\VertrigoServ\www\promus\settings.php je potřeba změnit (i pokud jste databázi nechali jméno promus), nastavte login na "root" a pwd na "vertrigo".
    ($db="promus", $server="localhost", $login="root", $pwd="vertrigo", $dbt="mysql")
  6. Spusťte www prohlížeč a zadejte adresu http://localhost/promus/install.php)
    ProMuS si sám vytvoří pracovní tabulky apod.
  7. Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte soubor c:\VertrigoServ\www\promus\install.php.
    Možné chyby:
  8. Spusťte www prohlížeč a zadejte adresu http://localhost/promus
    Pokud se nezobrazí úvodní stránka, přidejte v nastavení webového serveru výchozí stránka (default page) index.php.
  9. Pokud je vše OK, můžete přistoupit k importu dat a nastavování ProMuSu.
    Místo váš server/promus použijete vždy localhost/promus.
    Pamatujte, že musíte vždy napřed spustit Vertrigo Server.

4. První přihlášení

Spusťe www prohlížeč a zadejte adresu váš server/promus. Objeví se úvodní obrazovka ve výchozí podobě. Později si můžete všechny texty na této stránce (stejně jako v celé uživatelské části) nastavit podle přání (můžete používat html tagy). Nyní klepněte vlevo dole na Vstup pro správce.
Objeví se přihlašovací dialog. V něm zadejte Login: admin, Heslo: promus.
Po přihlášení se vám zobrazí výzva ke změně hesla. Heslo si určitě změňte, zadejte řetězec bez diakritiky. Malá a velká písmena se rozlišují. Po změně hesla (ať již byla úspěšná či nikoli - pokud ne, vyberte položku z menu "Změnit heslo" a heslo si změňte) se zobrazí hlavní menu.
Další postup doporučujeme tento:

  1. Kliknutím na "Vložit uživatele" si vytvořte dva nové uživatele - jednoho "správce" a jednoho "uživatele" (musí mít rozdílné loginy). Správce má právo měnit společná nastavení celého ProMuSu, přidávat a rušit vystavované tabulky, uživatel může jen měnit vzhled a data jím "vlastněné" tabulky.
  2. Odhlašte se (kvůli bezpečnosti vždy volbou "Odhlásit se" !!!), přihlašte se jako nově vytvořený správce a smažte uživatele admin (položka Smazat uživatele)
  3. Importujte data, viz samostatná kapitola
  4. Nastavte všechny texty a položky v tabulkách podle svých představ, viz samostatná kapitola

5. Import dat

Pro import dat se používají dva textové soubory, jeden obsahuje popis struktury tabulky a druhý obsahuje samotná data. Formáty obou jsou voleny tak, aby se daly bez problémů vytvořit exportem z libovolné databáze, popřípadě i ručně. Popis formátu.
Jak tyto textové soubory vytvoříte?

Jakmile budete mít tyto dva textové soubory, zvolte v menu položku "Vložit novou tabulku". Objeví se formulář, kde v jednom poli zadáte plnou cestu k souboru se strukturou (pokud jste použili převaděč a neměnili nastavení, tak se jmenuje create.txt a nachází se ve stejném adresáři jako zdrojová databáze), k jeho nalezení můžete použít tlačítko Procházet (Browse). Dále musíte vyplnit název tabulky - může obsahovat jen písmena bez diakritiky, čísla a podtržítka. Jde zde o interní jméno pro potřeby ProMuSu, jméno zobrazované návštěvníkům nastavíte později i s diakritikou a mezerami. Jako vlastníka tabulky doporučujeme zvolit uživatele bez administrátorských práv (kvůli bezpečnosti).

Když se povedlo tabulku vytvořit, můžete ji naplnit daty. K tomu slouží položka menu "Aktualizovat data v tabulce". Zobrazí se seznam tabulek, které uživatel vlastní (správci se zobrazí všechny tabulky). Po zvolení tabulky se objeví formulář, vyplňte jméno souboru s daty (převaděč implicitně vytvořil insert.txt). Zaškrtávací pole slouží k vyprázdnění tabulky při pozdější aktualizaci dat.
Je třeba si uvědomit, že plnění tabulek daty znamená přenos velkého objemu dat. Proto je možné, že dojde k vypršení časového limitu (timeout) skriptu - server ukončí (kill) skript dříve než stihne provést celý import. Buď můžete timeout prodloužit (nastavením vašeho serveru), nebo importovaná data rozdělit do několika menších souborů a ty pak importovat postupně. (Převaděč dat z Accessu umí data dělit podle přání.) Vhodnou velikost částí musíte zjistit pokusně, závisí na mnoha okolnostech (kvalita internetového spojení, složitost datových řádků, atd.). Pro zjištění maximálního počtu záznamů v jedné dávce doporučujeme tento postup:
1. Jako běžný návštěvník si v ProMuSu otevřete dotyčnou tabulku.
2. Vedle toho jako správce v ProMuSu zadejte Aktualizovat data.
3. V okně běžného návštěvníka opakovaně volte Aktualizovat stránku, zobrazený celkový počet záznamů ukazuje, co se již podařilo uložit. Až do momentu havarie.
Data budete v budoucnu podle potřeby stejným způsobem aktualizovat, nahrazovat novou verzí dat.
Někdy není nutné přenášet celý objem dat, postačí jen doplňovat nově zapsané záznamy - při exportu z originální databáze musíte správně vyfiltrovat, které to jsou, při importu musíte vyřadit mazání dosavadních dat.
Pro odstraňování záznamů nabízí ProMuS dvě možnosti:
Odstranit vyfiltrované ... se hodí tehdy, dokážete-li je nastavením vhodné podmínky hromadně vyfiltrovat,
Odstranit označené ... se hodí na jednotlivé případy, které rychleji najdete a zaškrtnete ručně.

6. Vložení obrázků

ProMuS je schopen zobrazovat ke každému záznamu v tabulce jeden nebo i několik obrázků, každý ze samostatného souboru v libovolném z běžných formátů (jpg, gif, tif, bmp). V jednom políčku tabulky musí být názvy těchto obrázkových souborů. Mohou být s celou cestou (platnou či neplatnou) nebo jen holé, důležité je, aby obsah končil jménem souboru. V případě, že jednomu záznamu v tabulce odpovídá více obrázků, musí být jejich jména (cesty) odděleny středníky. (Demus toto splňuje při exportu "WWW" a "kolotoč".)
Dále je potřeba nahrát obrázky na server. Uděláte to stejně jako jste tam nahráli vlastní ProMuS. Obrázky doporučujeme nahrát do libovolného (např. nově vytvořeného) podadresáře v adresáři, kam jste umístili ProMuS.
Pokud nahrajete všechny obrázky do jediného podadresáře (doporučujeme), tak v Nastavení tabulky zaškrtněte Ignorovat cestu. Máte-li však více stejnojmenných obrázků (z různých adresářů, z různých CD), tak je nelze dát do společného podadresáře na server. Rozdělte je do více podadresářů a v Nastavení tabulky nechte políčko Ignorovat cestu nezaškrtnuté. Musíte ovšem zajistit, aby v datech v poli Obrázek před názvem obrázku byl správně uveden název podadresáře (jen podadresáře, ne kompletní cesta). Situaci lze řešit hromadnou úpravou v exportovaných datech.
Další problém jsou samotná jména souborů. Neměla by obsahovat znaky s diakritikou a mezery, jinak je více než pravděpodobné, že zobrazování na internetu nebude fungovat (to je však záležitost internetu a serverů, ne ProMuSu). Raději soubory přejmenujte, viz předchozí odstavec.
Před kopírováním obrázků je vhodné zkontrolovat jejich velikost. Rozlišení v pixelech by nemělo přesáhnout cca 640*480 pixelů. Velikost souborů s obrázky by neměla překračovat 50 kB. Pokud máte obrázky příliš velké, můžete je hromadně zmenšit, například pomocí programu Easy Thumbnails, který je pro nekomerční použití zdarma. Tento program je vyvíjen a vlastněn firmou Fookes Software a je dostupný na www.fookes.com, nebo jej lze instalovat z CD ProMuS.
Poslední, co je potřeba udělat je nastavit podle následující kapitoly příslušné parametry pro zobrazování tabulky.

7. Nastavení vzhledu a chování

Snažili jsme se ProMuS udělat co nejvíce otevřený, prakticky vše kromě základního rozvržení se dá nastavit. Nastavení se dá rozdělit na dvě základní oblasti:

  1. Nastavení všeobecných textů a vlastností
  2. Nastavení jednotlivých tabulek
Všeobecná nastavení může upravovat pouze správce, volbou menu "Editovat všeobecná nastavení". Ve všech textech je možno používat tagy html. Můžete například do úvodního textu přidat obrázky (<img src="adresa obrázku">). Pokud html neumíte, doporučujeme např. rychlokurz na stránce Jiřího Koska. Není to však nezbytně nutné.
Nastavují se zde zejména obecné texty v uživatelské části, maximální počet polí podle kterých lze vyhledávat a řadit, atd. Lze také nastavit šířku, kterou bude ProMuS zabírat v okně prohlížeče a to buď jako počet pixelů (pro obrazovku 800x600 volte 760) nebo jako procento celkové šířky (např. 90%).
Nevyplněné nadpisy nebudou zabírat žádné místo.
Do úvodního textu můžete dát i něco jako nápovědu, např. upozornění, že špatnou češtinu si návštěvník může spravit nastavením kódování UTF-8 v prohlížeči.
Pokud jste vyznavači CSS, upravte si soubor style.css, najdete ho v kořenovém adresáři ProMuSu.
Máte-li více tabulek, tak všeobecná nastavení se uplatní shodně pro každou z nich, snadno tak udržíte jednotný styl. Toužíte-li po různé podobě tabulek, tak řešením je další instalace ProMuSu, do jiného adresáře na www serveru, tj. s jinou www adresou.

Nastavení jednotlivých tabulek se provádí volbou menu "Editovat nastavení tabulky". Po zvolení tabulky se zobrazí formulář, v jehož horní části jsou nastavení platná pro celou tabulku, v dolní části pak pro jednotlivá pole. V zásadě mohou být tabulky trojího typu:

  1. Normální datové tabulky, slouží k prezentaci jejich obsahu. Příklad - Sochy.
  2. Skryté slovníkové tabulky - slouží jen v nabídkových roletkách při vyhledávání. Příklad - Materiály.
  3. Obojaké tabulky - slouží v obou rolích. Příklad - Seznam muzeí.

Zobrazovat tabulku - slouží k odlišení tabulek nabízených návštěvníkům k prohlížení, od tabulek skrytých, pomocných, nejčastěji slovníkových, viz dále.
Parametry tabulky - sem zadejte formátovací příkazy pro celou tabulku - např. width=100% roztáhne tabulku na celou šířku aplikace (doporučujeme)
Parametry záhlaví - určují jak bude vypadat řádek s nadpisy jednotlivých polí
Barva pozadí ... řádků - obvykle se zadává jako #rrggbb, kde rr gg bb jsou dvojčíslí v šestnáctkové soustavě (00 až ff) vyjadřující složky barvy červená, zelená, modrá. Mnoho grafických editorů vám tuto hodnotu u výběru barvy řekne. Slušně vypadají např. dva odstíny šedé: #dddddd a #eeeeee.
Počet zobrazených řádků - určuje, kolik záznamů tabulky se bude posílat a zobrazovat v jedné dávce. Čím méně, tím rychlejší načítání, ale o to častější. Vhodným kompromisem je 20.
Název tabulky - Pod tímto jménem se bude tabulka zobrazovat, diakritika a mezery jsou povoleny. Pokud není vyplněno, použije se název zadaný při importu.
Vlastník tabulky - Právo měnit nastavení a obsah tabulky má jen uživatel uvedený zde (a správce). Změnou v tomto poli toto právo ztratíte, předáte jinému uživateli.
Implicitní řazení - Výchozí řazení záznamů v tabulce. Uplatní se dokud si návštěvník nezadá jiné řazení. Pomocí tlačítka Plus lze nastavit řazení podle více sloupců.
Abecední index - Je-li zaškrtnuto, objeví se při implicitním řazení nad tabulkou boxy s písmeny abecedy pro rychlý skok na první záznam s tímto písmenem. Bere se jen první sloupec implicitního řazení; je žádoucí, aby obsahoval textové hodnoty.

Používat jako slovník a Slovníkový sloupec - Chcete-li, aby při hledání v jiné "datové" tabulce se v nabídkové roletce u některého pole objevovaly hodnoty z této tabulky, tak ji zde musíte prohlásit za slovník a určit sloupec s žádanými hodnotami. (Při nastavování datové tabulky pak ještě jméno slovníkové tabulky uvedete u dotyčného pole do kolonky Slov.vyhl.) Hodnoty budou v nabídkové roletce řazeny podle implicitního řazení, takže chcete-li roletku řazenou abecedně, zadejte Implicitní řazení a Slovníkový sloupec shodně, chcete-li řazení roletky jiné (tématické, logické), tak do Implicitní řazení zadejte sloupec obsahující vhodně nastavená pořadová čísla.
Používat jako slovník - Zaškrtnutím povolíte zobrazit hodnoty ze zvoleného sloupce (zvolíte jej o řádek níže) této tabulky v nabídkové roletce pro vyhledávání v jiné tabulce, říkejme jí datová. V datové tabulce ještě musíte u příslušného sloupce nastavit tuto slovníkovou tabulku do políčka Slov.vyhl.
Slovníkový sloupec - zvolte sloupec s hodnotami pro nabídkovou roletku pro vyhledávání v jiné, datové tabulce. Hodnoty budou v nabídkové roletce řazeny podle implicitního řazení, takže chcete-li roletku řazenou abecedně, zadejte v implicitním řazení tentýž sloupec, chcete-li řazení roletky jiné (tématické, logické), tak jako implicitní řazení zadejte sloupec obsahující vhodně nastavená pořadová čísla.

Chcete vystavovat i obrázky?
Zaškrtněte Používat obrázky, do Adresář s obrázky zadejte cestu ke složce, kam jste obrázky nahráli. Může být relativní (uvozená tečkou). Pokud jste např. obrázky nahráli na server do podadresáře ProMuSu pojmenovaného Obr, pak do tohoto pole zadejte ./Obr/ (včetně tečky a lomítek, pozor na velká/malá písmena).
Pole s obrázky - vyberte pole, v němž jsou jména souborů s obrázky (v datech z Demusu to je pole Dokument).
Pokud jste jako zdroj dat použili některý z exportů Demusu, kde je uvedena celá cesta k obrázku, zaškrtněte políčko u Ignorovat cestu.
První obrázek ke každému záznamu se může v detailu záznamu zobrazovat vpravo od textu (je-li obrázek přiměřeně malý), nebo pod textem. Nastavíte to zaškrtávacím políčkem První obrázek vedle textu (detail). Případné další obrázky jsou vždy až pod textem.

ProMuS podporuje zobrazení přehled - detail. Co to znamená?
Přehled je klasické stručné tabulkové zobrazení více záznamů, případně s malými náhledy.
Detail je podrobné zobrazení jediného záznamu, případně i s obrázky. Náhledy pro přehled si z původních obrázků vytvoří ProMuS automaticky.
Počet náhledů v přehledu - maximální počet pro jeden řádek. Čím méně, tím svižnější bude načítání.

Dolní část formuláře popisuje jednotlivá pole z tabulky. Pro každé pole (z pohledu návštěvníka ProMuSu je to sloupec v přehledu nebo pole v detailu) je zde jeden řádek. Výběr a pořadí polí pro přehled a pro detail nastavíte celkem jednoduše pomocí kolonek Přehl. a Poř., resp. Det. a Poř..
Přehled by měl obsahovat jen pole (sloupce) nejvýznamnější pro vyhledávání a řazení.
Detail může obsahovat všechna pole, každé bude na samostatném řádku - jiné rozvržení ProMuS nepodporuje.
Kolonka Obr. je určena k zaškrtnutí polí, které chcete zobrazit v okně s obrázkem (návštěvník si je vyvolá klepnutím na náhled v přehledu tabulky). Pole se zobrazují v pořadí, které bylo zvoleno pro detail záznamu. Doporučujeme zobrazovat jen 2 – 3 základní pole.
V kolonce Nadpis pole můžete nastavit srozumitelnější názvy polí, s diakritikou a mezerami. Názvy budou shodné pro přehled i detail. Nevyplníte-li nic, vezme ProMuS skutečné jméno pole z tabulky.
Pole, která nebudete zobrazovat nikdy (prázdná, nezajímavá, nebo naopak nezveřejnitelně zajímavá), raději vůbec na www server nedávejte, tj. neexportujte je z originálních dat do textových souborů. Převaděč z Accessu takovou selekci nabízí.

ProMuS umožňuje označit některá pole jako "citlivá" a navázat na ně nějakou akci. Návštěvník klepnutím na citlivé pole akci spustí. Nejobvyklejší akce jsou:

  1. Přechod z přehledu na detail v téže tabulce, např. z přehledu předmětů na podrobný popis zvoleného předmětu.
  2. Přechod z přehledu jedné tabulky na filtrovaný přehled jiné tabulky, např. z přehledu muzeí na přehled předmětů zvoleného muzea.
  3. Vytvoření e-mailu na adresu z tabulky, např. z přehledu muzeí na adresu zvoleného muzea.
  4. Přechod na www adresu z tabulky, např. z přehledu muzeí na www stránku zvoleného muzea.
  5. Přechod na pevnou www adresu s předáním hodnoty z tabulky, např. z přehledu osob na hledání zvoleného jména Googlem, tj. vlastně propojení na všechny výskyty kdekoliv na internetu.
Lze označit více "citlivých" polí, lze spouštět tutéž akci z více polí, ale nelze z jednoho pole spouštět více akcí. Označování polí je pro každý z uvedených případů poněkud jiné.

Ad 1: Přechod z přehledu na detail v téže tabulce: U každého pole, které má být citlivé, vyberte do kolonky Cíl. tabulka jméno aktuální tabulky, tj. té, kterou právě popisujete.

Ad 2: Přechod z přehledu jedné tabulky na filtrovaný přehled jiné tabulky: U každého pole, které má být citlivé, vyberte do kolonky Cíl. tabulka jméno cílové tabulky. Každé pole může odkazovat na jinou tabulku.
Dále u každého citlivého pole do kolonky Propojovací pole vyberte pole, jehož hodnota se má použít pro filtrování cílové tabulky. V uvedeném příkladě to může být zkratka muzea.
Pozor - předpokládá se, že i v cílové tabulce se propojovací pole jmenuje stejně (tzv. natural join).
(Minulá verze ProMuSu umožňovala přímý přechod z přehledu tabulky A na detail tabulky B, tato verze ProMuSu vnucuje mezikrok: přehled A - filtrovaný přehled B - detail B).

Ad 3: Vytvoření e-mailu na adresu z tabulky: U pole obsahujícího mailové adresy zaškrtněte kolonku Mail.
V poli by neměl být žádný jiný text, než jen platné mailové adresy.
Adres může být v poli i více, oddělujte je v datech čárkou.
Zaškrtnete-li současně Mail i WWW, neuplatní se ani jedno z toho.

Ad 4: Přechod na www adresu z tabulky: U pole obsahujícího www adresy zaškrtněte kolonku WWW.
V poli by neměl být žádný jiný text než jen platná webová adresa.
Zaškrtnete-li současně Mail i WWW, neuplatní se ani jedno z toho.

Ad 5: Přechod na pevnou www adresu s předáním hodnoty z tabulky: U pole, které má být citlivé, vložte do kolonky Jiný odkaz příslušnou adresu a do kolonky Propojovací pole vyberte pole, jehož hodnota se má k adrese přidat jako parametr, v uvedeném příkladě to bude pole se jménem osoby.
Vyhledávače vyžadují přesný tvar požadavku, pamatovat na to musíte už při tvorbě struktury tabulky:
Google: Propojovací pole se musí jmenovat q, do Jiný odkaz uveďte "http://www.google.com/search".
Seznam: Propojovací pole se musí jmenovat w, do Jiný odkaz uveďte "http://search.seznam.cz/search.cgi".
Odkaz musí být úplný, tj. včetně úvodního údaje o protokolu, obvykle "http://".
Jak již bylo uvedeno, není možné k jednomu poli zadat dvě akce, nelze tedy současně vyplnit kolonku Cíl. tabulka i kolonku Jiný odkaz.

Další nastavitelné parametry
Vysvětlivka - Obsah uvedeného pole se návštěvníkovi objeví ve vysvětlivkové bublině, takže například u pole pro číslo okresu sem nastavte pole (z téže tabulky!) se slovním názvem okresu.
Řaz. = Řazení a Vyhl. = Vyhledávání - zaškrtněte, pokud chcete, aby uživatel mohl řadit či vyhledávat podle tohoto sloupce
Rej. = Rejstříkové vyhledávání - Zaškrtnete-li, budou se návštěvníkovi pro vyhledávání v tomto sloupci nabízet všechny použité hodnoty, nebude muset zadávat hodnotu sám. Hodí se to tam, kde nelze předvídat, co v datech může být.
Slov.vyhl. = Slovníkové vyhledávání - Podobné jako rejstříkové vyhledávání, ale v nabídce budou jen hodnoty z vámi určené a vámi naplněné pomocné slovníkové tabulky. Hodí se to tam, kde tentýž omezující slovník používáte i při pořizování dat, např. seznam materiálů pro plnění pole Materiál. Nabídku slovníkových tabulek musíte předem sami definovat tím, že u každé zaškrtnete Používat jako slovník. Tj. v prvním kole označíte slovníkové tabulky a teprve potom budete nastavovat parametry "normálních" tabulek.
Je-li současně zaškrtnuto i Rejstříkové vyhledávání, tak se uplatní jen rejstříkové.

Barvu, typ písma a další parametry můžete nastavit pomocí html tagů v kolonce Tagy. Například šířku sloupce nastavíte width=x% jako procenta z celkové šířky tabulky. To má nepříjemný důsledek: prohlížeč uplatní největší z uvedených procent i v zobrazení detailu a zarovná na tuto (malou!) šířku všechna pole k pravému okraji. Předejdete tomu tím, že u nějakého pole, zobrazovaného jen v detailu, uvedete 90%.

8. Bezpečnost

Bezpečnost dat na internetu je vždy problém. Skutečně zabezpečený je jen vypnutý server. Zabezpečení ProMuSu jsme věnovali péči odpovídající jeho určení a povaze dat v něm uložených. Velký díl odpovědnosti za zabezpečení však nesete vy jako správce, jednak dodržováním pravidel popsaných níže, jednak správným nastavením vašeho serveru.

Laický pohled na možné důsledky útoku:
Útočník smazal data. Nahradíte je novým importem stejně jako při pravidelné aktualizaci.
Útočník si stáhl kompletní data. Nic tak zlého, stejně data vystavujete, jen si ušetřil spoustu práce s jejich skládáním. Doporučení: Při exportu dat na server vypusťte všechna pole s citlivými údaji.
Útočník změnil data (nahradil vaše data těmi, která si stáhl a modifikoval). To je asi to nejhorší, neboť se to nepozná na první pohled. Možné škody snížíte častou aktualizací.
Útočník změnil nastavení ProMuSu, například nastavil zobrazení skrytých polí. Prevence - citlivá pole na server vůbec nedávejte, viz výše.
Útočník vystavil další tabulky, jiná data. Jednoduše je odstraníte, změňte i heslo správce.

Technický pohled na možné způsoby útoku a popis opatření:
Útoky se dají rozdělit v zásadě do tří skupin.

  1. Útok pomocí prohlížeče na běžící aplikaci z "uživatelské části". Typicky SQL injection, atd. Všechny údaje odesílané pomocí formulářů a jiných proměnných v uživatelské části jsou kontrolovány pomocí regulárních výrazů. V této oblasti je tudíž riziko nejmenší.
  2. Útok pomocí nižších vrstev protokolu na "správcovskou část". Na úvod je třeba říci, že rizika vznikají pouze v době, kdy jste přihlášeni do administrace. Tedy, pokud si nainstalujete ProMuS, vložíte tam data a pak teprve rozešlete do světa příslušnou adresu, tak vyšší riziko hrozí až když se znovu přihlásíte a budete data aktualizovat.
    Jde o to, že všechna data jsou posílána přes protokol http v nezašifrované podobě. Pokud nějaký server, přes který data putují mezi vámi a vaším serverem, data odposlechne, může je zneužít dvojím způsobem.
    1. Může získat vaši session proměnnou, a tak "správcovat" současně s vámi, pod vaším jménem a s vašimi právy
    2. Může při přihlašování získat vaše heslo a uživatelské jméno v nezašifrované podobě.
    První problém je částečně řešen tím, že aplikace pokaždé kontroluje vaši IP adresu. Ta je jedinečná pro váš počítač (resp. váš server, pokud používáte proxy). Takže útočník z jiné IP má smůlu. Bohužel pokud se připojujete pomocí jistých druhů připojení (typicky u telefonního připojení), tak nemáte stálou IP adresu, a proto budete muset kontrolování vypnout (při přihlášení).
    Druhý problém, pokud je nám známo, systematicky dost dobře řešit nejde. Útěchou může být, že tato data jsou posílána pouze jednou, takže pravděpodobnost úspěchu útočníka je celkem malá. Dále je vhodné pro běžné správcování se přihlašovat jako uživatel s omezenými právy, útočník tak nadělá méně škod.
    Optimální řešení obou problémů nabízí SSL (Secure Socket Layer). Při této variantě přenosu jsou veškerá data šifrovaná, pro přenášení je použit protokol https. To je však záležitost nastavení vašeho serveru, kterou my nemůžeme příliš ovlivnit.
    Další "vylepšení" bezpečnosti může být to, že v adresáři /pages/ vymažete soubor admin.php - pak nepůjde správcovat vůbec. Někam jinam na server si nahrajete znovu kompletni ProMuS a budete správcovat pomocí něj (tuto adresu nikde nezveřejníte) - budete měnit data ve stejné databázi (stejné nastavení v settings.php), jen si budete muset dát pozor, kam kopírujete obrázky - samozřejmě do podadresáře "veřejného" ProMuSu. Vylepšení spočívá v tom, že útočník neví, kde ProMuS schopný administrace máte, tudíž je pro něj výrazně těžší se do něj nabourat.
  3. Útok z lokální sítě - tady můžeme těžko pomoci, jaký správce sítě, taková bezpečnost. Předpokládáme však, že hackeři se příliš často nerekrutují z řad muzejníků...

Na závěr několik obecných pravidel:

  1. Práci v administraci vždy ukončujte tak, že v menu vyberete Odhlásit se. Pak teprve zavřete prohlížeč, nebo přejděte na jinou stránku.
  2. Běžnou aktualizaci dat provádějte přihlášení jako "uživatel", správce používejte jen pro nutné úkoly.
  3. Vytvořte si uživatele s loginy jinými než "uživatel".
  4. Nevěřte nikomu, ničemu, mluvte potichu, stále se rozhlížejte, protože ONI sledují vše.

9. Formát souborů pro import

Oba soubory jsou prosté textové, nemají žádnou hlavičku ani patičku.

Soubor se strukturou má pro každé pole v tabulce jeden řádek podle standardu SQL. Každý řádek obsahuje název pole (sloupce), datový typ, kódování znaků (u textových polí) a případná integritní omezení. Oddělovačem těchto údajů je mezera.
Příklady:
id decimal(10,0) not null primary key
prijmeni varchar(20) character set utf8 collate utf8_czech_ci
krestni varchar(15) character set utf8 collate utf8_czech_ci
zivotopis text character set utf8 collate utf8_czech_ci
stav_uctu decimal (10,2)
Název pole může obsahovat jen alfanumerické znaky bez diakritiky a podtržítka (ne mezery!), jako datové typy můžete zadat libovolný typ podporovaný vaším databázovým serverem, doporučujeme však používat jen decimal(x,y), varchar(x) a text.
Názvy polí můžete proti originální tabulce pozměnit. Někdy je to velmi užitečné. Například k propojení více tabulek je nutné, aby odpovídající si pole se jmenovala stejně Jiný příklad: pokud chcete, aby se obsah pole používal do vyhledávače, tak pole musí mít předepsané jméno, pro Google "q", pro Seznam "w". Pro zobrazení pak můžete nastavit zase jiné jméno. Podrobněji o tom všem v kapitole Nastavení vzhledu a chování.

Soubor s daty má pro každý záznam jeden řádek. Pole jsou oddělena středníky, za posledním polem středník být nesmí, textová pole uzavřená do jednoduchých apostrofů (ASCII kód 39). Neuvedená hodnota mezi dvěma středníky (;;) se při importu interpretuje jako NULL.
Příklad (odpovídá příkladu struktury):
1;'Novák';'Jan';;15320,23

10. Ovládání převaděče dat z MS Access

Převaděč je na CD ProMuS v podobě souboru Prevadec.mdb.
Po jeho překopírování na váš disk mu zrušte atribut ReadOnly.
Převaděč spustíte prostým poklepáním.
Předpokládá se, že máte instalovaný MS Access 97 nebo vyšší.
Máte-li Access vyšší verze než 97, nabídne vám převod (formální úpravu Prevadec.mdb) do této verze. Povolte to.
Převaděč se přihlásí jednoduchým formulářem, klikněte na tlačítko "Otevři soubor".
Zvolte soubor mdb, ze kterého chcete exportovat data pro ProMuS.
V poli Tabulka vyberte tabulku k exportu.
Klikněte na tlačítko "Exportuj tabulku". Zobrazí se seznam polí v zadané tabulce.
Zrušte zaškrtnutí u těch polí, které nechcete exportovat.
Pomocí tlačítka "Nastavení exportu" můžete změnit jména dvou výstupních souborů (implicitně jsou nastavena jména "create.txt" (struktura tabulky) a "insert.txt" (data) v adresáři, kde se nachází zdrojový databázový soubor mdb).
Dále můžete zadat export jen části záznamů. To využijete u velkých počtů, když se nedaří jejich import na server v jediné dávce. Výchozí nastavení exportuje všechny záznamy najednou.
Tlačítkem "Exportuj" export spustíte. Při velkých databázích (>10 000 záznamů) může trvat řádově minuty. Po ukončení exportu můžete volit další tabulku z téhož nebo z jiného mdb souboru, nebo převaděč ukončit prostým zavřením celého okna.

11. Časté problémy

  1. Hláška Soubor nelze otevřít při pokusu o vytvoření tabulky. Může to nastat v případě, že na vašem serveru běží PHP v tzv. bezpečném módu (safe mode) a nemůže tedy otevírat soubory z dočasného adresáře.
    Řešení: ProMuS se pokusí soubory zkopírovat do svého podadresáře /tmp/. (Požádejte už při instalaci správce serveru, aby mu do tohoto adresáře povolil zápis.)
  2. Nezobrazuje se detail
    Řešení:Zvolte z menu Editovat nastavení tabulky a zkontrolujte zda alespoň na jednom řádku máte vyplněnu kolonku Propojovací pole a zda na tomtéž řádku v kolonce Odkaz na tabulku máte vyplněno jméno tabulky shodné s tím, co je v záhlaví formuláře.
  3. Nezobrazují se obrázky
    Máte vůbec v originálních datech nějaké pole obsahující jména souborů s příslušnými obrázky? (nejlépe jpg soubory)
    Při exportu z Demusu - Máte v jednotlivých záznamech i při exportu zaškrtnuto Exportovat? Volíte Export WWW nebo Kolotoč? Máte při exportu zaškrtnuto Exportovat a Na jiný počítač?
    Při použití Převaděče z Accessu - Máte zaškrtnutý export u pole se jmény obrázků?
    Máte to pole i v txt souborech s popisem a daty tabulky? Tj. vstupuje vůbec do ProMuSu?
    Máte na www serveru v jedné složce všechny tyto obrázky?
    Máte při nastavení tabulky tuto složku správně uvedenou (velká/malá písmena) v kolonce Adresář obsahující obrázky?
    Máte při nastavení tabulky vyplněnou kolonku Pole obsahující cestu k obrázkům?
    Máte v tomto poli v tabulce uvedena jména obrázkových souborů správně? Zaškrtněte si pro testování, že se to pole má v detailu zobrazit, a kontrolujte hlavně velká/malá písmena.
    Zobrazuje se vám detail? Obrázky ProMuS neukáže jinde, než pod formulářem detailu.
  4. Detail nejde zúžit na požadovanou šířku - asi máte obrázky příliš velké (počet pixelů).
    Řešení: Hromadně obrázky upravte např. pomocí Easy Thumbnails, viz kapitola Vložení obrázků.
  5. Filtr nenajde existující záznamy.
    Možná je citlivý na velká/malá písmen, je to dáno nastavením databázového serveru SQL a ProMuS to nemůže ovlivnit. Při databázi MySQL nastavené podle Návodu se problém nevyskytne.
  6. Po seřazení jsou položky s diakritikou až na konci seznamu.
    Toto je dáno nastavením znakové sady v databázi, stejně jako u předchozího problému. Při databázi MySQL nastavené podle Návodu se problém nevyskytne.
Nebudete-li vědět jak dál, napište nám na jpodolnikova@citem.cz nebo na citem@citem.cz.