Powered by slightly modified MediaWiki and TED Notepad.

Dev:UseCases/Uvodna stranka navstevnika

Image:UseCases_-_Uvodna_stranka_navstevnika.png

Navigation: Dev:UseCases.

Navstevnik je lubovolny navstevnik systemu, ktory nie je nijak identifikovany medzi ostatnymi navstevnikmi. Ma pristup len k niektorym vyhradenym castiam systemu, ku ktorym sa dostane cez uvodnu stranku navstevnika. Na tomto mieste ma tiez moznost zaregistrovat sa do systemu, alebo sa priamo prihlasit, pokial uz ma vytvoreny ucet. Tiez si moze nechat poslat nove heslo, pokial zabudol svoje stare.

Contents

Navstevnik

Navstevnik je obycajny uzivatel, ktory nie je v systeme nijak identifikovany. Navstevnik nema v systeme vyhradeny vlastny priestor ani nema vytvoreny osobny profil. Nemoze si trvalo nastavit moznosti spravania systemu. Napriklad po prechode na iny pocitac si bude musiet nastavovat vsetky svoje nastavenia znovu.

Moznosti navstevnika su znacne obmedzene v porovnani s moznostami registrovaneho uzivatela. Navstevnik si nemoze napriklad zakladat vlastne albumy, vytvarat skupiny, rozdelovat uzivatelov na priatelov a nepriatelov a mnohe dalsie. Navstevnik sa len dostane k verejnym fotkam, statistikam a albumom ci skupinam, ktore nemaju obmedzene pristupove prava len na registrovanych uzivatelov.

Pokial navstevnikovi nestacia tieto obmedzene moznosti, moze sa do systemu zaregistrovat, tak ako to bude popisane dalej. Registraciou navstevnik ziska pristup k viacerym veciam, na ktore predtym nemal dostatocne prava. Prihlasenym uzivatelom sa ale registrovany navstevnik stane az po korektonom prihlaseni, ktore bude tiez popisane dalej.

Uvodna stranka

Uvodna stranka navstevnika je prvotna stranka, ktoru system navstevnikovi zobrazi. Oproti uvodnej stranke prihlaseneho uzivatela, pripadne spravcu systemu, obsahuje len informacie, ktore su pristupne kazdemu navstevnikovi bez nutnosti zaregistrovania sa.

Na uvodnej stranke sa navstenikovi bude zobrazovat menu pre navstevnika a budu mu na nej ponuknute viacere moznosti, ktore budu podrobnejsie popisane dalej. Tieto moznosti su:

  • zaregistrovanie noveho uzivatela do systemu
  • prihlasenie registrovaneho uzivatela do systemu
  • vygenerovanie noveho hesla registrovanemu uzivatelovi
  • zmena jazyku rozhrania
Navstevnikove menu

Navstevnikove menu sa bude neprihlasenemu navstevnikovi zobrazovat vzdy, nielen na hlavnej stranke a bude mu sluzit ako rozcestnik na jednotlive casti systemu, ktore su pristupne neregistrovanym a neprihlasenym uzivatelom. Navstevnik sa tak cez menu dostane napr. k albumom, skupinam a uzivatelom, pripadne si zobrazi verejne fotky v systeme, alebo sa dostane k nastaveniam navstevnika.

Navstevnikove menu bude dalej popisane v kapitole Moznosti navstevnika.

Zmena jazyka

Navstevnik si moze zmenit jazyk rozhrania. Po zmene sa mu budu vsetky systemove spravy zobrazovat v jeho zvolenom jazyku (atribut Visitor.Settings.language).

Zmena jazyka bude blizsie popisana v kapitole Nastavenia navstevnika.

Registracia

Registracia sluzi na to, aby sa navstevnik mohol do systemu prihlasit a vystupovat v nom ako uzivatel. Registracia je proces ktoreho cielom je identifikovat konkretneho navstevnika a odlisit ho tak nejak od ostatnych navstevnikov/uzivatelov - napriklad loginom. Registraciou sa uzivatelovi v systeme vytvori ucet, ktory bude obsahovat okrem jeho nastaveni a profilu, aj samotne fotky vlozene uzivatelom. Na ochranu uctu sluzi uzivatelovi jedno alebo viac hesiel, ktorymi sa prihlasuje do systemu.

Pokial je system nastaveny tak, ze sa mozu novy uzivatelia registrovat sami (atribut GlobalSettings.User.allow_free_registration), zobrazi sa im na zaciatku registracie formular s polozkami. V opacnom pripade bude moct novych uzivatelov zakladat jedine spravca systemu.

Registracny formular

Registracny formular bude obsahovat nasledovne polozky:

  • prihlasovacie meno (login), skutocne meno
  • nastavenie hesla, spolu s kontrolou hesla
  • registracny a kontaktny e-mail
  • informacne polozky ako: webova stranka, icq kontakt, pohlavie, datum narodenia, postova adresa, telefon, popis uzivatela, pripadne ostatne polozky tak ako su uvedene v triede User.Profile

Pri kazdej polozke sa navyse zobrazi:

  • informacia o tom, ci je udaj povinny (atribut GlobalSettings.User.mandatory_atributes) a uzivatel ho musi vyplnit, ak sa chce uspesne zaregistrovat
  • moznost rozhodnut sa, ci chce danu informaciu uzivatel po registracii spristupnit ostatnym uzivatelom pri prezerani jeho profilu (vsetky prislusne atributy s menami zacinajucimi na show_ tiez v triede User.Profile). Poznamka: Pociatocne hodnoty zapnutia ci vypnutia zobrazovania jednotlivych udajov sa nastavia podla defaultnych nastaveni uzivatela v systeme (vid tridu GlobalSettings.User.Default).

Rozhodnutie o zverejnovani sa nevztahuje na nasledovne polozky:

  • zobrazovane meno a login, ktore sa nedaju skryt
  • heslo a registracny e-mail, ktore su skryte pred ostatnymi uzivatelmi vzdy

Poznamka: Pri polozkach ako heslo a popis uzivatela, by sa mala zobrazit aj informacia o ich maximalnej ci minimalnej povolenej dlzke.

Kontrola udajov

Po vypleneni registracnych udajov a ich potvrdeni uzivatelom sa najprv skontroluje ich spravnost a uplnost nasledovne:

  1. Uzivatelom pozadovany login este nemoze v systeme existovat (atribut User.login), musi byt unikatny.
  2. Heslo a kontrola zadaneho hesla sa musia zhodovat a splnovat poziadavku na minimalnu dlzku (atribut GlobalSettings.User.min_password_length).
  3. Uzivatel vyplnil vsetky povinne polozky (atribut GlobalSettings.User.mandatory_atributes) a popis uzivatela nepresiahol maximalnu povolenu dlzku (atribut GlobalSettings.User.max_description_length).

Pokial aspon jedna z overovanych podmienok nie je splnena, zobrazi sa uzivatelovi ten isty formular, v ktorom ostanu vyplnene polozky, ktore boli v poriadku a ostatne budu mat u seba upozornenie, kde sa stala chyba, aby ich uzivatel mohol vyplnit uz spravne. Vysledok bude vyzerat nasledovne:

  1. Pokial dany login uz v systeme existuje, oznami sa uzivatelovi ze si musi vybrat iny. Poznamka: System by mohol uzivatelovi navrhnut alternativy vzhladom na povodne pozadovany login alebo skutocne meno. Navrhovane loginy by ale mali byt volne, tj. zatial ziadnym uzivatelom nepouzivane.
  2. Pokial sa heslo a kontrola zadaneho hesla nezhoduju, oznami sa uzivatelovi, ze sa pomylil a musi ich zadat znovu. Pokial nedodrzal minimalnu dlzku hesla, oznami sa mu to a tiez ich bude musiet zadat znovu.
  3. Pokial neboli vyplnene vsetky povinne udaje, zvyraznia sa uzivatelovi tie polozky, ktore este musi doplnit.

Poznamka: Jednotlive polozky z registracneho formulara maju rovnaku prioritu vyhodnotenia. To znamena, ze pri chybne zadanych, alebo chybajucich polozkach, sa vyhodnotia vsetky polozky, nie len prva nespravna/chybajuca.

Poznamka: Heslo aj kontrolu hesla musi uzivatel zadat vzdy znovu, ked zadava nieco nanovo a zobrazuje sa mu registracny formular kvoli oprave nejakych poloziek.

Pokial su vsetky podmienky splnene, kontrola registracnych udajov prebehne v poriadku a uzivatelovi sa v systeme vytvori novy ucet.

Vytvorenie uctu

Vytvorenie uzivatelskeho uctu pozostava z nasledovnych krokov:

  • Zalozi sa v systeme novy uzivatel (trieda User).
  • Jednotlive vyplnene udaje, spolu s oznacenim ci sa maju zverejnovat, sa ulozia do systemu (vid. trieda User.Profile).
  • Nastavi sa stav uzivatela (atribut User.state) podla nastavenia systemu a to nasledovne:
    • Pokial je vyzadovane potvrdzovanie uzivatelov (atribut GlobalSettings.User.need_account_confirmation) spravcom, nastavi sa uzivatel ako cakajuci na potvrdenie.
    • Pokial nie je vyzadovane potvrdzovanie novych uzivatelov, nastavi sa uzivatel ako potvrdeny. To znamena, ze sa moze rovno prihlasit a pracovat.
    • Pokial system vyzaduje potvrdzovanie e-mailovych adries (atribut GlobalSettings.User.need_mail_confirmation), tak sa uzivatelom zadany registracny e-mail prida k nepotvrdenym e-mailom v systeme spolu s uzivatelovym menom (vid trieda UnverifiedMail). Uzivatelovi sa posle mail na jeho potvrdenie a nastavi sa mu stav, ze sa caka na potvrdenie jeho e-mailu. Poznamka: Potvrdzovanie e-mailu a potvrdzovanie registracie uzivatela su na sebe nezavisle.
  • Ulozia sa nastavenia uzivatela podla uz zvolenych nastaveni, ktore spravil este ako navstevnik a podla nim zadanych hodnot pri registracii spojenych s defaultnymi nastaveniami:

Nasledne sa uzivatelovi oznami, ze jeho ucet bol vytvoreny. Dalej sa mu oznami, ze musi pockat na potvrdenie jeho registracie spravcom (ak je to vyzadovane) alebo ze sa moze rovno prihlasit do systemu (v opacnom pripade). Pokial je vyzadovane potvrdenie registracneho e-mailu, oznami sa mu to tiez.

Prihlasenie

Prihlasenie sluzi na to, aby system identifikoval navstevnika ako konkretneho registrovaneho uzivatela a umoznil mu pristup k jeho osobnym udajom, fotkam a pod. Prihlasenie prebieha prostrednictvom prihlasovacieho formulara, do ktoreho uzivatel zada svoje prihlasovacie udaje - login a heslo. Pokial ma uzivatel v systeme nastavenych viacero hesiel, tak moze zadat lubovolne z nich.

Po zadani prihlasovacich udajov system skontroluje:

  1. Ci tento uzivatel v systeme existuje (atribut User.login).
  2. Ci k tomuto uzivatelovi v systeme existuje zadane heslo (atributy Password).
  3. Ci tento uzivatel nie je v systeme zakazany alebo este nepotvrdeny (atribut User.state).
Uspesne prihlasenie

Pokial uzivatel existuje, zadal spravne heslo a nie je v systeme zakazany ci nepovoleny, bude prihlaseny do systemu. Upravi sa cas jeho posledneho prihlasenia (atribut User.last_login) na aktualny a vygeneruje sa mu nova session (atribut User.session).

Pokial heslo, ktore uzivatel zadal bolo jednorazove (atribut Password.once), tak sa toto heslo zo systemu zmaze. Zaroven sa uzivatelovi nastavi IP adresa posledneho prihlasenia (atribut User.previous_ip) na tu, z ktorej sa minule prihlasil a bola ulozena v User.current_ip. Do aktualnej IP adresy sa potom nastavi ta, z ktorej sa uzivatel prave prihlasil.

Nakoniec sa uzivatelovi automaticky zobrazi uvodna stranka uzivatela, ktora bude popisana v kapitole Uvodna stranka uzivatela.

Neuspesne prihlasenie

Pokial uzivatelovo prihlasenie nebolo uspesne z dovodu zle zadaneho loginu a k nemu prislusneho hesla, tak sa mu zobrazi hlasenie o tom, ze dana kombinacia loginu a hesla v systeme neexistuje. Uzivatelovi sa tiez znovu zobrazi prazdny prihlasovaci formular a ponukne sa mu moznost novej registracie a tiez moznost nechat si poslat nove heslo, tak ako to bude popisane neskor.

Pokial prihlasenie nebolo uspesne z dovodu, ze uzivatel je v systeme zakazany, zobrazi sa mu hlasenie o tom, ze bol zakazany. Pokial je vyplneny dovod jeho zakazania (atribut User.reason), zobrazi sa mu aj ten.

Pokial prihlasenie nebolo uspesne z dovodu, ze uzivatel v systeme este nie je povoleny, zobrazi sa mu hlasenie o tom, ze este nebol povoleny a ze musi pockat na potvrdenie spravcom.

Poznamka: Kontrola loginu a hesla je prioritnejsia nez kontrola zakazania/nepotvrdenia uzivatela. To znamena, ze pokial uzivatel nezada spravnu kombinaciu loginu a hesla, o svojom pripadnom zakazani sa nic nedozvie.

Pamatanie prihlasenia

Uzivatel si navyse moze pri prihlasovani zvolit, aby sa jeho prihlasenie na danom pocitaci pamatalo aj po jeho vypnuti.

Implementacna poznamka: Pokial uzivatel zadal, aby sa jeho prihlasenie na danom pocitaci pamatalo aj po vypnuti toho pocitaca, je potrebne dohliadnut na to, aby sa tak stalo. Napr. nastavit casovo obmedzene cookies, ktore preziju aj vypnutie browseru, pokial sa na prihlasovanie budu pouzivat cookies.

Nove heslo

Uzivatelovi moze byt vygenerovane a poslane nove jednorazove heslo. Ucel tohto hesla je pouzitie v pripade, kedy uzivatel z nejakych dovodov (napr. ked sa prihlasuje z internetovej kaviarne) nechce pouzit svoje normalne heslo, pripadne toto heslo zabudol. S novo vygenerovanym jednorazovym heslom sa uzivatel moze do systemu prihlasit len raz. Po jeho pouziti bude heslo zo systemu odstranene.

Poznamka: Vygenerovanie noveho hesla nesposobi zmazanie starych hesiel zo systemu. Toto sa da spravit len resetom hesiel, ktore bude popisane v kapitole Nastavenia uzivatela.

Pri vygenerovani noveho hesla sa navstevnikovi zobrazi formular, do ktoreho zada svoj login a registracny e-mail, ktore zadal pri svojej registracii do systemu.

Po ich zadani sa nasledne overi:

  • ci uzivatel so zadanym loginom v systeme existuje (atribut User.login)
  • ci ma dany uzivatel uvedenu zadanu adresu ako registracny e-mail (atribut User.Profile.email_reg)

Pokial overenie nebolo uspesne z dovodu, ze uzivatel s danym loginom v systeme neexistuje, pripadne uzivatel nezadal spravnu adresu, tak sa mu opat zobrazi prazdny formular na vytvorenie noveho hesla spolu s oznamenim, ze zadana kombinacia loginu a e-mailu v systeme neexistuje.

Poznamka: Pokial uzivatel nemal zatial overeny ziaden registracny e-mail, nemoze mu byt vygenerovane nove heslo, lebo by sa nemalo kam poslat. Pokial ale pozadoval zmenu stareho e-mailu a nepotvrdil ten novy, moze si nechat poslat nove heslo len na posledny potvrdeny e-mail.

V pripade, ze bolo overenie kombinacie loginu a e-mailu uspesne, system uzivatelovi vygeneruje nove jednorazove heslo. Toto heslo sa ulozi do systemu (vid triedu Password) a nasledne posle na zadanu adresu. Zaroven sa uzivatelovi zobrazi oznamenie o vygenerovani a poslani noveho hesla.

Poznamka: Nove heslo sa posle aj zakazanym, pripadne este nepotvrdenym uzivatelom, akurat ti sa s nim (ani s inym heslom) do systemu neprihlasia.