Przeglądając RSSy trafiłem na wpis na blogu pp.ministrona.pl, gdzie precelik opisuje swoje ostatnie odkrycie – WPMU (WordPress Multi User), jako CMS idealny pod ministronki. Swego czasu miałem go też okazję testować, i moje odczucia względem niego są zdecydowanie inne.

Jak dla mnie główną wadą WMU jest sposób w jaki obsługuje on kolejne dodawane blogi – zakładanie nwego bloga polega na stworzeniu dla niego kompletu tabel w bazie danych, różniących się tylko prefiksem. Rozwiązanie to ma taką zaletę że zmiany w „oryginalnym” kodzie WP są niewielkie. Poza tym są wady.

Pierwszą wadą jest śmietnik w bazie, już po dodaniu kilku blogów. Ten sam efekt co WPMU można uzyskać dodając parę linijek kodu do wp-config.php, odpowiedzialnych za ustawianie danych bazy danych (użytkownika/hasła i/lub prefiksu) na podstawie hosta (nagłówek Host). Oczywiście WPMU to jest jeszcze interfejs do zarządzania tym wszystkim, ale można się bez niego obejść.

Druga wada jest poważniejsza – nie da się w prosty sposób napisać zapytań pracujących np. na postach z wszystkich blogów – albo trzeba stosować jakieś karkołomne kombinacje z łączeniem danych z wielu tabel w jednym zapytaniu (SELECT … UNION SELECT … UNION SELECT …), albo pobrać dane z każdej tabeli osobno i obrabiać je dalej w PHP – żadne rozwiązanie nie jest optymalne pod względem wydajności. Jak ma się trzy małe serwisy które mało kto odwiedza to to przejdzie, ale przy większych i częściej odwiedzanych pojawia się realne zagrożenie że zajedzie się serwer.

Dochodzi do tego jeszcze problem z stawianiem blogów w innych domenach (zamiast subdomen) – da się to zrobić (kiedyś znalazłem opis jak się do tego zabrać), ale wymaga to grzebania w bazie danych.

Osobiście rozglądam się za CMS’em który będzie rozróżniał dane różnych stron nie po prefiksie tabel, ale po dodatkowej kolumnie w nich. Swego czasu zadałem na PiO pytanie o gotowe CMS’y które są napisane w taki sposób – w odpowiedzi dostałem trzy nazwy: Typo3, Habari i eZ Publish. Niestety nie miałem jeszcze okazji zainstalować ich i sprawdzić co tak naprawdę potrafią. Z tego co wiem to Typo3 i eZ Publish to są typowe CMS’y, a Habari bardziej przypomina blog.

Myślę też nad napisaniem swojego własnego CMS’a – obecnie dłubię sobie coś tam na boku, więc w przyszłości coś z tego powinno być.