search check home clock-o tag tags chevron-left chevron-right chevron-up chevron-down twitter facebook github rss comment comments terminal code

Daj Się Poznać 2017 – raport z działań. Część 2

Daj Się Poznać 2017 – raport z działań. Część 2

Kolejny etap za mną. Mogę powiedzieć, że jestem zadowolony z postępu jaki poczyniłem. Tylko jak sobie teraz pomyślę, to odnoszę wrażenie, że te wpisy raportowe mogą przyjmową formę wpisów osobistych.

Przechodząc do meritum, w zeszłym tygodniu skupiłem się przede wszystkim na budowaniu routingu i integracji z REST API od WordPress'a. Z racji tego, że na co dzień pracuję z API REST-owym wbudowanym w eZ Platform to praca z API pochodzącym z WordPress'a była dla mnie frustrująca.

Dlaczego WordPress REST API jest frustrujące?

Niestety, dokumentacja jest bardzo ograniczona. W zasadzie ogranicza się tylko i wyłącznie do pobierania danych ze zwykłych postów. Problemy się zaczynają w momencie, gdy w systemie mamy utworzone własne typy postów z własną taksonomią. Trzeba było naprawdę długo szukać informacji pytając wujka Google, przeglądając pull rquesty czy nawet szukając ostatniej deski ratunku na Gitterze. Koniec końców interesujące mnie informacje znalazłem w artykułach sprzed kilku lat, gdy API WordPressa było w powijakach i teoretycznie sporo mogło się pozmieniać do chwili obecnej.

Gdy już uporałem się z problemem pobierania danych z WordPress'a, to pojawił się kolejny problem. Mimo autoryzacji użytkownika, nie można było tworzyć nowych postów czy taksonomii. Co się okazało? Potrzebny jest dodatkowy plugin, który należy doinstalować, bo WordPress domyślnie go nie zawiera. Nie wiem jaki jest sens tego i na pewno nie ma on nic wspólnego z ostatnimi problemami bezpieczeństwa w WordPress REST API, ponieważ z tego co udało mi się wyczytać to problem z autoryzacją pojawiał się już wcześniej.

Ok, skoro to API mi sprawia tyle problemów to dlaczego używam akurat jego zamiast tego z eZ Platform? Odpowiedź jest prosta. System eZ Platform wymaga dostępu do serwera z którego można odpalać skrypty z poziomu linii komend. Na tą chwilę takowego nie posiadam i nie zamierzam posiadać (bo jest mi to zbędne). Poza tym, dla moich potrzeb WordPress jest wystarczający. eZ Platform to świetne narzędzie dla takich molochów wydawniczych jak Financial Times, National Geographic czy choćby francuski Orange.

Co mi się podoba w WordPress REST API?

Podoba mi się łatwość tworzenia nowych ścieżek dostępu do danych - routes. Dodatkowo, JS-owy klient REST-owy można bez problemu importować do swojego projektu jako moduł. Wykorzystanie WordPress REST API będzie tematem jednego z kolejnych wpisów na tym blogu. Myślę, że warto się z Wami podzielić tą wiedzą tym bardziej, że oficjalna dokumentacja mocno kuleje.

Podsumowanie tygodnia

Każdego dnia starałem się poświęcić przynajmniej godzinę czasu po pracy, aby popracować nad projektem. Często dzieje się to w godzinach późnowieczornych, z racji tego że wcześniej trzeba się zaopiekować żoną w ciąży czy też z racji tego, że uczestniczę również w rozgrywkach piłki nożnej halowej. Niemniej jednak, projekt powoli posuwa się do przodu i póki co udaje mi się utrzymać rygor pisania dwóch postów tygodniowo.

Jeśli chcesz przeczytać raport z zeszłego tygodnia, to możesz to zrobić pod tym linkiem: raport z pierwszego tygodnia Daj Się Poznać 2017