Po niedawnej przeprowadzce Ignormatyka na nowy hosting, jeden ze stałych Czytelników blogu zwrócił moją uwagę na to, że listy artykułów na prawym marginesie (a konkretnie: "Inni piszą" oraz "Wygrzebane w Sieci") nie działają.
Zaglądam - faktycznie.
No i się zaczęło.
Najpierw sprawdziłem kilkanaście razy konfigurację wtyczki WP RSS Aggregator, jednego z kamieni węgiełnych Ignormatyka.
Tak, ja wiem, że się pisze "węgielny". Ale kiedyś, dawno temu, się pisało "węgiełny". Albo przynajmniej się tak mówiło, jak ktoś był niepiśmienny.
Wtyczka skonfigurowana poprawnie, wszystko wedle podręcznika.
Hmmm.
Potem zabrałem się za analizę samego strumienia RSS generowanego przez NewsBlur.
Wszystko prawidłowo, żadnych błędów. Kilka mało istotnych ostrzeżeń na stronie https://validator.w3.org/feed/, ale nic groźnego.
Skoro wtyczka i treść są w porządku, trzeba zajrzeć... Apaczowi pod maskę.
sudo tail -f /var/log/apache2/access.log
Nic.
sudo tail -f /var/log/apache2/error.log
Tu trochę śmiecia, ale nic związanego z RSS-ami.
"Noż do l*cha!", pomyślałem sobie nader wulgarnie.
Apiat' od nowa.
Tym razem zdezaktywowałem WSZYSTKIE wtyczki z wyjątkiem tej od RSS-ów.
Nic.
Zapodałem link do RSS-a wygenerowanego przez jakiś inny portal, żeby wykluczyć problem z NewsBlur.
Nic.
Wypierdzieliłem wtyczkę WP RSS Reader.
Spróbowałem wstawić domyślny widget RSS (ten taki wbudowany standardowo w WordPress).
Nic.
Zaraz...
Jak to, urwał, nic? Przecież ten kanał RSS jest prawidłowy, a wtyczka to zwykłe głupiątko. Tam się n i e m a c o z e p s u ć przecież.
Hmmmmmmm.
Googlegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegooglegoogle...
Google...
Aha. Mam cię, draniu.
Po trzech godzinach wreszcie doszedłem.
Do sedna, w sensie.
Otóż okazuje się, że aby RSS-y działały na maszynie z WordPress-em, musi być zainstalowana "dokrętka" pod tytułem php-dom (RedHat i pochodne) zwana też pod nazwą php-xml (Debian i pochodne).
sudo apt install php-xml
Fanfary...
Tusz...
No i działa!
Szkoda, że na to nie wpadłem trzy godziny wcześniej.
Grrrr.
Ale ten wordpress gupi, panie. Żeby do generowania RSS potrzebował jakichś dokrętek. Jakby wtyczka nie umiała sama wygenerować poprawnego XML-a, który jest zwykłym plikiem tekstowym.
No i tu dochodzimy do dyskusji na temat tego, czy należy odkrywać koło na nowo za każdym razem, czy skorzystać z gotowca. Moim zdaniem używanie znanej, standardowej biblioteki ma przewagę nad pisaniem tego od nowa. Z tym, że system powinien jednak jakoś informować użytkownika o tym, że takiej czy siakiej biblioteki brakuje.
Co do samego XML-a zaś, moje ulubione przysłowie mówi: “XML is like a violence. If it doesn’t work for you, you’re not using enough of it.” 😉
Moje podejście znasz 🙂
Napisanie modułu do tworzenia RSS zajęło mi godzinę. Dzięki odkrywaniu koła na nowo zaoszczędziłem 2 godziny 🙂
No i fajnie, chwali się. Jak kiedyś napiszę swojego autorskiego CMS-a (czyli pewnie nigdy, bo na web-ie znam się jak kura na pieprzu), pewnie też parę kółek odkryję.
Póki co używam WP, a to jest taki kombajn, że wcale im się nie dziwię, że wolą używać gotowców. Zresztą prawda jest taka, że większość ludków stawia blogi wordpressowe na maszynach pre-konfigurowanych pod WordPress, a tam żadnych bibliotek nie brakuje.