Nápověda ProMuS
Obsah:
- Úvod
- Požadavky
- Nová instalace
- Stručný návod (pro člověka zkušeného v php skriptech)
- Podrobný návod (včetně běžných problémů)
- Instalace - samostatný počítač
- První přihlášení
- Import dat
- Vložení obrázků
- Nastavení vzhledu a chování
- Bezpečnost
- Formát souborů pro import
- Ovládání převaděče dat z MS Access
- Č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)
- V souboru settings.php nastavte proměnné pro připojení k databázovému serveru.
- 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.)
- 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).
- Spusťte www prohlížeč a zadejte adresu váš server/promus/install.php
(např. www.mzm.cz/promus/install.php)
- Pokud nedošlo k žádné chybě, smažte soubor install.php ze serveru.
- 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
- Pokud je vše OK, můžete přistoupit k importu dat a nastavování ProMuSu
3.2. Instalace - podrobný návod
- 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.
- 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).
- 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.
- 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á.
- 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.
- Spusťte www prohlížeč a zadejte adresu váš server /promus/install.php
(např. www.mzm.cz/promus/install.php).
- Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte ze serveru soubor install.php.
Možné chyby:
- "Nepodařilo se připojit k databázi" - něco je špatně v nastavení proměnných pro
připojení k databázovému serveru (v souboru settings.php).
- "Nepodařilo se vykonat dotaz" (několikrát) - buď zadaný uživatel nemá právo
vytvářet tabulky, nebo již tabulky vytvořeny byly a vy se je snažíte
přepsat.
- "Fatal error: Failed opening required... atd." - jsou špatně velikosti písmen
v názvech souborů a adresářů. Vše má být malými.
- <? require("settings.php");...." atd. - váš server nemá zapnutou podporu php.
- 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).
- 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í.
- 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.
- Spusťte Vertrigo Server
Server musí běžet vždy po celou dobu prohlížení stránek (samozřejmě někde na pozadí).
- 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.
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.
- 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")
- Spusťte www prohlížeč a zadejte adresu http://localhost/promus/install.php)
ProMuS si sám vytvoří pracovní tabulky apod.
- Pokud je vše OK (nezobrazila se žádná chybová hlášení), smažte soubor c:\VertrigoServ\www\promus\install.php.
Možné chyby:
- "Nepodařilo se připojit k databázi" - něco je špatně v souboru settings.php.
- "Nepodařilo se vykonat dotaz" (několikrát) - buď nemáte právo vytvářet tabulky,
nebo již tabulky vytvořeny byly a vy se je snažíte přepsat.
- "Fatal error: Failed opening required... atd." - jsou špatně velikosti písmen v názvech souborů a adresářů.
Vše má být malými.
- <? require("settings.php");...." atd. - nemáte instalovanou podporu php.
- 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.
- 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:
- 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.
- 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)
- Importujte data, viz samostatná kapitola
- 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?
- Demus (dokumentace a evidence muzejních sbírek) - čtěte v nápovědě k Demusu.
- MS Access - dodáváme jednoduchý převaděč.
- MS Excel - odpovídající textový export dat je skryt pod volbou Soubor - Uložit jako - CSV.
Soubor se strukturou dat vytvoříte ručně.
- jiné
- čtěte v příslušné nápovědě, export dat bude asi pod Soubor - Uložit
jako - text s oddělovači..., popis struktury dat asi pod Nástroje -
Dokumentace ...
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:
- Nastavení všeobecných textů a vlastností
- 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:
- Normální datové tabulky, slouží k prezentaci jejich obsahu. Příklad - Sochy.
- Skryté slovníkové tabulky - slouží jen v nabídkových roletkách při vyhledávání. Příklad - Materiály.
- 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:
- 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.
- 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.
- Vytvoření e-mailu na adresu z tabulky, např. z přehledu muzeí na adresu zvoleného muzea.
- Přechod na www adresu z tabulky, např. z přehledu muzeí na www stránku zvoleného muzea.
- 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.
- Ú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ší.
- Ú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.
- 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
- 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.
- Ú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:
- 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.
- Běžnou aktualizaci dat provádějte přihlášení jako "uživatel", správce používejte jen pro nutné úkoly.
- Vytvořte si uživatele s loginy jinými než "uživatel".
- 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
- 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.)
- 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.
- 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.
- 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ů.
- 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.
- 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.