MobyDick v2.1
Nowe hurtownie
W tej aktualizacji dodaliśmy głownie 4 hurtownie, w pełni kompatybilne z Prestashop oraz Thirtybees
Integracja z hurtownią Hevea
Hurtownia Hevea to polski producent materacy i akcesoriów. Integracja obsługuje dwa formaty importu. Import produktów z atrybutami (okolo 100 produktów) i grupowania po atrybuach (około 1400 produktów).


Integracja z hurtownią Unimet
Firma Unimet jest polskim producentem Elektronarzędzi. Posiada w swojej ofercie takie marki jak Bosch, DeWalt, Einhell.


Integracja z hurtownią Kicks.Land
Kicks.Land jest dystrybutorem obuwia takich marek, jak Nike, Adidas, Reebok czy Vans.


Integracja z hurtownią IESPolska
IESPolska jest dystrybutorem odzieży reklamowej i roboczej marek Fruit of the Loom, Russell czy Result.


321 MobyDick!
Przygotowywując ten news spojrzałem na statystyki. Ta aktualizajca jest 321 aktualizacją naszego modułu integracji z hurtowniami. Nawet nie wiem, kiedy tyle wersji wyszło.
Oczywiście jest to liczba wraz ze wszystkimi wersjami hotfix. W ciągu ostatniego roku wersji wyszło aż 57.
Jakby tego było mało, to w natłoku pracy i przygotowań do wypuszczenia wersji 2.0 nie zauważyliśmy, że MobyDick ma już 4 lata!
Przez ten czas dotarliśmy do punktu, gdzie moduł posiada prawie 100 indyiwdualnie zintegrowanych hurtowni! - nie liczę tutaj hurtowni, które zostały usunięte.
Tak więc 100 lat MobyDick! Aż się łezka w oku kręci, jak nasz mały wielorybek staje się wielkim wielorybem, który ma coraz więcej "instalujących go" przyjaciół!
Założenia a rzeczywistość, czyli wersje...
W pewnym momencie naszej działalności obraliśmy konkretny system numeracji wersji. Używamy formatu x.y.z
gdzie:
x
Oznaczamy wersję, w której nastąpiły głębokie zmiany. Takie jak przepisanie dużej części modułu. Choć staramy się aby tak nie było, może to oznaczać że trzeba będzie coś ustawić od początku.y
Jeśli zmieniamy ten numer, oznacza to na ogół widoczne zmiany w module. Dodanie nowych opcji, zmiana jakiegoś zachowania, czy jak w przypadku MobyDick'a np. dodanie nowej hurtowni.z
Ten numer zmienia się wtedy, gdy aktualizacja zawiera poprawkę jakiegoś małego błędu. Np. literówki, albo źle wyliczanej ceny itp.
Jest to wedlug nas najlepszy system oznaczania wersji. A przynajmniej najlepiej pasujacy nam, ale jak życie pokazuje, nie zawsze.
Na początku planowaliśmy w wersji 2.1 dopracować wygląd modułu. Głównie listy integracji i ustawień. Życie - a raczej klienci - zmienili nasze plany, zgłąszjąc się co chwilę po nowe integracje z hurtowniami.
Wersja 2.1 zamiast planowanych zmian, będzie w tym przypadku aktualizacją dodającą 4 nowe hurtownie. A to oznacza, że nasz plan spalił na panewce.
Czasami zastanawiamy się, czy być może w przypadku numerowania wersji MobyDicka, nie lepszym były 4 liczbowy system licencji, gdzie 3cią częścią wersji będzie dodanie nowej hurtowni.
Nowa integracja z hurtownią nie jest hotfixem, ale nie jest też funkcjonalnością, która dotyczy wszystkich użytkowników.
Prestashop 1.8 czy 8.0?
Ten akapit jest bardziej ciekawostką, dla zainteresowanych
Po sieci krążą różne teorie, niektóre z nich prawdziwe, niektóre z nich mniej. Jedną z nich jest, iż Prestashop 1.8, będzie miała usuniętą jedynkę z przodu - stanie się wersją 8.0. Ile w tym prawdy się okaże, bo oficjalnej notki na ten temat nie znalazłem.
Jednak ciekawi nas bardzo, jak będą numerowane w przyszłości wersje Prestashop. Największe zmiany w Prestashop były zawsze oznaczane zmianą 2 numeru wersji. 1.4, 1.5, 1.6 i teraz 1.7. Na Prestashop pracuję od wersji 1.3 - poprzednich wersji nie znam. Ale zakładając, że nie było dużo zmian do wersji 1.3, numeracje według naszej logiki widziałbym mniej więcej w sposób następujący:
- 1.0 zamiast 1.3 i 1.4 - Obie korzystały praktycznie z tej samej struktury - która była skomplikowana i mało intuicyjna. Wszystkie pliki były w głownym folderze
- 2.0 zamiast 1.5 - Wersja 1.5 wprowadziła koncepcję kontrolerów i tzw "dispatcher". Usystematyzowała wiele rzeczy i pozwoliła na nadpisywanie części kodu bez utraty możliwości aktualizacji presty.
- 3.0 oznaczyłbym obecną 1.6 - wersja ta zmieniła głównie szablon panelu administracyjnego presty i front sklepu internetowego. Struktura nadal pozostała taka sama
- 4.0 oznaczył wersję bym 1.7 - ta "rewolucyjna" wersja zmieniła zupełnie system Prestashop i zamieniła cały dotychczasowy customowy framework na framework Symfonii... ale o tym wspomnę w następnym akapicie
Prestashop 1.7 - Czyli co poszło nie tak...
Zmiana z wersji 1.6 na 1.7 jest bardzo podobna do zmian jakie nastąpiły z wersji 1.4 na 1.5. Obie te zmiany miały na celu zmianę struktury Prestashop. Nie jestem(śmy) zwolennikiem wersji 1.7 z jednego, prostego powodu, a więc: Zmiana struktury z wersji 1.4 na 1.5 przebiegła praktycznie w jednym momencie. Wyszła nowa wersja, wszystko na nowych lśniących kontrolerach - wtedy było to coś. Dziś rozumiem, że system ten w pewnym sensie trąci myszką.
Ale jeśli zmiana struktury Prestashop 1.4 na 1.5 była tak dobra, to co poszło źle w zmianie między 1.6 i 1.7? Otóż, Prestashop 1.5 nie miała w sobie praktycznie już nic z wersji 1.4. Wszystkie pliki zostały w jednym momencie przeniesione na strukturę opartą na tzw. Kontrolerach.
W przypadku presty 1.7 kogoś bardzo mocno swędziały palce, aby wydać tę wersję jak najszybciej. Po dziś dzień, Prestashop 1.7 w dużej mierze bazuje na kodzie z Prestashop 1.5 i 1.6.
Tak więc pozwolę sobie podać kilka przykładów, części panelu admina bazujące na starym systemie (w wersji 1.7.6.4) to np. Zamówienia, Koszyki, Monitoring, Atrybuty i Cechy, Dostawy i jeszcze kilka.
Na nowym systemie z 1.7 bazują takie zakładki jak Produkty, Kategorie, Klienci, Moduły.
Można to rozpoznać po adresie w panelu. Wszystkie adresy zakładek zaczynające się od index.php?controller=Admin
są oparte na starym systemie, który nie powinien już istnieć.
O ile wersja 1.5 w bardzo krótkim czasie zamieniła wszystko na kontrolery, to wersja 1.7, której zamiarem była właśnie zmiana struktury poległa w tym miejscu. Jest to zlepek Nowego systemu i systemu Prestashop 1.5/6.
Ujmę to tak. W kwestii struktury Prestashop 1.5 zawierała 0% struktury Presty 1.4. Wersja 1.7 bazuje w (tutaj strzelam) jeszcze około 50% na Prestashop 1.6. Co to oznacza? Że pracując na wersji 1.5 i 1.6 wiadomo było, że pracujemy na strukturze kontrolerów. Pracując na wersji 1.4 pracowaliśmy na plikach bez możliwości użycia nadpisań itp. W wersji 1.7? Nie wiemy na czym pracujemy. W werji 1.7.1 pracujemy na czymś zupełnie innym niż w wersji 1.7.3 i wersji 1.7.6.
Co to oznacza dla użytkowników i developerów? Po stronie developerów sprawa wygląda teoretycznie tak.
W wersji 1.7.0 Mamy Kontrolery produktów, zamówień, koszyków i modułów z wersji 1.6.
W 1.7.1 stary kontroler produktów nagle znika, pojawia się nowy (jakiś moduł nagle przestaje działać).
W wersji 1.7.2 nagle znika kontroler zamówień i pojawia się zupełnie nowy i znów jakiś moduł przestaje działać.
W wersji 1.7.3 znów następuje wymiana kolejnego kontrolera na nowy i znów kolejny moduł przestaje tak działać.
I póki ta wymiana będzie trwać, będzie się to wiązało z nowymi problemami, z modułami i modyfikacjami które nagle z wersji na wersję będą przestawały działać. Osobiście nie jestem zwolennikiem takiej "karuzeli".
Wersja 1.5 również na początku nie była super niestabilna itp. Ale trwało to o wiele krócej, niż w przypadku wersji 1.7.
Tak więc mamy tutaj dwa podejścia. Z 1.4 na 1.5 nagła wymiana wsystkiego. Przy takim podejściu wszystko się sypie - i rzeczywiście, 1.5 na początku sypała się strasznie.
Z 1.6. na 1.7 powolna wymiana wszystkich elementów po kolei. Takie podejście powinno zapewnić powolną migrację i o wiele mniejszą ilość błędów. Początki Presty 1.7 były jednak o wiele gorsze niż 1.5 i to małe piekiełko błędów trwa po dziś dzień.
Choć sam przyznam, że wersja 1.7.6.4 zaczyna mi się podobać pod względem stabilności i prędkości. Nawet może jest szybsza niż 1.6.
Przyznam, że z pewną niepewnością i dużą nadzieją oczekujemy zakończenia migracji tego systemu i przeniesienia wszystkiego na nowy system. Prestashop 1.8 może być niezwykle obiecjująca i mam szczerą nadzieję, ze plama na historii Presty, jaką jest okres 1.7 szybko zniknie.
A i o wersjach słów jeszcze kilka
Pestashop 8.0 zostawi pewną lukę w wersjach. Może i dobrze, bo wszystko wróci do tego jak powinno być, choć przeskoczenie do wersji Prestashop 8.0 zostawi pewną lukę co do której mam mieszane uczucia.
Obawiam się też, że od wyjścia wersji 8.0 zacznie nam się co kilka miesięcy pojawiać Prestashop 9.0, Prestashop 10.0 itp bez większych zmian. A tutaj zadziała już metoda maketingowa stosowana przez Google.
Skąd te przypuszczenia? Bo wszystko zaczęło się od Google Chrome... Zanim powstał Google Chrome, Najpopularniejszą przeglądarką był Firefox. Firefox na początku numerował wersje powoli. W pamięci najbardziej zapała mi wersja Firefox 3.5, ponieważ było tam najwięcej zmian. Bardzo szybko były wprowadzane nowe technologie i wszystko to było w ramach wersji 3.x. Nasępnie wyszła wersja 4.0 mojej ulubionej (po dziś dzień) przeglądarki. W między czasie Google rozpoczął tworzenie Chrome'a, który co chwilę wychodził zupełnie z nową wersją. 3, 4, 5, 6, 7.
Z punktu psychologicznego Firefox 4 zawsze był Firefox 4... mimo iż dostawał cały czas aktualizacje, to stał w miejscu, gdzie Google Chrome gnał do przodu. Od tamtej pory Mozilla również zmieniła numerację wersji na podobną do Google Chrome. Piszę obecnie te słowa na Firefox 77.
Każa zmiana, której kompletnie nie widać, dostaje co chwilę nową wersję. Odkąd wyszedł Firefox Quantum (nawet nie wiem jaka to była wersja, gdyby została nazwana Firefox 5.0 Quantum, to zapewne bym to zapamiętał), straciłem kompletnie orientację w tym, co, gdzie i kiedy się zmieniło. Wersja 77, 78 czy 79? Co za różnica, zapewne i tak nikt nic nie zmienił, może dodał jakąś małą opcję. To samo tyczy się Google Chrome - każda nowa wersja zanika w tłumie.
Jeśli, twórcy Prestashop pójdą tą drogą, to możemy się co chwilę spodziewać zupełnie nowej wersji Prestashop. Która to dostnie piękny, nowy numer na przedzie, a zmiana będzie się ograniczać do poszerzenia menu o 10 pixeli.
Niestety, coraz bardziej popularną praktyką na rynku jest właśnie takie - nazwijmy to - mydlenie wersji. Dlatego też u nas, zmiana pierwszego numeru wersji oznacza większe zmiany, a nie dodanie jednej nowej opcji typu wyłącz aktualizację cen albo nową hurtownię.