Gotowa wtyczka wystarcza, gdy robi dokładnie to, czego potrzebujesz, jest utrzymywana przez dostawcę i nie wymaga obejść w twoim procesie. Wtyczkę na zamówienie warto rozważyć, gdy gotowe rozwiązania wymagają kompromisów, których nie chcesz zaakceptować, albo gdy musisz połączyć sklep z własnym procesem lub systemem. Obie drogi mają stałe koszty, o których łatwo zapomnieć.
Co dają gotowe wtyczki
Gotowa wtyczka ma kilka zalet:
- działa od razu, a konfiguracja zajmuje godziny, nie tygodnie,
- jest używana przez wielu sklepów, więc typowe błędy zwykle ktoś już zgłosił,
- często ma dokumentację i wsparcie,
- koszt jest przewidywalny (licencja lub abonament).
To dobry wybór dla funkcji standardowych: płatności, wysyłki, formularze, podstawowe filtry. Nie ma sensu pisać własnej bramki płatności, jeśli działa gotowa i obsługiwana przez dostawcę.
Kiedy gotowa wtyczka nie pasuje do procesu
Sygnały, że kompromis jest za kosztowny:
- żadna wtyczka nie obsługuje twojej reguły (na przykład niestandardowy sposób liczenia ceny albo nietypowy proces zamówienia),
- ta sama funkcja wymaga trzech wtyczek, które ze sobą kolidują,
- wtyczka ma dziesiątki opcji, z których używasz dwóch, a pozostałe obciążają sklep,
- potrzebujesz połączenia z systemem, dla którego nie ma gotowego konektora,
- masz obejścia typu „klient wpisuje to w polu uwag, a pracownik ręcznie przenosi”.
Zanim zamówisz własną wtyczkę, sprawdź, czy problemu nie rozwiąże konfiguracja, inne ustawienie sklepu lub rozmowa z dostawcą istniejącej wtyczki o niewielkiej zmianie.
Koszt utrzymania: aktualizacje platformy i zgodność
Wtyczka żyje na platformie, która się zmienia. Dokumentacja WooCommerce zaleca przed każdą aktualizacją kopię zapasową i test na środowisku testowym (staging), a po niej sprawdzenie koszyka, płatności, wysyłki, podatków i e-maili. Każda wtyczka jest częścią tego zestawu testów.
Platforma zmienia także sposób, w jaki wtyczki z niej korzystają. Przykładem jest przechowywanie zamówień w wysokowydajnej strukturze (HPOS). Rozszerzenia deklarują zgodność z tą funkcją w kodzie, a WooCommerce ostrzega użytkowników, gdy próbują ją włączyć przy niezgodnej wtyczce. Portal dla deweloperów WooCommerce publikuje też ostrzeżenia o zmianach technicznych, na przykład o podnoszonych wymaganiach wersji PHP. Ktoś musi to śledzić.
Przy gotowej wtyczce robi to dostawca, ale nie masz gwarancji terminu. Przy wtyczce na zamówienie robi to wykonawca, jeśli jest to uzgodnione w umowie. Pytaj więc przed zamówieniem: kto monitoruje zmiany platformy, w jakim czasie reaguje i ile kosztuje taka usługa.
Własność kodu i dostęp do źródeł
Przy gotowej wtyczce kupujesz licencję na korzystanie. Zwykle nie możesz wprowadzać zmian ani przekazać kodu innej firmie poza zakresem licencji. Warunki sprawdź w regulaminie lub umowie licencyjnej.
Przy wtyczce na zamówienie kwestię trzeba uzgodnić w umowie. Według ustawy o prawie autorskim program komputerowy jest chroniony jak utwór literacki, a prawa majątkowe obejmują zwielokrotnianie, zmiany i rozpowszechnianie. Prawa majątkowe do programu stworzonego przez pracownika w ramach obowiązków przysługują pracodawcy, o ile umowa nie stanowi inaczej, ale wykonawca zewnętrzny to inna sytuacja. Zapisz więc, jakie prawa dostajesz, czy dostajesz kod źródłowy i dokumentację oraz czy możesz zlecić rozwój innemu wykonawcy. To nie jest porada prawna, więc umowę skonsultuj z prawnikiem.
Bezpieczeństwo i jakość kodu
Wtyczka działa wewnątrz sklepu i ma dostęp do danych klientów oraz zamówień, więc błąd bezpieczeństwa może mieć poważne skutki.
Dokumentacja dla deweloperów WordPress opisuje podstawy: dane z zewnątrz, w tym z baz danych i usług trzecich, trzeba traktować jako niezaufane, walidować przy wejściu i escapować przy wyjściu, najlepiej jak najpóźniej. Zaleca korzystanie z funkcji WordPress, które walidują i sanityzują dane, oraz regularne utrzymywanie kodu, bo nowe luki pojawiają się z czasem.
Co możesz sprawdzić:
- czy wykonawca potrafi opisać, jak zabezpiecza dane wejściowe i wyjściowe,
- czy kod ma kontrolę wersji i testy,
- czy wtyczka deklaruje zgodność z funkcjami platformy, na przykład HPOS,
- czy ma jasny sposób zgłaszania błędów i poprawek,
- w przypadku gotowych wtyczek: kiedy ostatnio były aktualizowane i czy dostawca informuje o poprawkach bezpieczeństwa.
Nie bierz na wiarę ocen w katalogu. Oceny pokazują zadowolenie użytkowników, ale nie zastępują przeglądu kodu.
Jak opisać potrzebę wykonawcy
Dobre zamówienie wtyczki zaczyna się od procesu, a nie od rozwiązania technicznego:
- Opisz sytuację dziś: co robi klient, co robi pracownik, gdzie powstaje problem.
- Opisz oczekiwany stan: kto, co i kiedy ma móc zrobić.
- Wymień systemy i wtyczki, z którymi ma współpracować.
- Podaj wersje platformy i hosting.
- Zaznacz przypadki brzegowe: zwroty, anulowanie, kilka walut, warianty produktów.
- Ustal sposób odbioru: scenariusze testowe i środowisko testowe.
- Ustal utrzymanie: kto aktualizuje, ile to kosztuje, jak zgłasza się błędy.
Więcej o tym, jak napisać zapytanie, znajdziesz w poradniku o zapytaniu ofertowym na aplikację, a zasady bezpiecznych aktualizacji w poradniku o aktualizacji WooCommerce.
Rozwiązanie pośrednie: gotowa wtyczka z małą dobudówką
Nie musisz wybierać jednego bieguna. Czasem rozsądnie jest zostać przy gotowej wtyczce, która robi większość pracy, i zamówić tylko brakujący element: małe rozszerzenie, konektor albo dodatkowe pole. Warunkiem jest to, żeby gotowa wtyczka miała udokumentowane punkty rozszerzeń i żeby dobudówka nie zmieniała jej kodu bezpośrednio, bo każda aktualizacja nadpisałaby zmiany. Zapytaj dostawcę, jakie ma haki i interfejsy, zanim ustalisz zakres.
Podsumowanie
Wybierz gotową wtyczkę, gdy proces jest standardowy, a dostawca jest wiarygodny i utrzymuje produkt. Zamów własną, gdy gotowe rozwiązania wymagają obejść albo gdy chodzi o połączenie z własnym systemem. W obu przypadkach policz utrzymanie, ustal prawa do kodu i sprawdź, kto odpowiada za zgodność z kolejnymi wersjami platformy. Jeśli potrzebujesz wtyczki lub konektora do sklepu, zobacz usługi M8T.
Źródła
- WooCommerce: jak aktualizować WooCommerce (kopia, staging, testy)
- WooCommerce Developer Docs: High-Performance Order Storage, deklaracja zgodności
- WooCommerce Developer Resources: portal dla deweloperów (wydania, ostrzeżenia dla deweloperów)
- WordPress Developer Resources: bezpieczeństwo (walidacja, sanityzacja, escapowanie)
- Ustawa o prawie autorskim i prawach pokrewnych, art. 74