Wdrażanie etapowe dla twórców wtyczek i motywów WordPress: unikanie „wydawania Clusterbug”

Opublikowany: 2020-12-23

Czy pamiętasz, kiedy ostatnio wydałeś nową wersję swojej wtyczki lub motywu WordPress, aby szybko odkryć, że przez pomyłkę dodałeś nowy poważny błąd, który prześlizgnął się przez pęknięcia sekwencji testowej?

Yoast SEO 3.0 zepsuł wiele stron internetowych w 2015 roku. Elementor 3.0 zrobił to samo w tym roku. A to tylko dwa przykłady z mojej głowy fantastycznych firm w naszej przestrzeni z ponad 100 pracownikami i oddanym personelem QA (i nie, nie jest to związane z wersją 3.0, ale może to znak, aby pominąć tę wersję w swoim oprogramowaniu; )).

Niezależnie od tego, czy jesteś programistą samoukiem, inżynierem oprogramowania, niezależnym deweloperem, czy częścią dużego sklepu z wtyczkami/motywami, wszyscy musimy radzić sobie z błędami. Jest to nieunikniona część tworzenia oprogramowania.

Bez względu na to, jaką wymyślną automatyzację CI/CD/testową wprowadzisz – nigdy nie będziesz w stanie przetestować wszystkiego. Liczba konfiguracji serwera (PHP, MySql, pamięć podręczna, serwer WWW), wersje WP, kombinacje wtyczek i motywów… jest nieskończona.

I to jest sprzeczne z intuicją. Im bardziej popularne i stabilne stają się Twoje produkty, tym większe szanse na pojawienie się budzącego postrach wydania „Clusterbug”, które wyczerpie Twoje wsparcie, może znacząco wpłynąć na zaufanie i lojalność Twoich klientów oraz potencjalnie zaszkodzić ogólnej reputacji marki.

Chociaż nie możesz uniknąć błędów, możesz i zdecydowanie powinieneś zminimalizować ryzyko tak bardzo, jak tylko możesz.

Jeśli masz smartfona, prawdopodobnie zauważyłeś, że niektórzy z Twoich znajomych otrzymują aktualizacje Androida/iOS dni, tygodnie, a czasem nawet miesiące, zanim je otrzymasz. To nie przypadek i nie, to nic osobistego przeciwko tobie. Jest to celowy, progresywny proces wdrażania zwany etapami wdrażania, który pomaga firmom takim jak Apple dostarczać ważne aktualizacje oprogramowania do ponad miliarda urządzeń.

Tak, miliard!

Czy potrafisz w ogóle pojąć, jaką odpowiedzialność ponosiłby lider ds. wersji w Apple, gdyby musieli aktualizować na żywo na 1,5 miliarda urządzeń mobilnych jednocześnie? nie mogę. Założę się, że żaden rozsądny człowiek nie zgodziłby się ponosić takiej odpowiedzialności.

Jak więc działa mechanizm wdrażania etapowego? Jak możesz to wdrożyć? A na co czeka WordPress.org? To są tematy, które zamierzam omówić poniżej.

Co to są wdrożenia etapowe dla wtyczek i motywów WordPress?

Wdrażanie etapowe pozwala określić liczbę (lub procent) witryn, w których chcesz wdrożyć nową wersję. Mechanizm wdrażania etapowego umożliwia rozpoczęcie cyklu wydawniczego z ograniczoną widocznością, a następnie stopniowe zwiększanie go podczas monitorowania wsparcia i opinii, budując w ten sposób zaufanie do wydania dla siebie i użytkowników.

Omówienie mechanizmu wdrażania etapowego Freemiusa

Jakie są zalety wdrażania etapowego?

Zamiast ryzykować całą bazę instalacji z wypuszczeniem potencjalnych błędów, konfliktów z wtyczkami/motywami innych firm, a nawet problemów z interfejsem użytkownika/UX, możesz stopniowo wypuszczać wersje, minimalizując liczbę osób i stron internetowych, które będą narażone na nieoczekiwane problemy. Po naprawieniu wszystkich problemów i błędów wykrytych podczas procesu wdrażania zdecydowana większość użytkowników zostanie narażona na „dojrzałą” i znacznie stabilniejszą wersję.

Stosujemy aktualizacje kroczące, aby zapewnić jakość naszych nowych wydań. Jeśli pojawi się problem z nowym wydaniem, możemy go szybko zidentyfikować i dotyczy to tylko niewielkiej części użytkowników.

John Turner, założyciel SeedProd

Korzystanie z wdrażania etapowego to NAJLEPSZA praktyka odpowiedzialnego udostępniania oprogramowania – proces, który stosuje wiele firm (niezależnie od wielkości) spoza bańki WP.

Społeczność WordPressa ma dużą szansę skorzystać z wdrażania etapowego, do którego za chwilę przejdę.

Czy programy beta są podobne do wdrażania etapowego?

Skonfigurowanie programu beta dla produktu WordPress to świetny początek, ale nie jest tak skuteczny jak wdrażanie etapowe, a jego cel i dynamika są zasadniczo inne.

O ile twoja wtyczka lub motyw nie są bardzo popularne i mają dużą społeczność, rekrutacja grupy beta wystarczającej statystycznie jest dość trudna, ponieważ tylko niewielka część użytkowników będzie zainteresowana dołączeniem. Nawet jeśli wyróżniasz się w rekrutacji przyzwoitej grupy beta-testerów, musisz polegać na ich dostępności i dobrej woli, aby przetestować produkt, a następnie mieć nadzieję, że podejmą dodatkowy wysiłek, aby zgłosić znalezione problemy.

Jak myślisz, ile osób przejdzie przez cały ten proces? Niewiele.

Test beta mema

Testowanie wersji beta to proces przedprodukcyjny, w którym działania związane z pomocą techniczną są w pełni kontrolowane, a testerzy spodziewają się problemów z wersjami beta. Dlatego oczekiwania testerów co do jakości nie odzwierciedlają ogólnego sentymentu Twojej bazy użytkowników.

Co więcej, odpowiedzialny program Beta ostrzeże swoich testerów, aby unikali używania wersji beta w środowiskach produkcyjnych, więc beta-testy tak naprawdę nie symulują witryn produkcyjnych na żywo.

Jak zarządzać wdrażaniem etapowym wtyczki lub motywu WordPress?

W ramach moich badań nad wdrażaniem etapowym miałem okazję e-spotkać Amira Helzera i wyciągnąć wnioski z jego ponad dwuletniego doświadczenia w korzystaniu z wdrażania etapowego z WPML i zestawem narzędzi, wtyczek działających w ponad 1 000 000 witryn WordPress.

Oto, co Amir podzielił się na temat wdrożenia wdrażania etapowego:

Kiedy witryna instaluje którąkolwiek z naszych wtyczek, losujemy liczbę od 1 do 100 i zapisujemy ją w bazie danych witryny, aby zapamiętać. Ta metoda zasadniczo dzieli witryny na 100 pojemników w sposób losowy.

Gdy wersja jest gotowa do uruchomienia, będzie stopniowo dostępna tylko dla jednego wybranego pojemnika. Każdego dnia zwiększamy ekspozycję publikacji na dodatkowe 5% witryn w wyznaczonym koszu. I naprawiaj i łataj nadchodzące problemy na bieżąco.

Mechanizm wdrażania etapowego WPML dystrybuuje aktualizacje do pojemników użytkowników

Aby zdywersyfikować środowiska przy użyciu zaktualizowanej wersji i uniknąć wielokrotnego występowania tych samych „ofiar” we wczesnych wydaniach, Amir potwierdził, że każda nowa wersja trafia najpierw do innego kosza użytkowników.

Takie podejście oznacza również, że średni cykl wydania trwa około miesiąca, aby był dostępny dla każdego użytkownika.

Potrzeba czasu, zanim ludzie zobaczą nową wersję dostępną w WP Admin i zaktualizują swoją wersję. A nawet jeśli to zrobią, może minąć kilka dni, zanim wykryją problem.

Biorąc pod uwagę naszą liczbę odbiorców, nieuchronnie każde wydanie ma pewne problemy. Naszym głównym celem jest upewnienie się, że nie wprowadzamy nowych problemów, a jeśli to robimy, mamy niezawodny proces ich rozwiązywania.

Cykl wydawniczy jest rzeczywiście długi, ale nawet jeśli w najgorszym przypadku pojawi się jakiś szalony błąd, który przeoczyliśmy w testach, 95% naszych użytkowników nie jest nawet świadomych całego dramatu, ponieważ nie są narażeni na wydanie dopóki się nie ustabilizuje.

Amir podkreślił również znaczenie synchronizacji z całym zespołem przed wydaniem, zwłaszcza obsługi klienta i rozwoju. W ten sposób członkowie zespołu mogą skupić się na zgłoszeniach wywołanych z powodu problemów związanych z trwającym wydaniem, mając na celu jak najszybsze sprawdzenie, potwierdzenie i naprawienie ważnych problemów oraz publikowanie poprawek.

W naszym zespole mamy trzy poziomy wsparcia. Poziom 1 przyjrzy się problemowi, zweryfikuje, czy faktycznie jest to problem związany z wydaniem wtyczki, odtwarzając go. Gdy sprawa wydaje się być związana z nową wersją, przechodzi do poziomu 2, który debuguje problem, aby sprawdzić, czy rzeczywiście jest związany z wydaniem i zlokalizować odpowiednie części w kodzie, które powodują problem. Jeśli zostanie zweryfikowany, programista odpowiedzialny za ten kod zostanie natychmiast powiadomiony, aby nadać priorytet poprawce.

OnTheGoSystems to duża firma zatrudniająca prawie 100 pracowników, więc ma sens, że udoskonalili proces wdrażania etapowego. Ale nawet jako programista pojedynczego produktu z jednym poziomem wsparcia (ty i ty), wgląd Amira może nas nauczyć, że przydzielenie dedykowanych zasobów do wydań ma kluczowe znaczenie. Dobrą praktyką jest ustalanie priorytetów zgłoszeń pomocy technicznej, które nawet „pachną”, aby były powiązane z nowym wydaniem i jak najbardziej ograniczają narażenie na nowe problemy.

Dlaczego (prawie) nie ma wtyczek ani motywów obsługujących wdrażanie etapowe?

Przygotowując się do napisania tego artykułu, spróbowałem poprosić społeczność o sprawdzenie, kto korzysta z wdrażania etapowego w celu uzyskania opinii na temat ich doświadczeń, tego, czego się nauczyli itp.

Nic dziwnego, że w mojej sieci znalazłem tylko dwie firmy zajmujące się WordPressem, które skonfigurowały wdrażanie etapowe w ramach swojego cyklu wydawniczego. Wielu deweloperów nawet nie wiedziało o koncepcie, a reszta nie używa go, ponieważ ich rozwiązanie dystrybucyjne go nie obsługuje (lub mogli pomyśleć o jego rozwinięciu i nie mają na to czasu).

Ankieta na Facebooku przeprowadzona przez Vova Feldman Większość nie używaj wdrażania etapowego

Większość twórców wtyczek i motywów, którzy nie sprzedają za pośrednictwem Freemius, sprzedaje ze swojej witryny za pośrednictwem EDD lub WooCommerce, które nie obsługują wdrażania etapowego. Ci, którzy sprzedają za pośrednictwem platform handlowych, takich jak CodeCanyon i ThemeForest, również nie mają gotowego rozwiązania i najprawdopodobniej nigdy nie będą mieli.

Nawet programiści, którzy są świadomi tej koncepcji, nie mają innego wyjścia, jak tylko opracować własny mechanizm obsługi wdrażania etapowego. Ten rozwój infrastruktury jest zazwyczaj bardzo trudny do ustalenia priorytetów w firmie produktowej.

Zapisz się i zdobądź bezpłatną kopię naszego

Książka biznesowa wtyczki WordPress

Dokładnie jak stworzyć dobrze prosperujący biznes wtyczek WordPress w gospodarce subskrypcyjnej.

Udostępnij znajomym

Wpisz adres e-mail znajomego. Wyślemy im tylko tę książkę, honor Scouta.

Dziękuję za podzielenie się

Niesamowite — właśnie wysłano kopię „The WordPress Plugin Business Book” do . Chcesz pomóc nam jeszcze bardziej rozpowszechniać informacje? Dalej, podziel się książką ze znajomymi i współpracownikami.

Dziękuję za zasubskrybowanie!

- właśnie wysłaliśmy Twoją kopię „The WordPress Plugin Business Book” do .

Masz literówkę w swoim e-mailu? kliknij tutaj, aby edytować adres e-mail i wyślij ponownie.

Okładka książki
Okładka książki

W jaki sposób wdrażanie etapowe daje przewagę komercyjną?

Ponieważ w tej chwili prawie nikt nie korzysta z wdrażania etapowego, jeśli zaczniesz go wykorzystywać i odpowiednio reklamujesz w swojej witrynie, aby dać odwiedzającym znać, że masz odpowiedzialne cykle wydawnicze, z pewnością zapewni Ci to przewagę konkurencyjną i zwiększy zaufanie do Twojego produktu /Marka!

Jeśli przeanalizujesz rynek z perspektywy programisty, zauważysz, że wielu programistów uważnie śledzi swoich konkurentów i zwykle ustala ceny w przedziale cenowym rynku w swojej pionie, co prowadzi do konkurencyjnych produktów WordPress oferujących podobne funkcje w tym samym przedziale cenowym.

Z punktu widzenia kupującego oznacza to, że często nie można wybrać, który produkt kupić, ponieważ wszystkie mają porównywalne funkcje i ceny. Ale kiedy oceniasz kilka wtyczek, które kosztują tyle samo i dają lub biorą te same funkcje, czy nie byłbyś skłonny wybrać produktu, który oferuje wdrażanie etapowe, wiedząc, że jego wersje produkcyjne powinny być bardziej stabilne niż konkurenci?

Wdrażanie etapowe zwiększa zaufanie do Twojego produktu i firmy. Jest to przewaga, którą możesz wykorzystać, zanim wdrożenia etapowe staną się standardową praktyką (co mam szczerą nadzieję, że tak się stanie).

Freemius obsługuje teraz wdrażanie etapowe dla płatnych wtyczek i motywów

Cieszymy się, że możemy być pionierami wdrażania etapowego w ekosystemie wtyczek i motywów premium WordPress. Nasi partnerzy handlowi mogą teraz publikować aktualizacje bezpiecznie, pewnie i niezawodnie, z minimalnym efektem zwrotnym dla swoich użytkowników lub zasobów wsparcia/rozwoju.

Wiemy, jak trudne i denerwujące mogą być główne wydania, zwłaszcza że zawsze istnieje potencjalne ryzyko negatywnego wpływu na Twoją markę po wydaniu „Clusterbug”.

Dzięki wdrożeniom etapowym istnieje siatka bezpieczeństwa dla trwałości i możliwości obrony marki naszych partnerów, a także łagodzi niepotrzebny stres związany z udostępnianiem dużej bazie użytkowników.

To idzie ręka w rękę jako korzyść dla klientów naszych partnerów. Gdy użytkownicy kupują produkty sprzedawane za pośrednictwem Freemiusa, mogą teraz mieć pewność, że decydują się na rozwiązanie oparte na wdrażaniu etapowym i mogą oczekiwać znacznie bardziej stabilnych wersji wtyczek i motywów premium wykorzystujących ten mechanizm.

Jeśli sprzedajesz za pomocą Freemiusa, oto jak prawidłowo korzystać z naszego mechanizmu wdrażania etapowego.

Jak Freemius wdrożył wdrażanie etapowe?

Każda witryna, która aktywuje licencję w celu odblokowania wtyczki lub motywu premium, otrzymuje wpis w naszej bazie danych. Pierwszą rzeczą, jaką zrobiliśmy, jest wprowadzenie nowej właściwości last_served_update_version do przechowywania najnowszej wersji produktu, która została udostępniona na stronie internetowej.

Następnie wzbogaciliśmy tabelę odpowiedzialną za przechowywanie danych o wydaniach o dwie nowe właściwości: limit , uniques .

Gdy programista oznaczy wersję jako wydaną, zostanie poproszony o wyświetlenie następującego okna dialogowego, umożliwiającego ustawienie procentu (lub liczby) witryn z aktywną licencją, na których chcą wdrożyć płatną wersję:

Limit wypuszczania etapowych wdrażania Freemiusa według wartości procentowej lub liczby witryn

Jeśli ustawią wdrożenie ograniczonej wersji, system policzy całkowitą liczbę aktywnych witryn z aktywną licencją, a następnie odpowiednio ustawi nową właściwość limit wydania.

Na koniec zaktualizowaliśmy punkt końcowy API wywoływany przez strony internetowe w celu sprawdzenia, czy jest nowe wydanie i wprowadziliśmy następującą logikę (w pseudokodzie):

  latest_version = load latest version of product X
  If (website is on latest_version)
  	return “no new version”

  If (last_served_update_version of website same as latest_version)
  	return “no new version”

  If (latest_version is limited)
  	If (latest_version is limited AND uniques >= limit)
  	      return “no new version”

  	previous_version = load the previous version of product X

  	If (previous_version is limited too AND uniques <= previous_version.uniques)
  		If (website not using previous_version AND
  	  	  	last_served_update_version different from previous_version)
  			  	return “no new version”
  	else If (random({true, false}) )
  		return “no new version”

  	Set last_served_update_version of website to latest_version
   	Increment uniques by 1

  return latest_version
  

Algorytm ten zapewnia, że:

  • Ekspozycja wersji jest ograniczona zgodnie z ustalonym procentem wdrożenia.
  • Jeśli poprzednia wersja nadal znajduje się w poczekalni, tj. nigdy nie była dostępna dla całej bazy instalacji, witryny, które otrzymały poprzednie wydanie poczekalni, będą najpierw udostępniane w najnowszej wersji poczekalni.

W przeciwieństwie do architektury wdrażania etapowego WPML, która zapewnia, że ​​każde wydanie trafi do innego podzbioru bazy instalacji przy użyciu logicznych pojemników, nasza implementacja opiera się na losowości. Tak więc strona internetowa może otrzymać dwie wersje na wczesnym etapie w dwóch kolejnych cyklach wydawniczych. Jednak korzyścią z tego podejścia jest to, że byliśmy w stanie wysłać wdrożenia etapowe do wszystkich klientów naszych partnerów bez konieczności wypychania aktualizacji SDK, co może zająć wiele miesięcy, a nawet lat, zanim trafi do wszystkich klientów.

Dlaczego wdrażanie etapowe jest niezbędne dla przyszłości WordPressa?

Kiedy zapytałem Amira, jaki był ich wyzwalacz do opracowania wdrażania etapowego dla cykli wydawniczych WPML, powiedział mi tak:

3 lata temu w WordCamp Europe spędziłem czas na rozmowach z klientami WPML, aby zebrać wszelkiego rodzaju opinie na temat ich ogólnego doświadczenia. Największą frustracją, jaką znalazłem, było to, że nasi klienci bali się zaktualizować wtyczkę, ponieważ może to nieoczekiwanie uszkodzić ich witrynę.

Amira Helzera,

Założyciel OnTheGoSystems (WPML, zestaw narzędzi)

Absolutnie się do tego odnoszę.

Nasza wewnętrzna polityka firmy Freemius dotycząca aktualizacji wtyczek i motywów to… po prostu tego nie robić! Z dwoma wyjątkami: Jeśli istnieje znany problem z zabezpieczeniami lub funkcja dostępna w nowszej wersji, której potrzebujemy dla naszej witryny.

Nasza polityka aktualizacji została „napisana krwią” po kilku incydentach aktualizacji, które nie powiodły się i spowodowały nieoczekiwane bóle głowy i stratę czasu, zakłócając naszą działalność i harmonogramy. I tak, mogliśmy uniknąć niektórych stresów dzięki środowisku tymczasowemu, ale nie zaoszczędziłoby to nam czasu i kłopotów, gdybyśmy nadal chcieli kontynuować aktualizację do wersji produkcyjnej.

WordPress nieco ewoluował od tego czasu, a teraz mamy automatyczną dezaktywację w przypadku awarii wtyczek. Nie dotyczy to jednak motywów, a dezaktywacja krytycznej wtyczki dla naszej witryny nadal stanowi duży problem.

Najważniejsze jest to, że jeśli ja, jako twórca wtyczek i dyrektor generalny firmy, która pomaga tysiącom programistów wtyczek i motywów rozwijać ich działalność, martwię się o uszkodzenie naszej witryny za każdym razem, gdy aktualizujemy wtyczki lub motywy na naszej stronie, to z pewnością oznacza to większość użytkowników nie ma zaufania do aktualizowania oprogramowania w naszej przestrzeni.

Brak wdrażania etapowego powstrzymuje nas i cały ekosystem WP i daje konkurencyjnym rozwiązaniom opartym na SaaS znaczną przewagę. Użytkownicy WiX i Shopify nie muszą w ogóle myśleć o aktualizacjach! Aktualizacje po prostu dzieją się dla nich w tle, a ich oprogramowanie jest zawsze aktualne, pod względem bezpieczeństwa i funkcji.

Brak wdrażania etapowego powstrzymuje cały ekosystem WP i daje rozwiązaniom opartym na SaaS znaczną przewagę. Użytkownicy WiX i Shopify nie muszą myśleć o aktualizacjach oprogramowania — po prostu dzieją się one w tle.Tweetuj

Jeśli oglądałeś State of the Word z zeszłego tygodnia, współzałożyciel WordPressa, Matt Mullenweg, wyraźnie dostrzega znaczenie aktualnego oprogramowania. Oto wizja Matta dotycząca aktualizacji WP:

… pozwalając na włączenie automatycznych aktualizacji dla Core. Jest to pierwszy krok do naszego celu, dzięki któremu Twój WordPress zasadniczo sam się utrzyma, kiedy możesz go ustawić i zapomnieć, a będzie automatycznie, w tle i bezproblemowo aktualizował wszystkie Twoje wtyczki, motywy i rdzeń.

Jedynym sposobem, w jaki mogę sobie wyobrazić, że WordPress stanie się „ustaw i zapomnij”, jest to, że aktualizacje oprogramowania mogą być bardziej niezawodne i godne zaufania, a to może się zdarzyć tylko w przypadku wdrażania etapowego.

WordPress.org: oto jak wprowadzić etapowe wdrożenia dla repozytorium wtyczek i motywów

Podobnie jak w naszej implementacji, do każdej wersji wtyczki i motywu w bazie danych WordPress.org należy dodać dwie nowe opcje meta: limit i uniques .

Edycja opcji limit meta może być ujawniona w widoku zaawansowanym dla zalogowanego właściciela (i być może dla innych osób dokonujących zmian):

WordPress.org Sugerowany mechanizm wdrażania etapowego autorstwa Vova Feldman

Deweloper będzie miał możliwość kontrolowania ekspozycji każdego wydania, a także możliwość ustalenia limitu dla następnego wydania.

Ponieważ WordPress.org nie przechowuje uporządkowanych danych dla każdej strony internetowej otrzymującej aktualizacje z WordPress.org, zamiast przechowywać najnowszą wersję „widzianą” przez stronę internetową w bazie danych WordPress.org, przechowywanie danych może być delegowane na strony internetowe . Oznacza to, że stan przejściowy 'update_plugins' i dane wysyłane do API WordPress.org podczas sprawdzania aktualizacji będą musiały zostać wzbogacone o last_served_update_version .

Wreszcie punkty końcowe API aktualizacji WordPress.org można wzbogacić o tę samą logikę, której użyliśmy do wdrożenia Freemius Staged Rollouts. Po prostu zamiast polegać na last_served_update_version z bazy danych wp.org, mechanizm będzie zależał od wartości przesłanej ze strony przez core.

Spokojnie, nie?

Zatrudnia
Starszy programista PHP
Zbuduj rdzeń produktów, usług i interfejsów API Freemiusa i zobacz, jaki masz bezpośredni wpływ na biznes wtyczek i motywów WordPress.
Specjalista ds. Migracji eCommerce
Zarządzaj migracją licencji i procesem integracji produktów dla firm zajmujących się wtyczkami i motywami, które zaczynają sprzedawać z Freemius.
Marketing treści
Dziel się naszą wiedzą za pomocą praktycznych treści pisemnych, wizualnych i dźwiękowych na temat najlepszych sposobów sprzedaży wtyczek i motywów.

Przywróćmy zaufanie użytkowników, aby nacisnąć przycisk aktualizacji

Wszyscy chcemy, aby WordPress odniósł sukces i stale się powiększał i ulepszał!

Przy tak wielu zasobach, które trafiają do Gutenberga, jasne jest, że kierownictwo WordPressa przyznaje, że musimy uczynić platformę bardziej dostępną dla przeciętnego Joe, który nie zna się na technologii. Chodzi o to, że tak długo, jak nie można ufać aktualizacjom oprogramowania, nawet z Gutenbergiem i wszystkimi niesamowitymi programami do tworzenia stron, jakie mamy do dyspozycji, osoba bez wiedzy technicznej ucieknie do Wix podczas pierwszej uszkodzonej aktualizacji i nie mogę winić ich.

Wzywam założyciela EDD, Pippina Williamsona, dyrektora generalnego WooCommerce Paula Maiorana i zespół WordPress.org: Mamy możliwość uczynienia ekosystemu wtyczek i motywów znacznie bardziej stabilnym dla większej społeczności WordPressa. Pozwólmy użytkownikom dbać o bezpieczeństwo i aktualność oprogramowania bez obaw i frustracji. Chociaż może to nie wyglądać na wysoki priorytet w krótkim okresie, jestem pewien, że wszyscy odniesiemy z tego korzyści na dłuższą metę.