Înapoi la site
Blog

Prestashop 1.7.7.4 vs. ThirtyBees 1.2.0

In 2016 când versiunea Prestashop 1.7 a aparut, a fost practic un mic(?) dezastru. Articole ca acesta sau acesta scrise de vechi dezvoltatori pe platforma 1.6 au subliniat o mulțime de probleme aduse de noua versiune:

  • fără modulul de One Page Checkout
  • fără modulul de Advanced Stock Management
  • fără implementare Font Awesome
  • fără implementare Ajax Cart Drop Down

Implementarea 1.7 era (și este si acum) un mix de Simphony Framework și vechiul MVC proprietar, folosind Smarty ca template engine. Asta presupune cerințe mai mari de resurse, un hosting mai scump, poate. Viteza ? Nu, în fapt introducerea unor nivele intermediare între cele două implementari poate chiar încetini funcîionarea magazinului virtual. Codul 1.6 nu era grozav, dar macar era stabil și majoritatea bugurilor cunoscute. De altfel platforma 1.7 nu prea a rezolvat nimic din acestea dar, bineințeles a adus altele noi :-) . Si de departe, cea mai mare problemă a fost aceea că cele doua versiuni NU ERAU COMPATIBILE !. Asta a lăsat zeci de mii de comercianți blocați la o versiune de soft abandonată, cu singura opțiune refacerea magazinului virtual aproape de la zero pe o platforma 1.7 nesigură, incompletă și plină de erori...
Suntem in 2021 și Prestashop a supraviețuit. Acest lucru nu se datorează neapărat dezvoltatorilor softului ci mai degrabă miilor, zecilor de mii de utilizatori care nu au putut sa-si abandoneze afacerea, și care de voie de nevoie au trebuit să plateasca destul de piperat servicii de upgrade pe versiunea 1.7 in ideea ca lucrurile se vor imbunatati...

Si s-au imbunatatit. Oarecum...

One Page Checkout , sau mă rog aproape, a devenit procedura clasică de checkout. Dacă nu vă place implementarea, cumparați un modul care face treaba mai okay...
Advanced Stock Management, nope, dacă doriți această facilitate cumparați module Prestashop ERP de pe Prestashop Addons - și nu-s de loc ieftine, Prestashop - customer 1-0;
Și mai sunt...
Dupa aproape 6 ani de regândire a arhitecturii, code refactoring și testare, Prestasop 1.7 încă nu este ceea ce a promis de la inceput. Dar zic entuziaștii că este pe drumul bun.

Quasi-esecul 1.7 a deschis în schimb noi oportunități: welcome ThirtyBees !

Un mic grup de dezvoltatori au decis că versiunea de 1.6 încă mai are potențial, au preluat-o și au decis să facă ceea ce vechea echipă de Prestashop 1.6 nu s-a obosit: să optimizeze codul, să elimine bug-urile, să adauge facilitati cerute de ani de dezvoltatori, o implementare mai buna SEO, un blog, o mai bună securitate... Din 2018 de la versiunea 1.0.0 ThirtyBees a ajuns la versiunea 1.2.0 cu ținte ambitioase: viteză, securitate și mai ales, zero known bugs !
Lo o evaluare rapida 1.7 vs. ThirtBees rezultă că:

  • Relativ la securitate si vulnerabilitate Prestashop 1.7 a fost compromis de un malware numit XsamXadoo Bot. Acesta a reușit să uploadeze fișiere care au compromis setările de securitate ale magazinului. Se pare că din cauza unor module precum autoupdater, gamafication, și inca ceva third-party modules. Într-o mișcare inspirată
    ThhirtyBees, în implementarea lor au eliminat din start aceste module.
  • Parte din facilitățile inițiale 1.6 au fost eliminate sau inlocuite cu variante parțiale, pentru recuperarea lor clientul acum trebuie să cumpere module separate.
    Pe de de altă parte ThirtyBees au venit cu modificari interesante, precum template definibil la nivel de produs, htmlblock module, sau new hooks.
  • Cod optimizat versus Simphony Framerok impreuna cu vechiul MVC framework. Asta afectează eficiența ăn folosirea resurselor (server, memorie), și in ultimă instanță viteza cu care se mișcă magazinul în mediu real. Clar în favoarea ThirtyBees.
  • Se pare că Prestashop colectează date despre websiturile unde este instalat. Modulul incriminat: gamafication. Nu foarte etic din partea Prestashop. ThirtyBees a eliminat acest modul.
  • Baza de clienti. Aici fără îndoiala Prestashop câțtigă detasat. Numarul imens de teme ți module existente pe piață (ți efortul ți resursele investite în dezvoltarea lor) au asigurat continuitatea în trecerea la 1.7.

Daca ThirtyBees nu vor gasi o soluție pentru ași lărgi baza de clienți, atunci vor avea o problemă. Deți ei spun ca 99% din modulele și temele pentru 1.6 sunt compatibile cu softul lor, în lumea reală acest lucru nu este adevarat. Pe de altă parte multi dezvoltatori, au adaptat modulele proprii de la versiunea de 1.6, la ThirtyBees. Problema e că pe masură ce ThirtyBees evoluează, acesta inevitabil va fi din ce in ce mai puțin compatibil cu 1.6. Deci și eventualele module sau teme vor trebui refactorizate 'mai mult'. Bineințeles dacă se vor găsi clienți pentru ca acest efort să fie ptofitabil...

Relativ la performanță, dacă la inceput diferentele erau în clar în favoarea ThirtyBees, programatorii de la Prestashop au recuperat substanțial din diferență așa cum arată imaginile de mai jos.

TB Lighthouse PS17 Lighthouse

 

rezultate PAGE SPEED INSIGHTS  rezultate GTMETRIX

 

rezultate PINGDOM

Câteva obsevații:
Testările au fost facute pe instalări 'curate' de Prestashop 1.7.7.4 respectiv ThirtyBees 1.2.0

  • In Chrome DevTools Lighthouse pe desktop si mobile.
  • In Google PageSpeed Insights
  • In GTMETRIX (London Server)
  • In SOLARWINDS Pigdom

Datorită inerentei variabilități, (încărcare server, viteza rețea) testele au fost reluate de mai multe ori, valorile care se vad sunt cele mai apropiate de o valoare medie calculată.
Se observă ca valorile sunt foarte bune și relativ apropiate, cu ceva avantaj pentru optimizarea SEO a temei implicite pentru 1.7. Dar...
Nu vă lăsați amagiti. In funcție de eventualele particularizari, încarcare imagini, module și teme instalate, punctajul poate să scada dramatic, la chiar mai puțin de jumatate din cele afișate. Timpul mediu de încărcare a unei pagini în zilele noastre trebuie să se încadreze undeva între 2-3 secunde, chiar mai puțin. Mai mult de 4-5 secunde și utilizatorul grăbit își pierde interesul (ce puțin așa zice Google).

Bottom line, cu versiunea 1.7, Prestashop incearcă să intre în categoria 'băieților mari în e-commerce', aka Magento. Opinia noastră e că nu a reușit. Încă. Poate cu un sponsor serios (gen eBay cu Magento), cu o schimbare a viziunii asupra softului și arhitecturii, și cu mulți bani învestiți, acest lucru va deveni posibil.
ThirtyBees se confruntă cu o problema lipsei de dezvoltatori pentru teme în special, și pentru module dedicate. Potențialui este urias. ThirtyBees ar putea deveni ceea ce ar fi trebuit să fie Prestashop de la bun inceput: un soft fiabil, versatil, usor configurabil, bugs free si adresabil actorilor in e-commerce de talie mică și medie, adică cam 80% din piața actuală. Și aici reușita depinde de un investitor serios și nu în ultimul rănd de politica de marketing.

La final o căteva sfaturi pentru cei ce doresc să migreze de la Prestashop 1.6 la 1.7.

  • Nu credeți în soluții One Click Upgrade sau module care promit acest lucru. Șansele de a rămane cu 'bucăți de cod' incompatibile sunt mari si probabil magazinul o sa crape mai devrene sau mai tarziu.
  • Instalați o veriune curată de 1.7. Exportați vechea bază de date și importați-o în noua instalare 1.7. Dacă aveți probleme și nu știți cum, apelați la un serviciu profesionist. Sunt site-uri specialzate care oferă servicii de genul ăsta, la prețuri decente.
  • Faceți o listă cu modulele thirdparty instalate în vechea versiune de 1.6. Verificați la dezvoltator dacă există update-uri pentru 1.7. De cele mai multe ori, da. Procurați versiunea 1.7, e posibil ca dacă aveți modulul deja cumparat, upgrade-ul să fie gratis.
  • Verificati tema. Idem ca la module, verificați versiunea de 1.7. Daca dezvoltatorul nu o ofera, încercati să găsiți o tema asemanatoare ca design, dar validă 1.7.
    Verificati la dezvoltator ca noua temă să fie compatibilă cu modulele folosite.
  • Pe noul magazin, cu baza de date transferată, instalați tema și modulele.
  • Între diverse instalari, mai faceți și un backup la magazin. Astfel dacă ceva merge rău, restaurați magazinul de la momentul anterior incidentului și renunțați la modulul culpabil.

La final o sa aveti un Prestashp 1.7 bug free de eventuale incompatibilitati cu 1.6, dar nu si bug free de erorile native ale versiunii curente ! :-)
Opinia unui dezvoltator de Core Prestashop 1.7 despre problemele și evoluția acestei platforme, o găsiți aici. E interesantă, merită să o citiți :-)

 

Magento vs. PrestaShop

Magento sau PrestaShop ? Dincolo de pasiuni, idei preconcepute, subiectivism de programator, rămân faptele. Și intrebarea corectă, nu o platformă sau alta, ci mai degrabă care din ele mi se potrivește mai bine ? Și acum faptele:


MAGENTO.
Dacă vă spun că principalul acționar de la Magento este eBay, atunci probabil că ați ințeles despre ce e vorba. Sub conducerea Ebay, Magento s-a dezvoltat rapid având sute de mii de magazine online active, parteneri și companii prestigioase din industrie, Nike, Vizio, Easton, numărându-se printre ele. Magento este dezvoltat modular, există o piață de module pentru diferite nevoi și situatii, unele gratuite, altele contra cost. Este o soluție performantă recomandată pentru magazine online cu muuulte produse și cu trafic mare de clienți. Ce inseamnă multe produse ? zeci, sute de mii ! chiar mai mult ! Ce inseamnă trafic mare ? peste o suta de mii de tranzacții pe oră !
Magento este o solutie enterprise implementată, operată și intreținută de o echipă destul de numeroasă de operatori, programatori etc. Suportul hardware trebuie să fie pe masură, costurile de operare sunt destul de mari. Si softul NU e gratis ! in functie de configurația dorită poate ajunge și la 15.000 USD, inclusiv suportul tehnic. E adevarat, există și o versiune opensource, free, dar fără suport tehnic și intr-o versiune restransa (fără capabilitățile enterprise).
Magento in sine este o unealtă foarte sofisticată, cu module concepute pe diverse nivele de abstractizare, in așa fel incât acestea să 'potivească' pe toate situațiile și combinatiile posibile din lumea reală.
Oferă unelte de analiză statistică sofisticate, dar eficiența acestora este pusă in valoare doar in prezența unui numar mare de date, produse, tranzacții, clienți, etc. Magento și-a creat o imagine de soluție profesională, enterprise, high business oriented, și de aceea toate costurile legate de implementare, configurare, evantuale adaptari ale platformei, sunt destul de mari. Suportul hardware este de asemenea destul de pretențios (server dedicat, trafic mare de date, etc.) Customizarea nu este chiar așa de usoară, dar există o comunitate destul de semnificativă de programatori Magento competenți, dar... pe bani :-)! Magento asigură un nivel de securitate ridicat și este cel mai SEO friendly dintre toate platformele eCommerce semnificative la ora actuală. Dinte firmele cunoscute, NIKE AU&UK, North Face, Behr folosesc Magento pe platformele lor. In concluzie, dacă doriți să deschideți o nouă rețea Dedeman (de ex.) online, și aveți de investit acolo, vreo suta, doua de mii de dolari pentru inceput, Magento este soluția ! Dar daca aveti un magazin virtual cu doar căteva sute de produse, chiar mii să zicem, atunci dacă ai folosi Magento ar fi ca și cum ai trage cu tunul intr-o vrabie ! Sau ai transporta cu TIR-ul o pereche de pantofi ! In acest caz solutia care se impune este...

 

PRESTASHOP
A fost creat in 2007 ca un open source CMS de 5 studenți francezi (de aici și imensa sa popularitate in țările francofone !) Și PrestaShop poate manipula un volum destul de mare de date, zeci de mii de clienti, mii de tranzactii pe ora, dar in termeni de scalabilitate și operare nu este potrivit pe segmentul enterprise. Și Prestashop este conceput modular (invidioșii zic că e doar o adunatură de module :-) ) prin urmare mai flexibil si mai usor configurabil decat Magento. Nu are suport tehinic, dar există o comunitate PrestaShop foarte activă care iți poate da o mână de ajutor (gratis !) la nevoie. Există de asemenea o piață foarte semnificativa de module free și pe bani, care adresează o gramadă de situații pe care le poate intilni un comerciant on-line. Este la fel de rapid ca și Magento, dar asta depinde in largă masură de platforma hardware pe care este implementat.
PrestaShop este scris în PHP și Smarty (motorul de template-uri de la PHP), are codul ușor de citit și (eventual) de modificat, este deci mai accesibil in termeni de adaptare la cerințele pietii decât Magento. Pentru PrestaShop există o multitudine de template-uri cu un design atragator, atat free cat și pe bani. Poate fi mult mai ușor de instalat, este mult mai puțin pretențios cu cerintele hardware cât și cu cele de operare. Dar nici PrestaShop nu este o solutie gratuită pe de-a intregul. Modulele costă, implementarile la fel, sunt și costuri de operare deși nu se apropie nici pe departe de cele de la Magento. Nu este atât de bogat în opțiuni, și la capitolul SEO lasă un pic de dorit. Noua versiune 1.7 probabil va corecta aceste deficiențe, și va duce PrestaShop-ul mai aproape de 'grupa mare' în care joacă Magento.


Prin urmare, care pe care ? :-) Așa cum ziceam la inceputul articolului, depinde de ce se portivește mai bine cu proiectul beneficiarului. Pentru magazinele virtuale mari și foarte mari, cu bugete 'grase', Magento. Pentru magazinele 'normale' PrestaShop. Configurate corect și intreținute profesional, ambele functioneaza aproape ireproșabil.
Dacă ar fi să mă intrebați pe mine aș zice asa: dincolo de orgoliile și tâfnele unora, PrestaShop acoperă lejer necesitățile a 90% din magazinele virtuale existente in RO.
Dar pentru cei ce vor să iasă din rănd, chiar au nevoie de asta și iși pot permite, atunci fără indoiala, Magento it is !

Cum sa faci un transfer de magazin virtual PrestaShop

Daca odata o sa fiti pusi in situatia de a transfera un site, magazin virtual dezvoltat pe platforma Prestashop, de pe un domeniu pe altul, fara sa culegi toate datele si sa refaci manual toate setarile, atunci iata o procedura in 6 pasi care sa va ajute sa realizati aceasta.
Fie http://www.domeniu_vechi.ro, domeniul sursa, respectiv http://www.domeniu_nou.ro, domeniul target.
1. Din cPanel-ul asociat domeniului vechi faceti o salvare a continutului public_html pe storage-ul local. Din phpMyAdmin faceti o salvare a bazei de date Prestashop in format sql.
2.In directorul public_html intrati in subdirectorul config si accesati fisierul settings.inc.php. Acesta este fisierul care contine informatiile legate de accesul la baza de date Prestashop. (parole, nume database, utilizator). Cu aceste informatii la indemana intrati in cPanel-ul asociat domeniului nou (http://www.domeniu_nou.ro) si creati o baza de date cu aceiasi nume, utilizator, parola.
3.Intrati apoi in fisierul sql care reprezinta salvarea bazei de date si cu un editor de text (notepad, editplus etc.) modificati toate referintele la www.domeniu_vechi.ro in www.domeniu_nou.ro. Se recomanda ca, chiar daca referintele sunt multe, fiecare sa fie analizata in contextul in care apare, pentru a evita eventuale confuzii.
4.Acelasi operatii se fac pe toate fisierele din directorul public_html salvat pe hard-discul local. Operatia se poate face cu o cautare extinsa via TotalCommander sau cu orice alt soft care stie sa faca search&replace pe mai multe fisiere simultan.
5. Sunteti aproape gata. Faceti upload a continutului directorului public_html pe domeniul nou. Importati in baza de date creata pe domeniul nou, fisierul SQL modificat.
6. Gata. Intrati pe site in front si back office si verificati ca totul sa fie in regula.
Observatii. Daca sunt fisere (in special imagini) care contin in denumire numele vechiului domeniu, acestea vor trebui redenumite de asa natura incat sa contina numele noului domeniu.

PrestaShop și Compari.ro

Pentru cei care dezvolta magazine online sub Prestashop si au ghinionul ca trebuie sa implementeze scriptul Magazin de Incredere de la Compari.ro ascultati asta: e obligatoriu (!) ca partea care prepara codul scriptului ce va fi injectat dinamic in header sau body, sa fie facuta plugin Smarty. (Smarty este engine-ul de template-uri folosit de PrestaShop)
Si apoi sa fie chemat undeva in OrderConfirmation.tpl. Altfel informatiile nu ajung la arakuesco.ho (serverul compari) , si cei de la compari.ro te scot din program. Am descoperit asta dupa ce am incercat sa atasez codul respectiv si in modulul mailalerts, si in OrderConfirmationController, dupa doua nopti de teste, precedate de lungi discutii sterile cu tehnicul compari.ro.
Poate cuiva ii va fi de folos informatia asta, eu n-am gasit nimic folositor pe net, decat ceva consultanta pe bani. :-)

Home
Înapoi la site