Název: | IS administrace obsahu WWW stránek hudební skupiny |
Řešitelé: | Pavel Lipenský, Lukáš Grulich |
Datum: | 30. prosince 2002 |
Popis: | Dokumentace k PHP a MySQL části projektu (zadání viz. specifikace) |
Uživatel ovládá IS prostřednictvím HTML formulářů a hypertextových odkazů. Přístup k administraci mají pouze členové kapely a správce systému. Běžný uživatel může jen zobrazit obsah stránek (XML výpisy).
Je podmíněno zadáním přihlašovacího jména a hesla. Jestliže uživatel své heslo zapomene, může si nechat vygenerovat od IS nové, které mu bude zasláno na jeho E-mail (pokud ho dříve uvedl).
Počáteční jméno i heslo správce je insroot.
Členové kapely a správce mají právo vytvářet a měnit obsah stránek. Administrace je tématicky rozdělena na části Akce (koncerty}, Fotky (přiřazování k akcím), Věci (skladby), CéDa (audio ke skladbám, interpreti) a Nastavení (osobní data uživatele). Správce sytému má (na rozdíl od členů kapely) v sekci Nastavení přístup ke všem účtům a možnost vytvářet nové.
Přidávání nových položek je v některých sekcích podmíněno existencí fyzických souborů na disku (fotky, audio soubory). Správné umístění těchto souborů musí zajistit správce systému, např. pomocí ftp.
./admin/* | Zdrojové soubory implementace v PHP. Předpokládá se, že administrace by neměla být dostupná z kořenového adresáře. Místo admin lze použít libovolný jiný název. |
./img/* | Soubory grafického rozhraní systému. |
./ceda/ ./ceda/tumb/ |
Adresáře pro soubory (př. *.jpg) s CD obaly. V adresáři tumb musí být zmenšené obrázky (100x100 px) se stejnými názvy. |
./foto/ ./foto/tumb/ |
Adresáře pro soubory (př. *.jpg) fotek z akcí. V adresáři tumb musí být zmenšené obrázky (max. 100x100 px) se stejnými názvy. |
./mp3/ | Adresář pro (*.mp3) audio soubory. Názvy souborů určují vzestupně pořadí skladeb na CD titulech (ve výpisech). |
./ryby/ | Adresář pro soubory (př. *.jpg) fotek členů kapely. Je definováno omezení, že účet bez fotografie (př. správce) nemůže být použit jako interpret na CD titulu. |
dokumentace.html | Tato dokumentace. |
specifikace.html | Formální a neformální specifikace projektu. |
db.sql | Vzorový soubor vytvoření prázdné MySQL databáze. Implicitně je nastaven server localhost. Jméno databáze a jméno a heslo MySQL uživatele je ins. |
tables.sql | Struktura MySQL databáze projektu (včetně vytvoření účtu správce). |
IS je možno provozovat na serverech s podporou PHP a MySQL. Zasílání hesel funguje v případě, že je server připojen k síti Internet a umožňuje posílání E-mailů.
Na straně serveru se provádí jak syntaktická kontrola dat (velikost a formát položek), tak sémantická (platnost datumů, ověření existence E-mailu). Před odesláním dat zpět prohlížeči jsou data transformována tak, aby nemohlo dojít k narušení HTML kódu (převod znaků '<').
Spojení mezi serverem a klientem je realizováno pomocí session-proměnných. Přihlášení do IS je tedy navíc podmíněno podporou cookies na straně klienta.
Ve starších (stabilních) verzích MySQL nelze zajistit referenční integritu s využitím cizích klíčů. Zachování konzistence databáze je řešeno zamykáním tabulek (viz. manuál MySQL).
Hesla k účtům jsou z bezpečnostních důvodů ukládána šifrovaně (MD5). Data se sice přenášejí nekódovaně, ale v případě hesel pouze směrem na server, kde se kódují a ověřují podle vzoru v databázi.
Identifikátory v databázi a v ER diagramu si vzájemně neodpovídají vlivem toho, že specifikace projektu a XML vznikli dodatečně. S ER diagramem korespondují až XML výpisy (k přejmenování identifikátorů dochází až na úrovni XML výstupu).