Enotify problem

Started by ppedja, August 07, 2014, 06:02:39 AM

Previous topic - Next topic

ppedja

Koristim mod Enotify, koji ponekad izbacuje notifikacije za postove koji su stari po par nedelja/meseci. Meni lično ne, ali se neki korisnici žale na takav problem...
Sumnjam da se oni ne izloguju valjano pa marker za nepročitane ne bude gde treba...
Koji je najbolji način za proglasiti sve poruke za pročitane?
Da li se neko sreo sa tim problemom kod Enotify modifikacije?

Branko.

Modifikacija obavještava korisnika samo za odgovore na njegove postove. Vrijeme za koje se stavke zapisuju je po defaultu 48h.
Takav problem nisam uočio ali je  zato modifikacija pravila nenormalno mnogo upita a kao rezultat davala lažan broj klikova (pregleda stranica) i žestoko usporavala učitavanje tema/postova. Izbacio sam je...
Strong people don't put others down, they lift them up.
A clever person solves a problem. A wise person avoids it.

ppedja

Hvala. Šta znači to 48h, da Enotify pamti (zapisuje u log) 48h?
Trenutno sam stavio tu opciju na 0 (nula), jer sam hteo da (probam) ne pamti ništa, ali ne vredi - čim se ulogem izbaci notifikacije.
Kako da vidim koje poruke neki korisnik nije pročitao, tj. mogu li ja za nekog da proglasim sve njegove poruke pročitane?

Meni Enotify radi odlično, bez greške, ali neki korisnici mi se žale da im izbaci notifikaciju za poruku koja je stara mesec dana.
Moguće da nije izbacio tu notifikaciju tada, pa se sada "seti" da je pokaže?
Gde Enotify pamti/loguje, mogu li to da ispraznim, tj. poništim? :-)

Branko.

Znači da bi nakon 48h trebalo da prestanu obavještenja. Mod dodaje dvije nove tabele u bazu i četiri polja u settings tabelu. Tabela log_enotify_replies je za postove a log_enotify_pms za privatne poruke. U njima imaš polja enot_read čija je početna vrijednost nula. Gdje god imaš jedinicu znači da je obavještavanje aktivno (ne mogu provjeriti ali treba da je tako). Ostala polja pokazuju naslov, link do post-a, primaoca itd. tako da možeš locirati/riješiti sporne postove (obavještenja). Generalno možeš i isprazniti cijelu tabelu enot_read.
Strong people don't put others down, they lift them up.
A clever person solves a problem. A wise person avoids it.

ppedja

Misliš, ako prođe 48h od nastanka notifikacije (u tabeli u bazi), i korisnik se uloguje tek posle tog vremena (ili mu se u roku od 48h ta notifikacija ne prikaže), onda se ta notifikacija neće ni prikazati?

Utvrdio sam da član koji se žali, zaista dobija notifikacije za teme u kojima je učestvovao, dakle, enotify dobro zapisuje i pamti koga treba da obavesi i za koju temu. Problem je zašto to nekada izbaci i 3 nedelje kasnije, a korisnik se za to vreme redovno logovao i nije tu notifikaciju video.

Da li će operacija:
- pogledaj sve poruke od moje poslednje posete/ sve nepročitane teme/ označi sve poruke za pročitane

poništiti tj. zaustaviti i sve dalje notofikacije ili Enotify ima svoj sistem, koje je nezavistan od ovoga gore i prikazivaće i dalje sve notfikacije dok ih ima u svojoj tabeli ... (mislim da je ovo drugo tačno)

Ono što sumnjam je da se korisnik:
- ne loguje redovno pa se nakupi gomila notifikacije za prikazivanje
- ima dosta nepročitanih tema (mada ovo nema veze sa Enotify?)
- čim se uloguje, brzo klikne npr. na nešto (npr. "novo" ikonicu) pa Enotify nema vremena da prikaže notifikacije
- enotify ima neki svoj prioritet pa prvo prikazuje svežije nego one starije notifikacije (otuda one starije zaostanu...)

Kako da vidim istoriju nečijeg logovanja?
Mogu li ja da porglasim za nekog sve poruke za pročitane?
I na kraju: kako da isprazim tabelu enot-read?
pogledao sam je i neki korisnici imaju "brdo" notifikacija koje ih čekaju (1 je u tabeli, znači nije prikazana?) a redovno se loguju na forum, tj. svaki dan su tu...

da ponovim, meni lično enotify radi bez greške, naravno , ja čitam sve poruke i često sam na forumu :-)

hvala opet :-)

Branko.

Nisam detaljnije analizirao cijeli mod ali znam da koristi funkciju ENotifyUpdateUnreadReplies (ažurira unread replies log), učitava Recent.php (očitava najnovije/nepročitane odgovore u temama), provjerava da li postoje takvi odgovori i smješta ih u enotify tabelu što znači da jeste povezano sa nepročitanim odgovorima. Sve tri operacije poništavaju dalje aktivnosti enotify preko funkcije ENotifySetRead i upisuje jedinicu što znači "označi pročitanim ako je stvarno pročitano".
Označavanje svih poruka pročitanim je moguće izvršavanjem tačno definisanog sql upita ali zahtijeva malo mozganja. Što se tiče pražnjenja tabela, uz svaku imaš jezičak isprazni u zaglavlju. Prethodno idi na jezičak Pregled i vidi stanje za polje enot_read i pokušaj da pojedinačno urediš sporne... 0 na 1 (pogrešno sam kazao prije)
Ako sam nešto preskočio u objašnjenju to je zbog gomile pitanja..  ;)
Strong people don't put others down, they lift them up.
A clever person solves a problem. A wise person avoids it.

.NoName.

Ako je to ovaj mod: http://custom.simplemachines.org/mods/?mod=2198

Skini ovaj fajl, izmeni u njemu šta je napisano da izmeniš, ubaci ga u root foruma, pokreni ga kao www.sajt.com/forum/read.php

Izbaciće ti belu stranicu, sačekaj sekund dva, zatim ga zatvori, obriši i to bi trebalo da je to.


Advertisement: