28
mrz.
2006
palikowski

Mambo 4.5.x - społeczność Shadowrun RPG

Luźne notatki z moich doświadczeń w używaniu i dostosowywaniu "Mambo 4.5.x http://mamboserver.com do potrzeb strony Shadowrun-polska.

Poniższy tekst będzie uzupełniany co jakiś czas.Strona Shadowrun-Polska powstała dość niespodziewanie. Ot dwóch zapaleńców, miłośników Shadowrun RPG (palik i mattness) spotkało się w Sieci. Uznali że ich działania mają ten sam cel i należy natychmiast zjednoczyć siły oraz powołać do życia stronę i forum o tym zapomnianym niemal RPG.

Zafascynowany podówczas Mambo wybrałem ten CMS jako 'bazę' na której strona powstanie. Sceptyczny Mattness nie szczędził krytyki i dzięki temu poznawałem coraz to więcej i więcej błędów i niedoróbek Mambo. Teraz, gdy strona trochę okrzepła a błędy w większości zostały wyeliminowane mogę pokusić się o pierwsze podsumowanie.

Instalacja na pierwszym serwerze - tripod.lycos.co.uk - przebiegła bez większych problemów, późniejsze przenosiny na serwer dhost.info oraz nytka.org wymagały już trochę zachodu (zmiany ścieżek, konfiguracji, niektóre komponenty w nowym środowisku odmawiały współpracy itp - normalka). Niestety darmowe serwery oferują ograniczone możliwości - tryb safe_mode uniemożliwia na przykład tworzenie przez skrypt plików, co skutecznie utrudnia pracę wszelkich galerii (tworzenie miniaturek) oraz instalatorów Mambo. Sztuczki z dostępem skryptu przez FTP są dość uciążliwe i często zawodne.

Ostatecznie wylądowaliśmy na płatnym serwerze hostbank.pl, gdzie zainstalowałem skrypt całkiem od nowa i za pomocą phpMyAdmina wgrałem po kolei dane o użytkownikach, treść artykułów i tak dalej. Komponenty instalowałem od nowa (część z nich w nowszych wersjach).

ZAŁOŻENIA PROJEKTU

Strona miała podstawowe założenie - skupić polskich fanów systemu Shadowrun. Do osiągnięcia celu postanowiliśmy umożliwić każdemu odwiedzającemu:

- zarejestrowanie się
- wpisanie swoich danych dotyczących shadowruna (czy gra, grał bądź dopiero zaczyna, czy szuka ludzi do gry czy tylko do pogadania)
- dyskusje na forum
- komentowanie zawartości serwisu
- maksymalne ułatwienie dodawania treści
- możliwość częściowego spersonalizowania ustawień serwisu (np. wybór szablonu, wgranie avatara)
- możliwość wysyłania wiadomości do użytkowników serwisu (massmail) oraz pomiędzy nimi (Private Messaging)
- przeglądanie zarejestrowanych użytkowników pod kątem tego skąd są, od kiedy grają, czy są mistrzami czy graczami itp. (baza danych graczy shadowruna)

Z powyższych punktów 'gołe' Mambo spełnia bardzo niewiele. Pozwala co prawda na rejestrację użytkowników ale:

- wprowadzanie niektórych treści (np. nowych artykułów) możliwe jest dopiero po przyznaniu przez administratora odpowiedniego poziomu dostępu (konieczne jest zmodyfikowanie skryptu Mambo aby automatycznie 'wrzucał' użytkownika do kategorii Autorzy - a to niesie za sobą konieczność pamiętania o tym i każdorazowego poprawienia kodu przy upgrade skryptu do nowszej wersji).

- brak możliwości dodania nowych pól w profilu użytkownika, należy wgrać komponent dodatkowy. Mamy wybór około 3 takich skryptów z czego szczególnie dobry jest Community Builder - oferuje bardzo rozbudowane i proste w użyciu narzędzia, i dlatego on zostaje wybrany. Ma on oczywiście swoje wady - listy użytkowników generowane przezeń nie dają się przeszukiwać ani sortować - można co prawda utworzyć ich kilka ale mało ma to wspólnego z wygodą. Znowu trzeba podrasować skrypt, wprowadzić kilka zmian, które znikną w momencie wypuszczenia nowej wersji.

- komentowanie treści jest niemożliwe - należy zainstalować dodatkowy darmowy komponent - albo komentarze 'niezależne' (AkoComment) albo specjalny bot do komentowania artykułów na forum. Wybieramy wersję z botem do Simpleboard'a. Po zmianie forum na SMF czeka nas przeróbka wszystkich mambotów na nowe, ale to mały problem.

- brak forum - a wybór jest bardzo niewielki - jedyne w pełni zintegrowane fora to simpleboard (na dziś nadal wersja Beta z całą gamą błędów) lub LoudMouth (niektórzy je lubią, ja nie). Mambo z forum IPB bądź phpBB to nadal bardzo mglista i pełna niebezpieczeństw wizja - szczególnie jeśli chcemy używać jakiegoś komponentu do zwiększenia możliwości profili użytkowników Mambo (a chcemy - niestety phpBB+CommunityBuilder nie współdziałają ze sobą). Ostatecznie wybieramy Simpleboard w wersji (podobno) stabilnej 1.3 ale za to z dziurą w zabezpieczeniach licząc na to że nikt się nie włamie. Mimo wszystko stabilność i funkcjonalność jest jak forum - dyskusyjne :). Problemy z polskimi znakami zmuszają do zmian w kodzie komponentu.

- wybór szablonu - jest możliwy ale system pamięta go tylko do czasu wylogowania użytkownika - po przelogowaniu trzeba znowu kliknąć w specjalną 'wybierałkę'. Rozwiązaniem może być kolejny 'hack' w Mambo połączony z wyborem szablonu w profilu (z pomocą przychodzi Community Builder). Chyba pora się przyzwyczaić.

- Masowy e-mail do użytkowników jest możliwy i prosty. Wiadomości prywatne już trzeba doinstalować. Odpowiedni skrypt jest nawet na tyle popularny że kilka komponentów oferuję jego obsługę (w tym simpleboard i community builder). Wybrano MyPMS II.

Jak widać dużo zależy od komponentów pisanych przez miłośników Mambo, które nie zawsze są tworzone z myślą o innych komponentach :). Poszczególne wersje dość często zawierają błędy a czas poprawiania skryptów jest bardzo długi - na stabilną wersję forum Simpleboard czekamy już około pół roku. Nic w tym dziwnego - powie ktoś - w końcu to system darmowy.

Do pełni szczęścia instalujemy jeszcze galerię ZOOM - dość prostą i o wystarczających jak dla nas możliwościach, oraz edytor FCK - ponieważ umożliwia każdemu Autorowi wgrywanie obrazków bez użycia Media Managera. Jeszcze proste ReMository (komponent do zarządzania działem download) i mamy prawie wszystko. Pomniejsze komponenty i moduły typu scrollowane newsy czy Shoutbox nie wymagają jakichś głębszych omówień.

Po instalacji komponentów zabieramy się do ustawiania, konfigurowania i grzebania w PHP w celu wydobycia z 'dziewiczych' skryptów tego co nam potrzebne.

Wiele osób podchodzi do tej fazy na zasadzie 'jak czegoś nie można ustawić w konfiguracji (i to najlepiej na zasadzie wybierania opcji w formularzu konfiguracyjnym) to dajemy za wygraną'. Konfiguracyjne pliki tekstowe są dla niektórych zbyt trudne, a co dopiero grzebanie w kodzie komponentu czy modułu. O tak oczywistych sprawach jak czytanie dokumentacji, odwiedziny na stronie skryptu, na forach dotyczących Mambo już nie wspominam. Jeśli od tego nie zaczniemy to lepiej od razu dajmy sobie spokój. Niestety często rozwiązaniem jest odpalenie edytora html i wprowadzanie poprawek do samego skryptu.

W ten sposób właśnie 'podrasowywałem' stronę aby uzyskać drobne ale cieszące serce każdego admina wyniki:
- avatar użytkownika wyświetlany tuż obok powitania (już nieaktualne)
- informacja o nowej poczcie przy avatarku
- 'klikalne' nazwy na liście zalogowanych użytkowników (prowadzące do profilu)
- ikonki poczty przy nazwach użytkowników (po kliknięciu przechodzimy do pisania wiadomości do danego użytkownika)
- avatarki w simpleboard pobierane z konfiguracji community builder'a (czyli takie same w profilu i na forum simpleboard) (nieaktualne)
- informacja o prywatnej poczcie w widoku profilu użytkownika

Po pewnym czasie stało się jasne że forum SimpleBoard sprawia sporo kłopotów - tak adminom jak i zwykłym użytkownikom. Chyba największą bolączką był brak możliwości przenoszenia części postów do innego wątku (dzielenie i scalanie tematów). Mniejsze problemy wynikały z ambicji twórcy simpleboarda - chciał aby skrypt działał w każdym języku, niestety niedopracowane mechanizmy tylko gmatwały sprawę - ciągłe przeróbki w celu poprawnego kodowania znaków w powiadomieniach na mail i innych częściach forum były normą.

Na szczęście pojawiło się światełko w tunelu. Forum SimpleMachines (SMF) a konkretnie jego integracja działająca z modułem logowania Community Buildera. Witryna MamboHacks.com udostępniła taki właśnie pakiet - komponent do mambo oraz moduł do SMF. Oczywiście okazało się (który to już raz!) że działanie zintegrowanego forum jest dalekie od ideału. Na szczęście przeniesienie postów z simpleboard okazało się możliwe (choć pracochłonne).

Ostatecznie forum udało się doprowadzić do jako-takiego działania. SMF jest o wiele lepsze od simpleboarda, panel administracyjny jest rozbudowany i pozwala na bardzo szerokie zmiany ustawień. Ponadto nowe wersje skryptu daje się instalować za pomocą managera pakietów - co ciekawe działa to bez problemu!

Po kilku miesiącach pracy na silniku 4.5.1 postanowiłem podnieść Mambo do najnowszej wersji skryptu, zaopatrzonej w kilkaset poprawionych usterek, łatki bezpieczeństwa oraz nowe funkcje.

Aktualizacja przebiegła bezboleśnie, wszystkie komponenty nadal pracowały poprawnie, nowe Mambo nie sprawiło kłopotów.

Koniec roku 2005

Raczej kosmetyczne zmiany na stronie - zastąpienie 'ciężkiej' i zapluskwionej Zoom Media Gallery malutką i też nie do końca dobrą Pony Gallery. Dogranie najnowszych łat bezpieczeństwa. Dodanie "dymków (tooltipów) http://palikowski.vel.pl/node/44 w menu. Wymiana edytora na TinyMCE. Dorzucenie SMO Ajax Shoutbox (okupione dość długim szukaniem "rozwiązania http://forum.joomla.pl/forum/showthread.php?p=5687#post5687 problemu błędnie kodowanych polskich znaków).

Obecnie największy zgryz dotyczy wybrania drogi światła lub ciemności - czyli Joomli lub Mambo. Joomlę tworzy dawny zespół mambo, do rozwoju Mambo zabrał się całkiem nowy (choć złożony częściowo z developerów robiących dodatki do mambo). Jak na razie nie ma wyraźnego rozstrzygnięcia, co zmusiło mnie do "porównania http://palikowski.vel.pl/node/14 obu skryptów, które zresztą pozostawia nadal wiele wątpliwości na jaki system postawić.