Jump to content

[DOC] Step by step su come aggiornare alla 1.7


maofree

Recommended Posts

Ciao
questa è una breve guida su come aggiornare un sito dalla versione 1.6 alla 1.7 (volendo anche per quelle precendenti)
questi sono i passi che seguo di solito, ovviamente ci possono essere varie alternative in base alle proprie conoscenze, condizioni del server e del sito.

passi da seguire:

  1. Lavorare su una copia del sito originale. Lo si fa o copiando il sito in una cartella nella webroot del server (servirà creare anche un nuovo database) o usando sistemi virtuali che simulano il comportamento di un server tipo http://www.wampserver.com (ci sono vari video e topic su come fare migrazioni o su come utilizzare sistemi wamp, mamp o lamp).

  2. Per il template  da usare sulla 1.7 consiglio di sceglierne uno su Prestashop Addons o themeforest o altri, l'importante è che abbiano il supporto a 12 mesi. Quello di default è troppo basilare

  3. Cancellare il tema utilizzato se non è quello di Default

  4. Disinstallare e rimuovere le cartelle di tutti i moduli extra compresi i moduli del tema, lasciando solo quelli della dashboard e moduli che non interagiscono con la parte frontale (personalmente cancello pure questi mantenendo le loro tabelle per non doverle recuperare dal database originale, questo per ridurre al minimo possibili errori nella fase di aggiornamento)

  5. fare backup dei file e del database

  6. aggiornare il sito con il modulo 1-click upgrade (disattivare le opzioni di backup anche quelle in basso dove dice disattivare i moduli extra) selezionare solo aggiornare tema di default

  7. riloggarsi e pulire la cache del browser

  8. andare nella pagina seo e urls e premere sul salva per far aggiornare il file htaccess, in alcuni non viene presa la modifica sull'url dei prodotti {category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html  (con la 1.7 hanno aggiunto una cosa super stupida dove ogni combinazione ha il suo url, ci sono alcuni lati positivi ma molti lati negativi almeno per me che aggiungono anche errori a livello javascript)

  9. andare ad aggiornare alcuni moduli

  10. fare backup dei file e del database

  11. installare il tema

  12. configurare il tema come suggerito dai loro sviluppatori

  13. verificare quanti titoli h1 ci sono nelle pagine, spesso mettono h1 su ogni titolo che e non va bene, solo uno per pagina (anche se con html5 se ne possono mettere anche di più ma non nelle stesse sezioni, per il momento meglio uno solo che usi parole chiavi e non parole generiche tipo nuovi prodotti che non hanno significato a livello seo). Utilizzare il modulo ps_customtext per aggiungere un titolo H1 e H2 nella homepage (alcuni temi mettono come h1 il nome del sito presente nel logo, meglio evitare andando a togliere questa condizione dal file del tema header.tpl)

  14. reinstallare i moduli extra ma solo quelli compatibili con la 1.7.x

  15. installare il modulo contactform e attivare l'opzione "Ricevi via email i messaggi dei clienti". installare e configurare il modulo ps_gdpr (se necessario anche ps_legalcompliance)

  16. attivare modalità debug dalla pagina prestazioni lato admin, attivare la ricompilazione dei file se modificati, sempre da questa pagina prestazioni, cancellare la cache premendo sul pulsante. Verificare se sono presenti errori nella parte frontale

  17. riportare tutti gli errori (distinguere tra quelli del tema e quelli di prestashop) agli sviluppatori senza postarli nel forum dove spesso ci sono suggerimenti non aggiornati o non ottimali, meglio andare alla fonte anche per risolverli una volta per tutte e toglierli dalle future versioni

  18. evitare di usare il sito come un cellulare e pensare sia tutto semplice, con la 1.7 il codice è decisamente più complesso, tutto molto più strutturato con vari sistemi in più rispetto alla 1.6

  19. usare sempre un sito demo (sul server o sul proprio pc) per fare prove evitando di incasinare il sito originale

  20. consiglio pure di non usare installatron dal cpanel, personalmente meno sistemi si usano meno errori ci saranno. Ridurre al minimo i moduli extra da utilizzare, prima provarli sul sito demo, quando non si utilizzano più non disattivarli ma toglierli completamente dal sito

  21. attivare php 7.2 o successivi dal cpanel, aumentare la ram se possibile sopra i 500MB, utilizzare dischi ssd, utilizzare certificato ssl su tutte le pagine del sito

  22. attivare la compressione css e js dalla pagina prestazioni del sito, quando avrete finite le modifiche sul sito allora attivare anche la cache

  23. sulla 1.7 ogni tanto potrà servire cancellare completamente i file di cache. Adesso si trovano in /var/cache/
    rimuovere completamente le due cartelle /prod/ e /dev/

 

se volete chattare con i programmatori di prestashop o con altri sparsi nel mondo potete farlo da qui

https://gitter.im/PrestaShop/General

qui invece trovate un pò di info

https://www.prestashop.com/it/risorse/documentazione

eventuali errori su prestashop e suoi moduli da riportare qui

https://github.com/PrestaShop/PrestaShop/issues

 

ciaoooo

Link to comment
Share on other sites

ciao

la parte introduttiva è un copia ed incolla preso da una cosa che ho scritto in un altro topic, era stata chiesta una lista di operazioni da fare per indicare come aggiornare. Allora ho deciso di scrivere in modo dettagliato la procedura che sto utilizzando per aggiornare alla 1.7 i siti delle ditte che seguo. Utilizzo Prestashop dalla versione 1.2.5 quindi un pò di aggiornamenti credo di averli fatti.

il modulo ps_gdpr è presente sulla 1.7 ed è quello di default sviluppato da Prestashop che non è presente nella 1.6. Quindi sulla 1.7 è semplice sistemare queste cose perchè sono già presenti di default basta semplicemente installarli dal proprio sito senza doverli cercare o comprare da altri. Stop poi uno fa come vuole

la frase sulla sperimentazione è per invogliare a fare delle prove, spesso non ci si rende conto di cosa si tratti ed è un buon motivo per prendere confidenza con i server e con linux, quindi lavorando su un clone un può fare tutte le prove che vuole se ha tempo e voglia di studiare. Se verifichi per bene i link inviati c'è quello sulla documentazione ufficiale di Prestashop, la possibilità di vedere la quantità di bugs in corso di correzione e la possibilità di chattare con programmatori.

i link messi li ritengo giusti perchè li uso quotidianamente, riportando bugs, risolvendoli o semplicemente notificando la loro presenza, o per ricevere velocemente informazioni dai programmatori di prestashop. Quindi questo topic è rivolto a persone che hanno piacere come dedaweb di sperimentare (l'ho scritta per lui poi pensando fosse utile ci ho creato un topic ma senza pretese un pò come si è abituati nel mondo open source) 

non ho problemi a confrontarmi con te o con altri se ho tempo per farlo.

Per la sicurezza ci sono importanti novità oltre a symfony, anche a livello smarty adesso curano di più alcuni aspetti anche lato codice

per la velocità pure, lo vedo con alcuni siti che hanno 20000 prodotti, poi è ovvio che tutto dipenda dalle risorse del piano hosting.

è ovvio che questa guida sia rivolta per utenti un pò esperti, ma ti ripeto il tutto è nato da una richiesta di info fatta da dedaweb, e allora ho voluto dargli una mano, stop tutto qui. Mi occupo di programmazione e tante altre cose nel mondo ecommerce e lato server. Partecipo poco nel forum proprio per evitare discussioni preferisco parlare di cose tecniche direttamente con gli sviluppatori, poi se posso dò una mano, ma che rottura questo parlar male a priori senza sapere con chi si ha a che fare.

sul fatto che la 1.7 sia una versione di transizione alla 1.8 lo potrai leggere in qualche forum, ora non in maniera esplicita come l'ho scritta io, ma se hai provato tutte le versioni della 1.7.x, avrai notato che stanno aggiungendo, lato admin, sempre più pagine gestite col nuovo frameword symfony, lo si nota dalla grafica e struttura di queste pagine che somigliano a quelle dei prodotti. Poi c'è un nuovo sistema per la gestione delle pagine di configurazione dei moduli introdotta nella 1.7.6 (ancora non hanno rilasciato molte info o esempi, quindi non sono ancora sicurissimo quando sarà possibile utilizzarla nello sviluppo dei moduli). Nella 1.7.6 introducono la possibilità di sviluppare siti con twing e non più con smarty. Queste son tutte cose che saranno di default con la prossima 1.8
qualcosina la puoi leggere qui

https://www.html.it/12/09/2016/prestashop-1-7-sceglie-symfony-e-dice-addio-a-smarty-o-quasi/

comunque hai ragione la parte introduttiva sono considerazioni personali che possono far pensar male anche se l'intento era dei migliori, ma la gente parla prima di conoscere come stanno le cose. Toglierò quel testo e lascerò la parte tecnica che se seguita aiuta nei passi fondamentali per aggiornare, poi è ovvio ma super ovvio che l'aggiornamento ha tanti passi in più che variano in base al sito, moduli, tema e server usati, ma può essere d'aiuto come suggerimento, è normale che uno debba avere conoscenze di vario tipo ma da qualche parte dovrà iniziare

questo è l'ultimo bug che ho riportato a quelli di Presta scoperto da 2 giorni

https://github.com/PrestaShop/PrestaShop/issues/15178

ho scritto queste cose dopo diversi anni proprio per piacere senza pretendere chi sa cosa e nemmeno per mettere in mostra un bel niente, so che se 10 anni fa avessi letto una cosa del genere ne sarei stato felice perchè mi avrebbe dato delle indicazioni per prendere maggiore coraggio nel fare certe operazioni.

le ultime tue considerazioni sulla mia competenza mi hanno fatto ridere un sacco, sulla storia delle classi da usare ecc... (tra le varie cose ho anche una laurea in ingegneria informatica, anche se queste cose non te le insegnano di certo all'università). Ho sviluppato 40 moduli che in parte a breve verranno messi su Prestashop Addons. Vorrei farne altri per magento e shopware ma non solo, finisco di aggiornare gli ultimi siti alla 1.7 e poi riprendo gli sviluppi, forse anche un template. Collaboro con più web agency dove curo gli sviluppi di siti ecommerce ma anche tante altre cose che ho imparato in questi anni che non c'entrano nulla con la programmazione, ma utilizzo anche altri cms dove ovviamente mi faccio tante cose da solo senza usare page builder o moduli extra, però ora non sto ad elencare tutto. Mi son detto ma chi è questo cogl... :)

moduli lato admin in molti casi funzionano bene su prestashop 1.7 anche se erano sviluppati nella 1.6, le classi di Symfony si usano per moduli soprattutto per la parte frontale dove adesso si usano i widget che si possono richiamare nei file tpl del tema (se hai letto bene la guida ho specificato il passo dove serve rimuovere moduli del tema e quelli della parte frontale). Ti ripeto sviluppo moduli per prestashop dalla versione 1.2.5 che col tempo sono aumentati di numero, facendo una versione per ogni versione di prestashop compresa la 1.7.
È solo una guida che dà delle indicazioni non pretende di essere chi sa cosa non avrei ne la voglia ne il tempo per andare nel dettaglio, è fatta anche per far capire che non è una cosa così semplice, spesso i negozianti pensano che sia tutto semplice premi un pulsante e aggiorni invece non è così, uno prova e verifica le difficoltà e poi in base alla proprie competenze deciderà se procedere da solo o farsi seguire da un tecnico specializzato come suggerisco se vogliono un lavoro fatto per bene.

mi stoppo altre cose le chiariamo tramite PM perchè non è il posto giusto per certe cazzate, sembra solo una gara a chi ce l'ha più lungo, ma che palle

ciao

Link to comment
Share on other sites

ciao

atteggiamento già migliore

ti dico la verità, come me un pò dire quello che vuole tanto lo so da me quello che so fare, quello che mi ha dato fastidio è stato il non poter vivere con maggiore serenità la condivisione di certe conoscenze/esperienze, davvero negli ultimi 3-4 anni ho partecipato davvero poco nel forum per i troppi impegni di lavoro e studio, ma su 10 post 2 son stati di discussione con professionisti. Vivo queste cose come si fa sui forum delle varie distro di linux, secondo me dovremmo fare allo stesso modo con meno formalità e più partecipazione senza rendere le cose troppo pesanti. Tanto uno provando troverà il suo modo di procedere.

Personalmente non voglio perdere tempo in errori, non voglio bugs, se ho iniziato a farmi i moduli da me è perchè mi ero stufato di correggere quelli degli altri e supplicarli di sistemarli o aggiornali, tanto nemmeno quelli su addons sono esenti da bugs, soprattutto i temi. Allora preferisco soluzioni drastiche togliere tutto rupulire il db da tabelle non più necessarie, utilizzare un mio modulino per cancellare tutti i dati in più non necessari e poi aggiornare. Con l'ultima versione 4.9.0 già le cose vanno meglio ma in passato era facile beccare degli errori e dover riprocedere da capo andando alla ricerca dell'errore

adesso abbiamo fatto amicizia, due schiaffi reciproci e via :)

ciaoooooo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...