Tagok belépése és kilépése popup?

Szerző
Üzenet
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2013.10.03. 15:12    Hozzászólás témája: Tagok belépése és kilépése popup?
Hozzászólás az előzmény idézésével
Sziasztok!

Az egyik oldalamra nem járnak fel sokan, viszont hasznos lenne, ha látnánk egy opcionális popup ablakban, hogy éppen belépett valaki vagy kijelentkezett. Éppen azért, mert kevesen járunk, jó lenne, ha legalább nem kerülnénk el egymást.
Részben már fel van telepítve az ajaxos "Ki van itt", ezért gondolkodtam olyan megoldáson, hogy ezt használnám ki valamilyen módon. Ilyen esetben azon a megoldáson törtem a fejem, hogy mivel ez fél percenként úgyis lefut, akkor egy időben dobjon fel egy ablakot (mint a privát érkezésénél is teszi ez a mod), hogy "xy belépett" vagy "xy kilépett/elhagyta az oldalt". A megvalósításon is gondolkodtam, hogy a jelenlévők listáját egy változóban lementeném, és egy újabb frissítésnél a két lista összehasonlítása alapján kiderül, hogy ki az új tag. Ez Javascript alapú lenne, ha már be kell építeni.
A másik irányból viszont azon is gondolkodtam, hogy önálló mod lehetne és akkor a belépő kódba kellene belenyúlni és amikor valaki a logint meghívja, akkor a rendszer megüzenné, aki bekapcsolta ezt az opciót.

Tehát míg az első fél percenként hívná a rendszert a háttérben, a második a push, tehát a belépő kezdeményezi a folyamatot.

Melyik irányban lenne célszerű elindulnom? Melyik terhelné kevésbé a rendszert? Ráadásul ha egyszerre többen is lépnének be, akkor jobb lenne gyűjtve kiírni, úgyhogy helyből tömbökkel dolgoznék. :)

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2013.10.04. 09:52    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Nekem tetszik ez az ötlet, és ha ez egy MOD-ban megvalósulna, én is szívesen alkalmaznám.
Normál körülmények között az oldalra a belépés, és a kilépés a login - logout funkciókkal lehetséges, így én inkább azzal próbálkoznék, talán egyszerűbb lenne. Nem kellene listákat össze hasonlítgatni, és valós idejű lenne.
A "Ki van itt" lista ráadásul csak tájékoztató jellegű, nem minden esetben lehet rá hagyatkozni. Ha például 5 percre van beállítva, és mondjuk hosszabb lélegzetű hozzászólásokat olvasol a fórumon csak a böngészőt görgetve, esetleg elmész felrakni közbe egy KV-t, és 5 perc után nincs "aktivitásod" az oldalon, már nem is vagy benne a listába, hiába még mindig az oldalon a hozzászólásokat olvasod.

A Belépés vagy Kilépés gombra való klikkeléskor (mondjuk a bal alsó sarokban) feljönne egy kis ablak (3 - 5 - 10 másodpercre, esetleg egy hang jelzéssel), hogy XY belépett - kilépett. Belépéskor esetleg a neve alá kiíratni a regisztráció idejét, és abból látható, hogy "új" tag, vagy "régi" tag.

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2013.10.04. 10:26    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Mondjuk az az alternatíva is megfordult a fejemben, hogy ezt az ajaxos ki van itt-et (vagy ennek egy átalakított változatát, ami most is fél percenként pörgeti a listát) lehetne kitenni állandóra valahová, tehát ne csak az indexen jelenjen meg, mert akkor állandóan szem előtt lehetne és a sok popup nem lenne zavaró. Tehát ez is még felmerülne harmadik lehetőségként. Igaz, ez inkább fix szélességű sablonoknál lehetne jó, mint rugalmasoknál, mert ha olyan helyen használnánk, ahol sokan vannak, elfoglalna egy csomó helyet.
Szóval töröm a fejem, melyik megoldás lenne jobb, aztán meglátjuk, belevágok-e, de mindenesetre nálunk jól jönne. Hasonlóan összevonható lenne a Who is where moddal. Csak ténylegesen a legkevesebb erőforrással járó megoldáson gondolkodom. A login során lévő push módszer azért érdekes, mert a post során kellene egy másik felületen ellenőrizni az éppen bent lévő értékeket, tehát a hívásokat sem tudom megspórolni. Vagy volna erre egyszerűbb megoldás? Lehet, hogy mégis az ajaxos ki van ittet viszem át globálisra... :roll:

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1128
Hozzászólás Elküldve: 2013.11.23. 19:37    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Hol tart a projekt, van már valami eredmény?
_________________
Ne kérd, hogy vegyelek fel MSN-re, mert nem használom!
Használj helyette te is inkább ooVoo-t!

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2013.11.23. 20:03    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Egyelőre még más irányban foglalkoztam a dolgokkal (pl. anythingslider beépítés, google fontok, szöveg újratördelése sorkizártra és bekezdések első behúzására, vagy az oldaloptimalizálás speedtestre /vicc, hogy a PHPBB mennyire nincs optimalizálva CSS szempontjából, még az alapsablonokban sem/).
Éppen ma nézelődtem hasonló pluginek után (pl. az Alert for login), hogy mások miként oldották meg, de még nem volt időm rá, sorry. Ráadásul azért is lényeges lenne a mód, mert kiderült, hogy pl. a Who was here és a who is where pluginek ha már fent vannak és egy forgalmas oldalon (pl. az indexen), akkor annyira terhelik a szervert, hogy már szóltak nekem a gazdák, hogy nézzek utána, mi lassít ennyire. Úgyhogy ki kellett azt is sakkoznom, hogy melyik javascript hol fut.
Úgyhogy jó lenne, ha a következő főverziónál alapból bekerülne a Bootstrap és a JQuery. Most épp a subsilver sablont próbálom átszabni bootstrappel, és hát vannak érdekes sablonütközések classban és alap paraméterekben (pl. kapásból felülírta a body-t mint fehér háttér). Tudom, van Bootstrap sablon PHPBB-re, de mivel tele van moddal a cucc, ezért egyszerűbb felülírni a felülbírált értékeket egy másik css-sel és akkor tudom használni.

Úgyhogy röviden annyi: még nincs a dolog semerre.

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2013.11.24. 13:15    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A 3.1-ben jQuery már lesz, Bootstrap viszont egyelőre nem lesz licenszelési és egyéb megfontolásokból.
A 3.1-ben lesz egy értesítési rendszer is, ami különféle események (a felhasználót idézték egy hozzászólásban, hozzászóltak egy feliratkozott témához, moderálni kell valamit stb.) esetén tud jelezni a felhasználóknak. Jelenleg felhasználó bejelentkezési esemény nincs benne, valamint csak oldal újratöltéskor kéri le az új eseményeket (szerintem ehhez később biztos lesz valami AJAX-os bővítmény), de lehet, hogy így is találnál benne hasznosítható ötletet.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2013.11.24. 14:27    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A JQuerynek és az események jelzésének örülök, a Bootstrap (vagy hasonló grid rendszer) viszont lehetne benne, mert a külön mobil megoldások helyett ez kiváltaná. Ahogy olvasom a belinkelt topikot, a 3.1-es Bootstrap már MIT licenszes lesz, és a Joomla is már beépítve tartalmazza (igaz, a 2.3.2-es verziót).
Viszont ha ilyen újdonságok lesznek a 3.1-es PHPBB-ben, akkor lehet, hogy a további (nagyobb) fejlesztésekkel megvárom azt a kiadást. Remélem, azért egy jQuery 1.10.2-est meghagynak a régebbi IE és a kompatibilitások miatt (plusz migrate plugin), nem csak a 2-es széria kerül bele... :roll:
Ettől függetlenül még töröm a fejem a megoldáson, viszont ajaxban egyáltalán nem vagyok otthon és inkább újrahasznosítható vagyok jQuery terén is, mint önmagamtól írjak egy teljesen új plugint. No de senki sem tanul meg egyből futni, ha még csak térdelni tud... :D
Ami egyelőre biztos: session táblára lehetne alapozni, de ott az lenne a probléma, hogy túl sokszor kellene lekérni az adatbázist, no meg mihez képest? Tehát a script mondjuk akkor nem futna, ha senki sincs bent éppen, mert ezzel feleslegesen terhelné a szervert. Az sem megoldás, hogy felhasználónként eltérő időpontban futna le. Ezen kívül nálam a session idő nagy értékre van állítva, mert egy-egy felhasználó sokáig tartózkodik bent (néha fél-egész napot be vannak lépve), plusz ahány lapra megy, a PHPBB nem felülírja a régi sessiont, hanem újat oszt ki (ahogy elnéztem), ha pl. több fülön is böngész.
Oké, lehet az adatbázisban a sessiont is maxolni, de ismét a mihez képest? Az, hogy aznap mikor hívta meg először az indexet? És ha közben kilépett és később vissza, de az előző session ott maradt? Na meg ha menetközben hol ide, hol oda sászkál, aztán visszatér az indexre, akkor az is új belépés lenne? :roll: Pedig a session táblán kívül tényleg csak a belépéshez lehetne egy scriptet lefuttatni, ami beír egy táblába, és esetleg ezt a táblát figyelném félpercenként, hogy változott-e valami? Kilépéskor szintúgy. Már ha az illető egyáltalán megnyomta a kilépést vagy csak simán bezárta a böngészőt (és így a session sem törlődik)? :roll:
No ilyen dolgokon agyaltam a nekifogásnál, aztán félretettem.

Felhasználó profiljának megtekintése Privát üzenet küldése
Hozzászólások megtekintése:  

Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés