offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Dosta sam izmenio nacin na koji phpBB prikazuje listu najnovijih poruka, poruke u forumima, i index stranicu...
Sada su skripte mnogo manje zahtevnije [za server] i brze se izvrsavaju...
Ne garantujem da ce server raditi brze sada, jer, server do sada nije ni bio spor zbog mycity-ja [vec zbog drugih stvari], ali ce sigurno server imati sada laksi posao, bar sto se tice mycity-ja.
MySQL tabela za topice je nadogradjena, radi lakse manipulacije sa listom novih poruka... SQL upiti su sada mnogo jednostavniji, i izvrsavaju se i do 10 puta brze... Tehnicki detalji o izmenama su ovde.
Optimizacija u skriptama je bila neophodna za sledecu nadogradnju - filtere.
Trenutno sam ubacio jednu vrstu filtera... to je medju korak, ka punoj podrsci za filtere.
Naime, listu najnovijih poruka sada mozete da filtrirate po 'grupama' foruma.
Znaci... na Indeksu imate grupe foruma, a svaka grupa ima svoj ID:
------
Software - 2
Igre - 18
Internet - 4
Hardware - 12
Networking - 13
Programiranje - 6
Nauka - 10
Ostalo - 7
Poezija/lyrics/ljubav/kultura - 15
Obavestenja - 9
Slike i Cestitke - 19
e sada... recimo da hocete da iskljucite Ostatak i Poeziju, i da pratite samo Tech forume, ukljucujuci i Obavestenja :
http://www.mycity.rs/phpbb/getdaily.php?iparts=7,15,19
znaci, iskljucis 7 - to je 'Ostalo', i iskljucis 15 - to je Poezija, i 19 - to su Slike i Cestitke.
i onda dobijes 100% Tech MyCity bez poezije, lyricsa, cestitki, nasih slika, i svega sto ide pod 'Ostalo' [muzika, film, mali oglasi...]
postoji i inverzni filter, da gledas samo grupe koje zelis:
http://www.mycity.rs/phpbb/getdaily.php?parts=7,9,15,19 (razlika je u 'iparts' i 'parts'... ono 'i' je ignore, a u ovom slucaju ga nema)
i onda pratis samo Ostatak [muzika, filmovi, zdravstvo, vesti...], Poeziju/lryrics/ljubav, Nase slike/Cestitke i Obavestenja...
moze i samo jedna grupa da se gleda, recimo:
http://www.mycity.rs/phpbb/getdaily.php?parts=7
i onda gledas samo najnovije poruke iz grupe 'Ostatak'...
kombinujte, kako zelite...
napravicu formu, interfejs, za to kombinovanje, ovih dana...
getdaily.php moze sada da ide koliko zelite unazad, ako stavite utime=0 parametar -> http://www.mycity.rs/phpbb/getdaily.php?utime=0
morao sam da izbacim prikazivanje za broj strana, i broj najnovijih poruka, u getdaily.php skripti, jer je to, preracunavanje broja poruka i broja strana unapred, znalo da optereti bazu... jer je on pravio 'query' za kompletnih 24h, umesto za prikazanih prvih 50 topica.
i dodao sam na prvoj strani sve ovo o cemu sam pricao:
Pogledaj nove poruke samo iz TECH delova foruma
Pogledaj nove poruke samo iz opuštenih delova foruma
i
Pogledaj poruke napisane u protekle 3 god
punu podrsku za filtriranje, po forumima, ocekujte uskoro...
eh da... i jos nesto...
sve ove optimizacije su zahtevale korenite izmene u samoj osnovi phpBB-a... ovo je do sada najveca moja izmena phpBB-ovog jezgra... preko 400 linija sam modifikovao... i 10 php skripti...
ako primetite bilo kakvu gresku (osim OVE, za koju vec znam, i koju vec resavam), ako primetite bilo kakvo ne poklapanje username-a korisnika koji je napisao zadnju poruku u ne poklpanje vremena zadnjeg posta u nekom topicu/forumu - prijavite to odmah ovde!
|