Narzekasz?

WP, UTF8, OOP i inne fajne skróty

28 stycznia 2006
Puck

Środa, godzina gdzieś późno wieczorna, omawiamy setki projektów z dxOne. W końcu postanowione: Narzekasz? Narzekam! Kilka godzin później stał już WordPress. Zaczęło sie poszukiwanie dodatków do niego i ogólnie rzecz biorąc konfiguracja. Nie jest to MovableType co prawda, ale też zrezygnowałem z wszelkiego kontaktu od strony administracyjnej z tym ustrojstwem. W dzisiejszym odcinku: jak sobie zrobić boba... przepraszam. Blogasa.

Stawianie bloga na MovableType to osobna bajka. Chciałem poznać to "świetne oprogramowanie popularne za wielką wodą" z bliska. No i udało mi się... niestety. Six Apart zrobiło świetną robotę, trzeba im przyznać. Dzięki nim mamy między innymi trackback. Jednak nie na nasze realia. Pierwsze co mnie zdenerwowało to konieczność rejestracji w jakimś zewnętrznym serwisie celu pobrania paczki instalacyjnej. Dalej było już płynnie, już rozpakowałem installkę, już przeczytałem readme w trybie ekspresowym i już miałem uruchomić konfugurację, kiedy okazało się że... Nie ma pliku konfiguracyjnego. No, pewnie czegoś nie doczytałem. Readme, podejście drugie, uświadomiło mi, ze MT jest pisany w perlu i jego praca na serwerze opiera sie na skryptach cgi. Temu panu już podzękujemy, chcemy coś dla ludzi, nie mamy czasu na niepotrzebności.

Niedługo później, pod szyldem narzekasz.pl stanął WordPress. Namysłu nie było dużo: 2.0, żeby nam lepiej z Web współpracował. Tu instalacja poszła gładko, bardzo miły interfejs i takie tam duperele. Pierwsza styczność z pluginami trochę nieudana. Porozrzucane po całym internecie, bardzo czesto niedostępne. Przeglądarki theme`ów też średnio użyteczne. Wyszło na to, że będziemy korzystać z K2 i mniej więcej 4 dodatkowych pluginów, z czego najistotniejszą zmianą jest możliwość tagowania. Samo K2 ma oczywiście mnóstwo utrudniającego życie AJAXu, do którego nie bardzo wiadomo jak podejść. Ja na przykład gubię się jak mam okienko wyszukiwania a nie mam przycisku "szukaj". No ale to temat na osobną notkę ofc.

Ja chyba już jestem inwalidą jeśli chodzi o korzystanie z gotowców. Blog musi wyglądać tak jak ja chcę, a przy WP, które jest strasznie obszerne, ciężko to wykonać. Ściągnąłem sobie polonizację WordPressa wykonaną przez Pawła Tkaczyka i naiwnie sądziłem, że dostanę polskiego Kubricka albo K2. Nie. Przetłumaczonym szablonem był Pool, który ciężko mi się ogląda na cudzych blogach, a co dopiero na własnym. Dostałem za to śmiesznie brzmiący panel administracyjny, który mnie bardziej wprowadził w zakłopotanie niż pomógł.

Tak, tak, miałem złe podejście. Niepotrzebnie chciałem poznać to, co jest trendy i czego ludzie używają. WP poszło do kosza. Nie żal mi fikuśnego panelu, w którym większość opcji ustawia się raz, a potem zapomina; nie żal mi AJAXa, który lepiej nadaje się do mycia podłóg; nie żal mi wstętnych, oklepanych szablonów i niedziałających wtyczek. WordPressowej cierpliwości starczyło mi na mniej niż pięć godziń.

Następnego dnia zabrałem się za pisanie własnego silnika do narzekasz.pl. Mając już trochę doświadczenia składanie go z kawałków nie było takie ciężkie. Gotowa funkcja do trackbackowania, gotowy moduł RSS, struktura bazy wzorowana na poprzednim blogu, itp. Dwa dni później silnik był gotowy, co można zobaczyć tu, w praktyce. Wszystko zrobione samemu, każda linijka kodu. To cieszy.

Nie obeszło się bez zgrzytów. Trochę czasu spędziłem na odgadnięciu dlaczego kochany mySQL nie koduje mi litery Ł w UTF8. Nie dowiedziałem sie, zastosowałem workaround. No i można było dzięki temu zauważyć jakąś realną korzyść z projektowania obiektowego - dzieki takiej strukturze wystarczyła jedna linijka kodu "naprawiającego" tego buga. Wyszło z tego tylko tyle, że mam kolejną rzecz którą wrzucę do worka z napisem "UTF-8 ssie". Bo o ile poruszamy się w świecie ISO, z którym mój system jest niekompatybilny, to da sie to jeszcze znieść. Ale jak poruszamy się w świecie komunikacji w internecie, gdzie jakiś palant, pewnie korzystając z gotowców, wymyślił zastosowanie dla kodowania UTF, to z ISO nie jest już tak przyjemnie. Jedna sprawa, że trzeba napisać konwentery z ISO na UTF i odwrotnie. Druga, trzeba rozpoznać czy dany input jest ISO czy UTF. Trzeba pamiętać które ma się w jakim miejscu. No i kiedy już wszystko gra, kiedy już jesteśmy pewni naszego sukcesu, nasz ulubiony WP wysyła trackback ping z polem excerpt zawierającym ucięty w połowie dwubajtowy znak; funkcja is_utf8() zwraca zły (inny niż oczekiwano) wynik a nasz cały system idzie się kochać. Mówiąc krótko: na pohybel!

puckWpis popełnił: Puck
Zapamiętaj ten adres: WP, UTF8, OOP i inne fajne skróty
Drogowskaz: [komentarze: 1]

Komentarze

#komentarze
§ 1
no po prostu genialne tłumaczenie... nie spolszczyć mojego ulubionego szablonu wp-a... eh eh eh
livio, 20 czerwca 2006, 15:42
© maciej łebkowski, nicholajs borov