Dev:UseCases/Nastavenia navstevnika
Navigation: Dev:UseCases.
Nastavenia navstevnika su oproti nastaveniam zaregistrovaneho uzivatela pomerne obmedzene. Navstevnik ma moznost zmenit si aktualny jazyk, v ktorom s nim system komunikuje; maximalnu velkost obrazkov, ktore mu system bude zobrazovat; a aktualnu graficku temu (tzv. skin) stranok.
Navstevnik si navyse oproti zaregistrovanemu uzivatelovi musi svoje nastavenia upravit pre kazdu session znovu. Jeho nastavenia su docasne a system si ich nepamata, kedze navstevnika nijak blizsie neidentifikuje. To znamena, ze po tom, co navstevnik system opusti, sa jeho nastavenia stratia.
Contents |
Nastavenia
Navstevnikovi sa zobrazia jeho aktualne nastavenia. Medzi tieto nastavenia patri jazyk rozhrania (atribut Visitor.Settings.language), maximalna velkost zobrazovanych obrazkov (atribut Visitor.Settings.max_resolution) a skin (atribut Visitor.Settings.skin).
Poznamka: Atributy Visitor.Settings.comments_display_type a Visitor.Settings.discussion_display_type tiez reprezentuju konkretne nastavenia navstevnika. Tieto nastavenia sa vsak nebudu zobrazovat/nastavovat tu, v navstevnikovych nastaveniach, ale az pri komentaroch k fotkam, ktore budu popisane v kapitole Komentare fotky, pripadne v diskusii skupiny, ktora bude popisana v kapitole Diskusia skupiny alebo v diskusii k albumu, ktora bude popisana v kapitole Diskusia albumu.
Jazyk rozhrania
System bude obsahovat viacero jazykovych prekladov - jazykov. Navstevnik ci uzivatel systemu bude mat moznost zmenit si jazyk rozhrania. System potom bude vsetky zobrazovane spravy prekladat do zvoleneho jazyka. To sa tyka i poloziek v menu, stranok s napovedou a vysvetlivkami, polozkami formularov, atd.
Poznamka: Preklad sa netyka sprav napisanych a vlozenych samotnymi uzivatelmi systemu ako su popisy fotiek, prispevky v diskusiach a pod.
K prekladu stranok sluzi hlavne trieda Language z modelu tried, ktora samotny preklad blizsie popisuje. Aktualne nastavenie uzivatelovho jazyka je v atribute Visitor.Settings.language. Pri zmene jazyka sa tento atribut zaktualizuje.
Implementacna poznamka: Pokial nejaky skin bude obsahovat aj jazykove prvky (napriklad texty grafickeho menu v obrazkoch), je potrebne, aby sa automaticky prekladali i tieto obrazky.
Velkost obrazkov
System bude obsahovat moznost automatickeho zmensovania proporcii obrazkov. Navstevnik ci uzivatel si zvoli nejaku maximalnu velkost. System mu potom vsetky obrazky, ktore by danu velkost presiahly v niektorom smere, zmensi. Napriklad, ak si uzivatel zvoli maximalnu velkost 600 pixelov, obrazok o velkosti 800x600 pixelov sa mu automaticky zmensi na 600x450 pixelov.
Aktualne nastavenie maximalnej velkosti obrazkov je v atribute Visitor.Settings.max_resolution. Pri zmene maximalnej velkosti obrazkov sa tento atribut zaktualizuje.
Poznamka: Pri automatickom zmensovani obrazku sa system pokusi zachovat proporcie i kvalitu obrazu.
Implementacna poznamka: Zmensovanie by malo prebiehat nejakou rozumnou resample metodou. Obycajna repixel metoda nebude postacovat.
Implementacna poznamka: Trieda PhotoPreview je urcena k uchovavaniu takto zmensenych (a i owatermarkovanych) obrazkov. Vyuzitie tejto cache triedy moze byt nezbytne pre udraznie rozumneho vykonu systemu v case vysokeho zatazenia.
Skin stranok
Navstevnik si bude moct v systeme zmenit graficku temu (skin). Volba skinu mu posluzi jednak ako moznost zbavit sa nadbytocnej grafiky, ale i ako moznost zmenit si vyzor stranok, napr. zo sci-fi designu na design typu vylet prirodou.
Aktualne nastavenie skinu je v atribute Visitor.Settings.skin. Pri zmene skinu sa tento atribut zaktualizuje.