Ja to w sumie momentami ostro jechałem po MyBB, na którym siedzi forum PC Format i NEXT. Przede wszystkim narzekałem na obsługę zgłaszanych błędów, typowe pomyłki w podejściu programisty (np. czarna lista zamiast białej), problemy wydajnościowe (głównie z bazą danych), utrudnienia w aktualizacji pomiędzy wersjami… więc ktoś mógłby pomyśleć, że z MyBB nie jestem zadowolony. Otóż nie
.
Narzekam, bo taką mam naturę, ale uważam MyBB za całkiem dobry soft, wart polecenia. Wiele błędów młodości tego projektu zostało wyeliminowanych – przeszli na licencję open-source, używają systemu wersjonowania (wow
), aktualizacja do nowych wersji nie stwarza ogromnych problemów (najnowsza 1.4.4 -> 1.4.5 poszła szybko i gładko, choć zawiera sporo poprawek). Sama jakość kodu też się zmienia – większość tabel w bazie jest dobrze poindeksowana, kod projektowany jest “mniej więcej” w modelu MVC.
Oczywiście dalej brakuje pewnych istotnych elementów, np.:
- używania systemu śledzenia bugów (Bugzilla, Trac, etc.) zamiast wątków na forum,
- bardzo dokładnego audytu pod kątem wydajności na dużych forach (głównie bazy danych),
- optymalizacji dla wyszukiwarek (naprawdę SEF URL-e, czyli zawierające informacje; niestatyczne tagi META do opisu zawartości; sitemapy),
ale nobody’s perfect, racja? Patrząc po możliwościach jakie MyBB oferuje, tempie rozwoju oraz bogatej społeczności z czystym sercem można polecić.
Wybrane łaty na znalezione bugi lub problemy wydajnościowe (chyba uznane przez MyBB za niepotrzebne, błędne i w ogóle złe czy gryzące…):
- 015_limit_size_of_static_thread_cache.mod.diff – cache wątków (w formie statycznej zmiennej) może rosnąć w nieskończoność powodując stuknięcie w memory_limit, gdy użytkownik podał odpowiednie parametry;
- 810_use_better_rand_engine.mod.diff – nie używać rand(), ale mt_rand();
- 820_unneeded_distinct_in_sql_bug.diff – użycie DISTINCT jest w kilku miejscach bezużyteczne (SELECT bierze wiersze z polami z kluczem głównym, z jednej tabeli) i dodają niepotrzebne “using temporary“;
- 920_db_optimization_syndication_fetch_threads_only_from_last_few_days.diff – ucinając wybieranie do RSS-ów wątków z ostatnich 10 dni SELECT wykonuje się błyskawicznie zamiast w ciągu kilkunastu sekund (znika “using filesort” oraz ogranicza się liczba wierszy do sortowania);
kozik

kwiecień 21st, 2009 at 16:49
Ja uważam że MyBB jest bardzo dobrym skryptem. Jest na pewno elastyczny. I można go modyfikować do własnych potrzeb. Nie wiem jak jest ze wtyczką mybb do Wordpress.
maj 3rd, 2009 at 11:34
Co do ostatniego punktu wad, to do każdej jest wtyczka
Chociaż jak by było domyślnie, to źle by nie było, zwłaszcza że ten plugin Sitemap kuleje…