Powered by slightly modified MediaWiki and TED Notepad.

Dev:UseCases/Uvodna stranka uzivatela

Image:UseCases_-_Uvodna_stranka_uzivatela.png

Navigation: Dev:UseCases.

Uzivatel je registrovany navstevnik. Po prihlaseni sa do systemu sa mu vytvori session, pomocou ktorej je v systeme identifikovany a zistuju sa jeho prava pre pristup k jednotlivym castiam systemu. Tato session sa zaroven kontroluje pri kazdej akcii, ktoru chce vykonat.

Po prihlaseni sa uzivatelovi zobrazi jeho uvodna stranka. Ta mu sluzi ako rychly prehlad o tom, co sa stalo v systeme od jeho poslednej navstevy. Dozvie sa tu napriklad, kolko fotiek pribudlo v jeho oblubenych albumoch, ci ho cakaju nejake komentare na potvrdenie a mnohe dalsie. Sucastou uvodnych informacii je aj prehlad o jeho ucte, tj. kolko miesta zabera a kolko mu este ostava volneho.

Zaroven sa mu na uvodnej stranke zobrazia okienka s rychlymi prehladmi o jeho priateloch, fotkach, oblubenych albumoch a skupinach. Tieto okienka si moze podla potreby skryt alebo ukazat. Okienka ma uzivatel k dispozicii aj v ostatnych castiach systemu pocas jeho prihlasenia. Otvorenie ci zavretie okienok, spolu s ostatnymi nastaveniami systemu, ma uzivatel na rozdiel od navstevnika ulozene priamo v systeme a nemusi si ich tak vzdy menit nanovo.

Contents

Uzivatel

Navstevnik sa stane uzivatelom po registracii a po prihlaseni do systemu. Postup registracie bol popisany v kapitole Uvodna stranka navstevnika.

Registrovany uzivatel sa do systemu moze prihlasit zadanim svojich prihlasovacich udajov, tak ako to bolo popisane v kapitole Uvodna stranka navstevnika. Pokial prihlasenie prebehne v poriadku, z navstevnika sa stane uzivatel prihlaseny v systeme. Pokial sa prihlasenie z nejakeho dovodu nepodari, uzivatel zostane aj nadalej navstevnikom a moze sa skusit prihlasit znovu.

Prihlaseny uzivatel moze na rozdiel od navstevnika napr. pracovat so svojimi albumami a fotkami, alebo si vytvarat nove skupiny.

Session

Obdobie medzi prihlasenim a odhlasenim uzivatela zo systemu sa nazyva session. Je to cas, kedy je uzivatel v systeme korektne prihlaseny, tj. ma nastaveny atribut User.session.

Korektnost session sa kontroluje pri kazdej akcii, ktoru chce uzivatel spravit. Tato kontrola zahrna aj overenie, ci nemal byt uzivatel nahodou medzicasom automaticky odhlaseny z dovodu dlhodobej necinnosti.

Pokial je session v poriadku (tj. uzivatel je korektne prihlaseny), nastavi sa uzivatelovi pri kazdej jeho akcii v systeme aktualny cas ako cas posledneho pristupu (atribut User.last_access). Tento cas sa nastavi bez ohladu na to, ci pozadovana akcia prebehla uspesne, alebo bola zamietnutna napr. pre nedostatocne prava.

Pokial session nie je v poriadku (napr. preto, ze sa uzivatel odhlasil, prip. bol odhlaseny automaticky), system zobrazi uzivatelovi uvodnu stranku navstevnika spolu s oznamenim, ze pozadovana akcia nemohla byt vykonana z dovodu odhlasenia. Aby mohol uzivatel pokracovat v praci pod svojim uctom, bude sa musiet znovu prihlasit.

Implementacna poznamka: Prihlasovacie udaje sa kontroluju len raz. Pri kazdej dalsej akcii uzivatela v systeme sa uz kontroluje len User.session retazec, ktory bol systemom k danej session prideleny.

Stav uzivatela v systeme

Uzivatel moze v systeme nadobudnut rozne stupne prihlasenia a odhlasenia v zavislosti od nastavenia systemu. To v akom stave sa uzivatel nachadza zalezi od velkosti rozdielu aktualneho casu a casu jeho poslednej akcie (User.last_access).

Jednotlive stavy mozu byt nasledovne:

  • Prihlaseny uzivatel, aktivne cinny, tzv. online: Ma korektne nastavenu session, moze normalne pracovat a pred ostatnymi uzivatelmi sa zobrazuje ako online.
  • Prihlaseny uzivatel dlhodobejsie necinny, tzv. away: Rovnaky pripad ako predosly, s jedinym rozdielom, ze uzivatel sa ostanym zobrazuje ako away. Do tohto stavu sa uzivatel dostane, pokial rozdiel medzi aktualnym casom a casom poslednej akcie prekroci hodnotu zadanu atributom GlobalSettings.User.timeout_away.
  • Logicky odhlaseny uzivatel: Tato situacia nastane vtedy, ked je rozdiel medzi aktualnym casom a uzivatelovym casom vacsi ako hodnota atributu GlobalSettings.User.timeout_offline. V takomto pripade sa uzivatel ostatnym zobrazuje ako offline. Pokial sa ale pokusi o nejaku akciu, tak sa dana akcia vykona, ako keby bol normalne prihlaseny. System v podstate tohto uzivatela automaticky znovu prihlasi, takze sa nebude musiet prihlasovat nanovo sam. Tiez mu nastavi cas posledneho prihlasenia (User.last_login) na aktualny cas. Od tohto momentu sa uzivatel dostane do stavu online.
  • Fyzicky odhlaseny uzivatel: Tato situacia nastane vtedy, ked je rozdiel medzi aktualnym casom a uzivatelovym casom vacsi ako hodnota atributu GlobalSettings.User.timeout_logout. V takomto pripade sa uzivatel ostatnym zobrazuje ako offline. Pokial sa pokusi o nejaku akciu, tak sa dana akcia nevykona a oznami sa uzivatelovi, ze bol zo systemu odhlaseny. Odhlasenie bude popisane v kapitole Moznosti uzivatela.

Uzivatel moze v zavislosti na velkosti casovych intervaloch medzi jednotlivymi jeho akciami prechadzat z jedneho stavu do druheho. Do niektorych stavov sa pritom nemusi vobec dostat. Pokial je niektory z atributov GlobalSettings.User.timeout_away, GlobalSettings.User.timeout_offline alebo GlobalSettings.User.timeout_logout nastaveny na nulu, nemoze sa do prislusneho stavu ziaden uzivatel systemu dostat. To znamena, ze napr. pri nulovom atribute GlobalSettings.User.timeout_offline nebude system nikdy automaticky logicky odhlasovat.

Uvodna stranka

Uvodna stranka uzivatela je miesto, z ktoreho moze uzivatel zacat najbeznejsie akcie. Obsahuje tiez niektore zbezne informacie, napriklad zoznam jeho albumov, ci priatelov. Zaroven je to miesto, ktore sa uzivatelovi zobrazi napr. po prihlaseni do systemu.

Uvodna stranka bude v sebe obsahovat menu a viacero okienok, kazde s nejakou konkretnou informaciou. Prikladom takeho okienka je napr. zoznam on-line priatelov. Niektore okienka si bude moct uzivatel skryt. Skryte okienko bude zobrazovat iba svoj nazov a rozbalovacie tlacitko. Naopak, rozbalene okienko bude obsahovat konkretnu informaciu, svoj nazov a tlacitko na skrytie.

Zoznam zbalenych okienok na uvodnej stranke sa bude v systeme ukladat pre jednotlivych uzivatelov aj medzi sessionami (atribut User.Settings.hidden_objects).

Poznamka: Okienka sa nemusia zobrazovat len na Uvodnej stranke, ale aj tam, kde su potrebne. Vyber moze byt prisposobeny pre kazdu cast systemu zvlast, pricom sa vzdy berie ohlad na obsah atributu User.Settings.hidden_objects a na podmienky zobrazovania okienok popisane neskor.

Menu uzivatela

Uzivatelske menu sa bude prihlasenemu uzivatelovi zobrazovat vzdy, nielen na hlavnej stranke a bude mu sluzit ako rozcestnik do celeho systemu. Lahko sa cez neho dostane napr. k svojim, ci vsetkym fotkam, oblubenym albumom, ci k nastaveniu jeho profilu.

Uzivatelske menu bude dalej popisane v kapitole Moznosti uzivatela.

Jazyk rozhrania

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

Zmena jazyka bola blizsie popisana v kapitole Nastavenia navstevnika.

Uvodne informacie

Okrem jednotlivych okienok sa na uvodnej stranke bude uzivatelovi zobrazovat aj suhrn dolezitych informacii pozostavajuci z nasledovneho:

  • Aktualna sprava pripadne oznamenie od spravcu systemu uzivatelom (atribut GlobalSettings.User.intro_message).
  • Datum, cas (atribut User.last_login) a ip (User.previous_ip) - udaje z jeho posledneho prihlasenia do systemu, pre pripadne overenie, ci nebol niekto prihlaseny namiesto neho.
  • Informacia o velkosti jeho uctu, spolu s informaciou o jeho kvote, tak ako to bude popisane dalej.
  • Zoznam vybranych novych udalosti v systeme, tak ako to bude popisane dalej.
  • Zoznam veci cakajucich na jeho potvrdenie, tak ako to bude popisane dalej.
Zabrate miesto

Informacia o velkosti uzivatelovho uctu v systeme bude obsahovat pocet nim vlozenych fotiek do systemu a nazornu informaciu o tom, kolko mu este ostava volneho miesta. Mnozstvo zatial zabrateho priestoru v systeme sa ziska z prislusneho atributu Storage.space_usage.

Podla obsahu atributu User.AdminSettings.override_space_quota sa zisti uzivatelov horny limit na mnozstvo zabrateho priestoru nasledovne:

  • Pokial je hodnota nulova, plati pre uzivatela celosystemovo nastavena kvota (atribut GlobalSettings.User.space_quota).
  • Pokial je hodnota kladna, pre uzivatela neplati celosystemove nastavenie, ale berie sa do uvahy kvota nastavena touto hodnotou.
  • Pokial je hodnota zaporna, pre uzivatela neplatia ziadne obmedzenia.

Pri prvych dvoch moznostiach sa uzivatelovi nazorne zobrazi pomer uz obsadeneho a este volneho miesta v systeme pre jeho ucet. Pri poslednej moznosti sa mu len oznami, kolko miesta ma obsadeneho spolu so spravou, ze pre neho neexistuje obmedzenie na velkost nim zabrateho priestoru.

Poznamka: Velkost volneho miesta sa ziska ako rozdiel prislusnej kvoty a velkosti obsadeneho miesta.

Poznamka: Pri zmenseni velkosti uzivatelskych uctov sa nebude zo systemu nic mazat. Uzivatelovi sa len oznami, ze prekrocil kvotu a ze dalsie fotky bude moct do systemu vlozit az pokial nejake miesto predtym uvolni (vzdy vzhladom na aktualnu hranicu).

Nove udalosti v systeme

Zoznam novych udalosti bude sluzit uzivatelovi pre rychlu informaciu o tom, co v systeme pribudlo od jeho posledneho prihlasenia (atribut User.last_login) pripadne podla posledneho pristupu do konkretnej casti systemu, tak ako to bude popisane dalej.

Tento zoznam bude obsahovat nasledovne:

  • Komentare k fotkam: Pokial su v systeme povolene fotky (atribut GlobalSettings.Photo.hide_all_photos) a zaroven nie je zobrazovanie komentarov k fotkam obmedzene, ci uplne zakazane (atribut GlobalSettings.Photo.show_comments), zobrazi sa uzivatelovi zoznam tych fotiek, ktorych je uzivatel vlastnikom (atribut Photo.storage) a zaroven k nim pribudli nove komentare. Ako nove komentare sa budu ratat len tie, ktorych cas pridania k fotke (atribut PhotoComment.date) je novsi, ako cas posledneho pristupu vlastnika do diskusie ku konkretnej fotke (atribut Photo.Info.last_comments_access). Pri kazdej fotke bude uvedeny pocet novych kometarov.
  • Fotky v albume: Pokial su v systeme povolene fotky (atribut GlobalSettings.Photo.hide_all_photos) a zaroven aj albumy (atribut GlobalSettings.Album.hide_all_albums), zobrazi sa uzivatelovi zoznam tych albumov, ktorych je uzivatel vlastnikom (atribut Album.owner), alebo ich ma oznacene ako oblubene (vid triedu FavouriteAlbum) a zaroven v nich pribudli nejake novo pridane fotky. Ako nove fotky sa budu ratat len tie, ktorych cas pridania do albumu (atribut PhotoInAlbum.added) je novsi, ako cas posledneho pristupu uzivatela do konkretneho albumu (atribut FavouriteAlbum.last_photos_access). Pri kazdom albume bude uvedeny pocet novych fotiek. Poznamka: Vlastny album uzivatela patri k jeho oblubenym albumom.
  • Prispevky v diskusii albumu: Pokial su v systeme povolene albumy (atribut GlobalSettings.Album.hide_all_albums) a zaroven nie je zobrazovanie diskusii k albumom obmedzene, ci uplne zakazane (atribut GlobalSettings.Album.show_discussion), zobrazi sa uzivatelovi zoznam tych albumov, ktorych je uzivatel vlastnikom (atribut Album.owner), alebo ich ma oznacene ako oblubene (vid triedu FavouriteAlbum) a zaroven ich diskusie obsahuju nejake nove prispevky. Ako nove prispevky sa budu ratat len tie, ktorych cas pridania do diskusie albumu (atribut Album.Discussion.Item.date) je novsi, ako cas posledneho pristupu uzivatela do diskusie konkretneho albumu (atribut FavouriteAlbum.last_discussion_access). Pri kazdom albume bude uvedeny pocet novych prispevkov v diskusii. Poznamka: Vlastny album uzivatela patri k jeho oblubenym albumom.
  • Uzivatelia v skupine: Pokial su v systeme povolene skupiny (atribut GlobalSettings.Group.hide_all_groups), zobrazi sa uzivatelovi zoznam tych, ktorych je uzivatel vlastnikom (atribut Group.owner) alebo clenom (atribut UserInGroup.state) a zaroven v nich pribudli novi uzivatelia. Ako novi uzivatelia sa budu ratat len ti, ktorych cas vstupu do skupiny (atribut UserInGroup.joined) je novsi, ako cas posledneho prihlasenia uzivatela do systemu. Pri kazdej skupine bude uvedeny pocet novych uzivatelov.

Pri kazdej skupine novych veci v systeme bude mat uzivatel moznost oznacit dane objekty ako navstivene bez nutnosti skutocneho prezretia kazdeho objektu zvlast. To znamena, ze sa mu nebudu dalej zobrazovat ako navstivene. Pri tejto akcii dojde k uprave prislusnych casov poslednych pristupov u kazdeho objektu z danej skupiny.

Poznamka: Uzivatelia v skupine nepojdu oznacit ako navstiveni, kedze ti sa vzdy beru vzhladom na posledne prihlasenie uzivatela.

Veci cakajuce na potvrdenie

Uzivatelovi sa tiez zobrazi zoznam veci cakajucich na potvrdenie, ktore ma sam pravo potvrdit. Tento zoznam sa ziska nasledovne:

  • Prispevky v diskusii albumu: Pokial su v systeme povolene albumy (atribut GlobalSettings.Album.hide_all_albums) a zaroven nie je zobrazovanie diskusii k albumom obmedzene, ci uplne zakazane (atribut GlobalSettings.Album.show_discussion), zobrazi sa uzivatelovi zoznam tych albumov, ktorych je uzivatel vlastnikom (atribut Album.owner) alebo ma pravo k nim pristupovat a povolovat prispevky v ich diskusiach (tak ako to bude popisane dalej v kapitole Diskusia albumu) a zaroven ich diskusie obsahuju nejake nepotvrdene prispevky (atribut Album.Discussion.Item.state) spolu s ich poctom pre kazdy album. Pri kazdom albume bude uvedeny pocet nepotvrdenych prispevkov v diskusii.
  • Uzivatelia v skupine: Pokial su v systeme povolene skupiny (atribut GlobalSettings.Group.hide_all_groups), zobrazi sa uzivatelovi zoznam tych skupin, ktorych je uzivatel vlastnikom (atribut Group.owner) alebo moderatorom (atribut UserInGroup.state) a zaroven v nich cakaju uzivatelia na potvrdenie vstupu (atribut UserInGroup.state). Pri kazdej skupine bude uvedeny pocet cakajucich uzivatelov.

Rychly prehlad priatelov

Na uvodnej stranke sa uzivatelovi zobrazia prave prihlaseni (online alebo away) uzivatelia z jeho skupiny priatelov (vid trieda Friend). Tento zoznam sa uzivatelovi zobrazi v okienku s moznostou jeho skrytia, zotriedeny podla ich casov poslednej akcie v systeme (atribut User.last_access).

Ako online sa budu zobrazovat ti priatelia, u ktorych rozdiel medzi aktualnym casom a ich poslednou aktivitou v systeme (atribut User.last_access) bude mensi ako timeout nastaveny atributom User.timeout_away. Po prekroceni tohoto rozdielu sa status uzivatela zmeni na away.

Ako away sa budu zobrazovat ti priatelia, u ktorych rozdiel medzi aktualnym casom a ich poslednou aktivitou v systeme (atribut User.last_access) bude v rozmedzi timeoutov nastavenych atributmi User.timeout_away a User.timeout_offline. Po prekroceni tohoto rozdielu sa status uzivatela zmeni na offline.

Poznamka: Uzivatelia, ktory budu systemom oznaceni ako away/offline, nebudu naozaj zo systemu odhlaseni, pojde len o logicke odhlasenie. K fyzickemu odhlaseniu dojde az po prekroceni casu User.timeout_logout.

Implementacna poznamka: Pokial bude atribut User.timeout_away nastaveny na 0, bude kazdy logicky prihlaseny uzivatel v systeme vystupovat ako online, bez ohladu na to, kedy naposledy spravil nejaku akciu. Pokial bude atribut User.timeout_offline nastaveny na 0, bude logicke prihlasenie splyvat s fyzickym. Uzivatel teda bude pred ostatnymi uzivatelmi vystupovat rovnako, ako bude fyzicky naozaj prihlaseny. Nulova hodnota u User.timeout_logout, zase zabrani automatickemu a uplnemu fyzickemu odhlasovaniu.

Profil uzivatela

Zo zoznamu online priatelov sa bude moct uzivatel priamo dostat k ich jednotlivym profilom. Zobrazenie profilu uzivatela bude dalej popisane v kapitole Prehlad uzivatelov.

Rychly prehlad fotiek

Na uvodnej stranke sa v okienku fotiek uzivatelovi zobrazia vsetky jeho fotky, pri ktorych pribudli nejake nove komentare. Pri kazdej fotke bude zaroven uvedeny aj pocet tychto komentarov. Tento zoznam sa uzivatelovi zobrazi v okienku s moznostou jeho skrytia. Okienko bude defaultne minimalizovane. Fotky budu v okienku zotriedene podla poctu novych komentarov. Pocet zobrazovanych poloziek v nom bude obmedzeny systemom.

Poznamka: Popis noveho komentaru bol popisany vyssie.

Detail fotky

Z rychleho prehladu vlastnych fotiek sa bude moct uzivatel dostat priamo k ich jednotlivym detailom. Zobrazenie detailu fotky bude dalej popisane v kapitole Detail fotky.

Rychly prehlad albumov

Na uvodnej stranke sa v okienku albumov uzivatelovi zobrazia vsetky jeho vlastne a oblubene albumy, v ktorych pribudli nove fotky alebo prispevky v diskusii. Pokial ma uzivatel prislusne prava, zobrazia sa aj tie, v ktorych cakaju nejake veci na potvrdenie. Spolu s vlastnymi a oblubenymi albumami sa v prehlade budu zobrazovat aj notifikovane albumy uzivatela, pri ktorych doslo k nejakej zmene podla jeho nastaveni notifikacii k danemu albumu (trieda AlbumNotification). Notifikovana zmena moze byt napriklad nejake nove prispevky v diskusii albumu alebo nove fotky. Pri kazdom albume bude zaroven uvedeny aj pocet jednotlivych novych udalosti. Tento zoznam sa uzivatelovi zobrazi v okienku s moznostou jeho skrytia.

Poznamka: Popisy noveho prispevku v diskusii, novej fotky v albume a veci cakajucich na potvrdenie v albume boli popisane vyssie.

Uzivatel sa bude moct rozhodnut, ci chce mat albumy v okienku zotriedene podla poctu novych prispevkov alebo podla poctu novych fotiek. Vlastne albumy budu nejak vyrazne odlisene od ostatnych oblubenych a notifikovanych albumov.

Detail albumu

Z rychleho prehladu albumov sa bude moct uzivatel dostat priamo k ich jednotlivym detailom. Zobrazenie detailu albumu bude dalej popisane v kapitole Detail albumu.

Rychly prehlad skupin

Na uvodnej stranke sa v okienku skupin uzivatelovi zobrazia vsetky skupiny, ktorych je uzivatel vlastnikom, alebo clenom a doslo v nich k nejakym zmenam od jeho poslednej navstevy. Spolu s nimi sa budu zobrazovat aj notifikovane skupiny uzivatela, pri ktorych doslo k nejakej zmene podla jeho nastaveni notifikacii k danej skupine (trieda GroupNotification). Zmenami u notifikovanych skupin mozu byt napr. nejake nove prispevky v diskusii skupiny, pripadne veci cakajuce na potvrdenie. Zmenami pri ostatnych zobrazovanych skupinach mozu byt nove prispevky, novi clenovia v skupine za urcite obdobie a pokial ma na to uzivatel pravo, cakajuci clenovia na vstup do skupiny a prispevky do diskusie cakajuce na potvrdenie. Pri kazdej skupine bude zaroven uvedeny aj pocet jednotlivych novych udalosti. Tento zoznam sa uzivatelovi zobrazi v okienku s moznostou jeho skrytia.

Poznamka: Popisy noveho prispevku v diskusii, noveho clena v skupine a veci cakajucich na potvrdenie v skupine boli popisane vyssie.

Skupiny budu v okienku zotriedene podla poctu novych prispevkov v diskusii. Vlastne skupiny budu nejak vyrazne odlisene od ostatnych.

Detail skupiny

Z rychleho prehladu skupin sa bude moct uzivatel dostat priamo k ich jednotlivym detailom. Zobrazenie detailu skupiny bude dalej popisane v kapitole Detail skupiny.