Uprawnienia phpBB3 trudno ugryźć, zwłaszcza gdy ktoś wyrósł na tabelkach i ptaszkach ala IPB/MyBB, jednak nie trudno zrozumieć dlaczego przypisywanie uprawnień odbywa się w taki a nie inny sposób.
Porównajcie ile uprawnień grupom ustawia się globalnie, a ile na forum. W takim IPB właściwie wszystkie uprawnienia ponad te standardowe (widzi, czyta, pisze, odpowiada, pobiera, uploaduje) trzeba ustawiać globalnie. Mam IPB 3.2 i tam ustawień "na grupę" jest... 71. I teraz wyobraźcie sobie że macie 12 grup na forum i każdej trzeba 6 uprawnień zmienić. I masz godzinę z głowy, bo zamiast zmienić te uprawnienia w jednym zestawie przekopujesz się przez sterty formularzy raz i kolejny sprawdzając te uprawnienia.
Nie twierdzę jednak że system uprawnień w phpBB3 jest idealny. Brakuje mi tutaj jakieś strony z podsumowaniem, listy for z informacją jaka grupa/użytkownik jaki ma doń dostęp przypisany. No i przy dużej liczbie for javascript który w założeniu miał ułatwiać pracę, potrafi zatkać przeglądarkę.
phpBB3 zostało napisane przez ludzi z olbrzymią wiedzą na temat projektowania aplikacji, zarządzania danymi, budowy systemów skalowalnych oraz bezpieczeństwa. W kodzie phpBB3 nie znajdziesz wynalazków pokroju eval("tutaj wygenerowany kod bo nie umielismy napisac jednego ktory dzialal by zawsze"); które potem trzeba na gorąco fiksować bo ktoś nie pomyślał że wsadzenie w eval() $_post jest dużym no-no. Nie ma też tutaj "kwiatków" w stylu "parsowanie 100% postu " albo "budujemy ACL usera" przy każdym requeście. phpBB3 to absurdalna liczba niskopoziomowych hacków i optymalizacji o których ludziom z MyBB nigdy się nie śniło a które sprawiają że skrypt ten działa lepiej, bezpieczniej i nie trzeba co 2-3 tygodnie wydawać kolejnej aktualizacji-łaty bo znowu gdzieś ktoś gdzieś nie pomyślał że skoro w jednym evalu jest nie sprawdzany $_POST, to może by sprawdzić pozostałe dla pewności.
No właśnie, "ktoś gdzieś nie pomyślał". Nim moderatorzy "wzięli się do roboty" na TAZ'ie była dyskusja między twórcą (Ryan Gordon) MyBB oraz jednym z devów phpBB (Juri Rusko)... interesująca bo człowiek zdał sobie wtedy sprawę jak niewiele wiedzy trzeba posiadać aby zrobić soft który się wybije... wystarczy tylko bezmyślnie przenosić każde rozwiązanie z softu który użytkownicy uznają za "fajny" (vB, IP.B). A później są kwiatki w stylu css.php do wyciągnięcia css stylu (bo pewnie skoro vB tak robi to tak trzeba). A jak ktoś wytknie błąd którego nie da się poprawić w jednym wydaniu (bo np. spartoliliśmy cały system) to zacznij się wykłócać że to nie błąd tylko feature i udowadniać że jest się koniem... albo po prostu zacząć wrzucać na autora zarzutów, tworząc kwiatki w stylu:
Cytat:It's simple: If you don't measure the performance of what you claim to be measuring, then you're not measuring the performance of what you claim to be measuring.
Measuring the way you are now is not accurately representative of purely the bulletin board you claim to be measuring.
Dla nie będących w temacie, swego czasu pojawiły się w sieci porównania wydajności kilku skryptów for. Każde forum miało taką samą bazę danych (bodajże 10 milionów postów w 1 tematów w 100 for z 1 userów). Następnie sprawdzało się ile wyświetleń indeksu, listy tematów forum oraz listy postów w forum dany skrypt potrafi maksymalnie dostarczyć nim skończą się mu dostępne zasoby. Okazało się że skalowalność w MyBB właściwie nie istniała (wyszło bokiem np. brak cachowania ACL'i albo preparsowania postów).
Jaka na to była odpowiedź twórcy MyBB? Zamiast powiedzieć "ok, jest nieciekawie ale będziemy optymalizować słabe punky" zaczął się wykłócać o to że porównywanie jednego stryptu forum do drugiego nie ma sensu i nie ma miarodajnego sposobu na zmierzenie wydajności programów pisanych w PHP... bo każdy jest napisany inaczej. I wtedy wybuchł śmiech, zrobił się flamewar i niestety moderatorzy skasowali przykłady oratorskiego talentu Gordona. Został tylko kwiatek że porównanie liczby odpowiedzi na sekundę nie jest miarodajnym pomiarem wydajności skryptów. (Nie miał być pomiarem, tylko porównaniem właśnie).
To co zostało po dyskusji można przeczytać
tutaj.