A seguito un elenco di buone pratiche da seguire durante lo sviluppo.
Ambienti
Il preprod è un ambiente di anteprima da mostrare al cliente e dove il cliente può compiere dei test; pertanto le nuove soluzioni non andrebbero sviluppate in pp.
Il preprod2 lo vediamo solo noi ed è l'ambiente ideale dove sviluppare. Dato che pp2 ha una memoria più limitata di pp, si sconsiglia di importare la cartella /files.
Installazione moduli
Per l'installazione di un nuovo modulo è bene seguire questi passaggi:
- si installa il modulo in una copia del sito in locale e ci si accerta che il modulo funzioni correttamente e non crei conflitti;
- si installa il modulo in un branch del basecode e si fa il suo deploy in pp2. A fine test si elimina il branch;
- si installa il modulo nel master del basecode e si fa il suo deploy in pp.
Quindi, se va tutto bene ed il cliente ci ha dato l'ok, si fa il deploy in prod.
Non bisogna installare moduli in pp usando un diverso branch, perchè lascierebbe degli strascichi nel database e si correrebbe il rischio di avere dei conflitti. Se succede, si fa il dump del database di produzione in preprod.
Nel caso il cliente rifiuti il modulo, lo si disabilita e poi si prova a rimuoverlo dal codice usando Composer; ad esempio per eliminare il modulo Pathauto si esegue:
composer remove drupal/pathauto
Temi
Quando si crea un sottotema (ad esempio unime_fed), non occorre ereditare le librerie presenti nel file .info.yml del tema originale (ad esempio unime_base), perchè queste vengono ereditate in automatico.
Importazione moduli fra Composer
Quando si importano i moduli da un composer.json all'altro, controllare che la chiave ""minimum-stability" coincida in entrambi; diversamente alcuni moduli potrebbero non venire installati. ad esempio:
"minimum-stability": "dev"
Aggiornamento core
Dopo avere aggiornato il core, si deve eseguire
drush update db