Prezentacja dodatków dla MyBB — cz. 1

Co prawda jakiś czas temu zrobiłem to na forum, lecz postanowiłem pochwalić się swoimi dodatkami dla MyBB również na łamach bloga dobrychprogramów. Przede wszystkim warto byłoby zacząć od wyjaśnienia, czym w ogóle jest MyBB? MyBulletinBoard, bo tak wygląda pełna nazwa, to oprogramowanie do budowy własnego forum dyskusyjnego, działające w oparciu o PHP i możliwych do użycia typów baz danych. Całość jest w pełni darmowa, od dosyć dawna rozpowszechniana na licencji LGPL v3.

Nie będę tutaj opisywał poszczególnych funkcji forum. Zainteresowanych zapraszam do lektury mojego wcześniejszego wpisu, w którym opisuję zmiany jakie zaszły w udostępnianej w tamtym czasie MyBB w wersji 1.6. Od tego czasu nieco minęły, kolejne mniejsze aktualizacje w obrębie tej samej serii (1.6.x) przyniosły kilka dodatkowych możliwości. Skrypt ten zdobywa coraz większą popularność, być może ze względu na bardzo przyjazny interfejs (zarówno dla użytkownika jak i administracji której przyjdzie zarządzać forum), spore możliwości, a także bardzo łatwy sposób na rozszerzanie poprzez instalację wtyczek.

W tym wpisie chciałbym właśnie opisać kilka dodatków do MyBB, których jestem autorem. Od razu zaznaczę, że osobiście jestem fanem phpBB i wiele z pomysłów przyszło właśnie z tamtego skryptu, lub też z modów jakie są dla phpBB 3 dostępne i z jakich sam korzystam na swoim forum. Wszystkie zaprezentowane tu dodatki są dostępne za darmo na licencji Creative Commons i zgodne z najnowszą stabilną wersją MyBB. W każdym wypadku podaję polskie nazwy, chociaż nie zawsze mówią one w kilku słowach tyle, co angielskie odpowiedniki. No to zaczynajmy.

Powiązane tematy

Podczas udzielania się na polskim supporcie MyBB nad wyraz często zdarzały się tematy dotyczące dokładnie tego samego problemu. Nie jest to zjawisko nowe i bardzo często występuje na tego typu forach, no ale jeżeli użytkownicy nawet tytułowali je w bardzo podobny sposób, a za to nie chcieli poświęcić chociażby chwili na szukanie rozwiązania, należało coś z tym zrobić. Ktoś wpadł na pomysł, aby podczas tworzenia nowego tematu wyświetlane były tytuły i linki do podobnych na podstawie tego, co użytkownik wpisał w pole tytułu. To był właśnie impuls do tego, aby zrodził się ten plugin.

Powiązane tematy w akcji
Powiązane tematy w akcji

Całość działa "w locie" tj. z użyciem ajaxa. Administrator może wybrać konkretne fora do przeszukania, wykluczać dowolne, bez martwienia się o uprawnienia, bo tym dodatek zajmuje się automatycznie. Ponadto możemy wybrać pomiędzy wyszukiwaniem pełnotekstowym z użyciem indeksu FULLTEXT, a zwykłym wyszukiwaniem z użyciem LIKE, oczywiscie o ile wiemy jakie są pomiędzy nimi różnice.

Ulepszony antyspam

Walka ze spamem to czasami ciężkie zajęcie. Standardowa wbudowana w MyBB captcha obrazkowa była dosyć długo dobrym zabezpieczeniem (do tego prostym do odczytania dla ludzi), ale gdy skrypt nabrał popularności szybko została złamana no i fora zaczęły zalewać fale robotów spamujących. Pojawiło się wtedy kilka pluginów dodających coś nowego lub zmieniającego captchę, jednym z popularniejszych była reCaptcha, której osobiście bardzo nie lubię ze względu na czasami znacznie zbyt skomplikowane rzeczy do odczytania. Wzorując się na pewnym dodatku dla phpBB 3, postanowiłem stworzyć własny plugin dla MyBB.

Z pozoru nie zmienia on nic. Standardowa captcha z MyBB nadal wygląda tak jak wyglądała. Zmienia się jednak kod formularza. Przede wszystkim, pole w które trzeba wpisać odczytany z obrazka kod ma losowy identyfikator i nazwę. Losowa jest również podana w kodzie maksymalna długość tego kodu. Oba te zabiegi mają na celu zmylić roboty i nie pozwolić im odnaleźć tego pola, lub w najgorszym wypadku ogłupić na tyle, aby wpisywały coś nieodpowiedniego. Całość jest zgodna z odświeżaniem i walidacją po ajaxie, więc normalny użytkownik nie zauważy różnicy i w chwilę po wpisaniu kodu przekona się, czy zrobił to dobrze. Jak jest z skutecznością? Na razie nie zgłaszano mi żadnych problemów, acz nie mogę wykluczyć, że z czasem trzeba będzie dorzucić coś jeszcze.

Kolorowe nicki

W tym wypadku nazwa może wydawać się dosyć dziwna... no niestety na nic innego nie wpadłem, a w ogóle ciężko w 2-3 słowach opisać ten plugin. Co on w ogóle robi - po prostu, "koloruje" nazwy użytkowników na naszym forum. MyBB umożliwia ustawienie stylu dla każdej z grup użytkowników, lecz są one używane tylko podczas przeglądania tematu. Gdy przeglądamy stronę główną lub też poszczególne działy, wszystkie nazwy są wyświetlane w taki sam sposób, zależy od głównych styli CSS.

Kolorowe nicki w widoku działu
Kolorowe nicki w widoku działu

Kiedyś istniał plugin robiący to samo, lecz sprawiał on pewne problemy i był skierowany tylko dla starszej, nierozwijanej i niewspieranej już gałęzi MyBB 1.4.x. Mój plugin działa w nieco inny sposób, dzięki czemu oprócz nazw użytkowników "koloruje" również moderatorów i grupy ustawione jako moderatorskie. Wszystko to natomiast bez zbędnego obciążania naszego forum, w szczególności gdy używamy bardzo popularnego dodatku Google SEO, który min. zamienia linki na bardziej przyjazne dla robotów indeksujących i zawierające słowa kluczowe. Poprzednia wersja (zarówno dla MyBB 1.4 jak i mojego autorstwa) tak pięknie z nim "współpracowała" że dochodziło do sytuacji w której wykonywane było np. ponad 200 zapytań do bazy danych na wyświetlenie strony tylko dla tych dwóch dodatków...

Przyjazne (SEO) tytuły

Wszyscy zadają sobie wciąż pytania - co zrobić, aby zajmować w np. Google jak najwyższą pozycję. W wypadku MyBB użytkownicy mają "jedną prawidłową receptę na sukces" - instalują wspomniane już Google SEO i czekają... na cud. Trudno nie zauważyć zalet idących z przyjaznymi linkami oraz dynamicznie ustawianymi meta-tagami, ale wydaje mi się, że to jednak za mało. Moim zdaniem czasami nie ma potrzeby używania równie wielbionych przez użytkowników chmur tagów czy chmur bazujących na żądaniach prowadzących na nasze forum z wyników wyszukiwania Google. Nie są to specjalnie naturalne metody. Poza tym niewiele osób zauważa, że Google w narzędziach dla webmasterów w wypadku MyBB daje wyraźnie do zrozumienia, że tytuły podstron duplikują się na zastraszającą wręcz skalę.

Wynika to z faktu, że np. strony wątków, działów itd. nie mają w tytułach numerów podstron. Brakuje również nazwy forum, co dla mnie osobiście jest strzałem w stopę - nie lubię gdy podczas szukania czegoś w Google widzę sam tytuł problemu, ale nie widzę nazwy serwisu w jakim jest opisywany. Takie informacje dodatkowo naprowadzają użytkowników i pozwalają im często zadecydować o użyteczności strony przed wejściem na nią. Ten plugin jest bardzo prosty i został przeze mnie stworzony właśnie po to, aby dodać taką, jakby się mogło z pozoru wydawać "pierdółkę". Dodaje on numery podstron oraz nazwę forum zarówno dla podstron działów, jak i podstron tematów. W planach mam rozbudowanie go o możliwość ustalenia wyglądu tytułu z poziomu panelu administracyjnego, bo na razie obsługa ogranicza się do wrzucenia i aktywowania, a warto byłoby dać administratorom wolną rękę.

Tematy bez odpowiedzi

Czasami jestem mocno dziwiony tym, co oferuje MyBB a czego w nim brakuje. To jest dobry przykład - znajdziemy w nim w standardzie np. prefiksy dla tematów, ale nie znajdziemy łatwej możliwości wyszukiwania tematów, w których nie udzielono żadnej odpowiedzi. Funkcja może i nieco dziwna, ale przydatna np. dla kogoś kto chce przejrzeć tematy w których nikt jak do tej pory nie mógł autorowi pomóc. Plugin stworzyłem po to, aby udostępnić taką możliwość.

Szukanie tematów bez odpowiedzi
Szukanie tematów bez odpowiedzi

Bazuje on na innym moim dodatku (którego w tym wpisie omawiać nie będę), przez co oferuje kilka, moim zdaniem całkiem przydatnych opcji. Przede wszystkim, również tu administrator nie musi się martwić o jakiekolwiek uprawnienia związane z działami, bo sprawa "załatwia się sama" pod maską. Może za to wykluczyć fora z wyszukiwania np. jakieś przeznaczone na ogłoszenia, czy też kosz, oraz włączyć wyświetlanie w linku do tej wyszukiwarki licznik, który będzie bez wchodzenia w wyszukiwarkę pokazywał, ile jest tematów w których nie ma żadnych odpowiedzi.

Na dzisiaj to tyle, pozostałe dodatki zaprezentuję w drugiej części, aby nie przesadzać z długością artykułu i tym samym nie przestraszyć potencjalnych czytelników :) Wszelkie oceny, opinie i pomysły są oczywiście mile widziane. Z chęcią przeczytam również o tym, co chcielibyście zobaczyć w MyBB - być może będzie to pomysł na kolejny plugin? 

internet programowanie

Komentarze (12)

avatar | 09.02.2012 18:49
Ciekawy wpis. Bardzo mnie zainteresował, mimo iż żaden z prezentowanych pluginów nie przyda mi się. Liczę jednak, że w przyszłych częściach znajdę coś dla siebie [=
avatar
Jaro070niezalogowany (niezalogowany)
| 09.02.2012 21:35
Czy plugin Przyjazne (SEO) Tytuły zadziała razem z pluginem Google SEO?
avatar | 09.02.2012 21:59
osobiście używam 2 pierwsze wtyczki. jednocześnie stwierdzam że robisz świetną robote w polski supporcie MyBB ;) pozdrawiam
avatar | 09.02.2012 23:45
Osobiscie preferuje fluxBB, głównie za czytelnosć kodu a co za tym idzie łatwość dostosowywania.Jednak wiele modyfikacji musiałem napisać sobie sam, jednak frajda jest nieprawdopodobna, lekkkosć też.
avatar | 10.02.2012 0:06
"Download polskiego supportu MyBB"
"Download"? ... "Supportu"?
avatar | 10.02.2012 0:15
@Bucic
Wsparcie jest nazwane supportem, zaś czym jest download wie chyba każdy.
Niestety ale język polski nie wszędzie pasuje, można by dać:

"Pobieranie ze strony polskiego wsparcia MyBB"

ale nie uważam to za lepsze, wolę stosować nazwy angielskie.
avatar | 10.02.2012 8:15
Ja bym napisał "Do pobrania ze strony polskiej społeczności rozwijającej MyBB"
Mieszkamy w Polsce, piszmy i mówmy w naszym ojczystym języku.
avatar
jonnywhuu (niezalogowany)
| 10.02.2012 10:13
A on napisał jak napisał to jego blog i niech pisze jak chce :P
avatar | 10.02.2012 11:34
Też prawda.
Temat ciekawy, niemniej jednak pozostanę przy starym i sprawdzonym Przemie.
Tak, wiem, że stare i wolne, ale dla mnie najlepsze, szczególnie po wgraniu około 30 modyfikacji wszystko robi mi się samo :)
avatar | 10.02.2012 11:40
@LordRuthwen:
Nawiązanie do Przema będzie w części 2 :)
avatar | 10.02.2012 14:08
Ta, struktularny, dziurawy przemo :D
avatar
xtion11231 (niezalogowany)
| 21.05.2012 14:22
Czy istnieje dodatek do MyBB, który pozwala personalizować wiadomości masowe wysyłane do użytkowników forum, np. wklejać e-mail użytkownika?
Dodaj komentarz