html> ProMuS - Muzeum

Obsah:

  1. Úvod
  2. Požadavky
  3. 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
  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 isolované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 verze 3 (lépe 4) a vyšší. Dále potřebuje databázový server MySQL nebo PostgreSQL ve kterém budou uložena data.

3. Instalace

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. Spusťte www prohlížeč a zadejte adresu váš server / promus / install.php (např. www.mzm.cz/promus/install.php)
  4. Pokud nedošlo k žádné chybě, smažte soubor install.php ze serveru.
  5. 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
  6. 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.
  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. Spusťte www prohlížeč a zadejte adresu váš server / promus / install.php (např. www.mzm.cz/promus/install.php).
  6. Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte ze serveru soubor install.php.
    Možné chyby:
  7. 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).
  8. 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 PHPTriad (obsahuje www server Apache s nakonfigurovaným php, databázi MySQL). Instalační program phptriad2-2-1.exe je na instalačním CD ProMuSu, nebo si ho stáněte z http://prdownloads.sourceforge.net/phptriad/phptriad2-2-1.exe?download (pozor, 13,5MB).
    Instalace vytvoří adresář c:\apache (ujistěte se předem, že už na disku takový nemáte) a naplní ho potřebnými programy. Také zařadí start Apache do startovní sekvence Windows (vypnete to přes Start - Spustit - msconfig - Po spuštění - vypnout PHPGeek.util Apache).
  2. Pokud máte Windows 95, 98, Me, spusťte skript web_start.js. pokud máte Windows NT, 2000, XP, spusťte skript web_startnt.js
    Tento skript otevře černé DOS okno programu Apache a MySQL, dále spustí prohlížeč Internet Explorer. Máte-li jiný prohlížeč, změňte v souboru web_start.js (resp. web_startnt.js) na posledním řádku iexplore.exe na váš prohlížeč.
    Apache 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. Zkopírujte z CD adresář \promus včetně jeho obsahu do c:\apache\htdocs (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:\apache\htdocs\promus\settings.php není třeba měnit (pokud jste databázi nechali jméno promus).
    ($db="promus", $server="localhost", $login="", $pwd="", $dbt="mysql")
  5. Spusťte www prohlížeč a zadejte adresu http://localhost/promus/install.php)
    ProMuS si sám vytvoří pracovní tabulky apod.
  6. Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte soubor c:\apache\htdocs\promus\install.php.
    Možné chyby:
  7. 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.
  8. 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 web server Apache pomocí skriptu web_start.js, resp. web_startnt.js, můžete si ten skript umístit například na plochu.

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 takzvanému vypršení timeoutu skriptu - server ukončí (doslova zabije - kill) skript dříve než stihne provést celý import. Buď tedy můžete tento 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 aktualizovat (nahrazovat novou verzí) zopakováním celého postupu. Ve výjimečných situacích můžete jen doplňovat nově zapsané záznamy - při exportu z originální databáze musíte vědět, které to jsou, při importu musíte vyřadit mazání dosavadních dat.

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ů. Nezáleží na tom, zda je v políčku jméno souboru 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.
Problém nastane, máte-li stejnojmenné obrázky (z různých adresářů, z různých CD) - nejde je dát do jediného adresáře na server.
Hromadně obrázky přejmenujte např. pomocí Easy Thumbnails, čtěte o dva odstavce dál. Odkazy na obrázky shodně upravte hromadným nahrazením buď v originální databázi, nebo v textovém souboru s daty pro ProMuS. Ozvěte se nám (zlenhart@mzm.cz), bude-li vás více, vyřešíme to elegantněji.
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

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, počet položek 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.
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.

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.

Chcete vystavovat i obrázky?
Zaškrtněte Používat obrázky, do Adresář obsahující obrázky zadejte cestu, 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 obsahující cestu k obrázkům - vyberte pole, v němž jsou jména souborů s obrázky (v datech z Demusu to je pole Dokument).
Obrázky budou vidět jen v zobrazení "detail", čtěte dále.

ProMuS podporuje zobrazení přehled - detail. Co to znamená?
"Přehled" je klasické stručné tabulkové zobrazení více záznamů.
"Detail" je podrobné zobrazení jediného záznamu, případně i s obrázky.
Klepnutím na zvýrazněné pole (sloupec) v přehledu se zobrazí odpovídající detail.
Může to být detail toho řádku na který klepete (tj. záznam z téže tabulky), nebo detail odpovídajícího záznamu z jiné tabulky.
Zvýrazněno může být více polí (sloupců), každé může odkazovat na jinou tabulku.
Je možný i odkaz kamkoliv mimo ProMuS, například na vyhledávač.
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 - ProMuS jiné rozvržení nepodporuje.

Výběr a pořadí polí pro přehled a pro detail nastavíte celkem jednoduše v dolní části formuláře (kolonky Zobrazit... a Pořadí...).
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í.
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.

K propojení řádku v přehledu se záznamem v detailu si musíte ujasnit tři věci:
1. Má být zobrazený detail z téže tabulky? Obvykle ano.
2. Které pole představuje jedinečný identifikátor (jedinečný index, primární klíč) záznamů v tabulce z níž se bere detail? Obvykle je to ID záznamu, případně inv.číslo apod.
3. Které pole v přehledu má být citlivé na klepnutí a vyvolat zobrazení detailu? Obvykle název předmětu, nebo inv.číslo. Může to být i více polí, zejména když má každé odkazovat na jinou tabulku.
Až v tom budete mít jasno, tak u každého "citlivého" pole do kolonky Propojovací pole vyberte jméno "identifikátoru" a do kolonky Odkaz na tabulku vyberte jméno tabulky, z níž má být zobrazený detail.
Pozor - propojení na jinou tabulku předpokládá, že v obou tabulkách se propojovací pole jmenuje stejně (tzv. natural join).
Nejobvyklejší případ - jediná tabulka: na řádku s názvem předmětu do kolonky Propojovací pole vyberte ID a do kolonky Odkaz na tabulku vyberte tu tabulku, jejíž parametry právě nastavujete.

Pole Jiný odkaz můžete využít k odkazu na jiné stránky, předá se obsah "propojovacího" pole.
Např. uvedením http://www.google.com/search předáte obsah propojovacího pole vyhledávači Google, uvedením http://search.seznam.cz/search.cgi předáte obsah propojovacího pole vyhledávači Seznam. Jde tedy o "propojení" na všechny výskyty uvedeného výrazu kdekoliv na internetu. Pozor - propojovací pole se pro Google musí jmenovat q, pro Seznam zase w. Jména polí musíte nastavit už v textovém souboru s popisem tabulky.
Odkaz musí být úplný, tj. včetně úvodního údaje o protokolu, obvykle http://.
Přirozeně není možné k jednomu poli vyplnit současně oba odkazy, na tabulku i jinam.

Barvu, typ písma, a další parametry můžete nastavit pomocí html tagů v kolonce Tagy. Například šířku sloupce nastavíte width=x%. (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. Spravíte to 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. Tvrdit, že server je zcela zabezpečen, může pouze správce, který právě svůj server vypnul. 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 uživatel, 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ám 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 a případná integritní omezení. Oddělovačem těchto údajů je mezera.
Příklad:
id decimal(10,0) not null primary key
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.

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:
1;'nějaký text';;100

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. Zobrazí se hlavní stránka, ale při klikání na odkazy se nic neděje.
    Řešení: je potřeba nastavit v php.ini vlastnost register_globals na On. Popřípadě (na komerčním serveru) požádat správce serveru o provedení této operace.
  2. 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 správce serveru, aby mu do tohoto adresáře povolil zápis. (je však nutné PHP verze 4)
  3. 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.
  4. 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.
  5. 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ů.
  6. Filtr nenajde existující záznamy.
    Možná je citlivý na velikost písmen, je to dáno nastavením databázového serveru SQL a ProMuS to nemůže ovlivnit.
Nebudete-li vědět jak dál, napište nám.
Zdeněk Mazal (autor) zmazal@mzm.cz
Zdeněk Lenhart (tutor) zlenhart@mzm.cz