Retro gaming machine made with Javascript and Kubernetes
Drush make vs composer
1. Drupal 8: gestire le dipendenze
Da Drush Make a Composer: cosa cambia?
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
2. La filosofia del cambiamento
● Drupal è maturato, non reinventa la ruota.
● Drupal si è aperto all’interoperabilità (Framework Interop Group - http:
//www.php-fig.org/ )
● Una installazione ‘vergine’ di Drupal contiene già componenti esterni alla
community (Twig, varie librerie Symfony, Guzzle, ecc)
● Da progetto.make a composer.json
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
3. Drush Make
Drush Make permette, tramite un file di testo, di gestire i componenti
(dipendenze) di una installazione Drupal (core, librerie, moduli) per permettere
una più facile distribuzione del codice e la derivante installazione Drupal.
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
4. Composer
Composer è nato per gestire le dipendenze in progetti PHP di qualsiasi tipo.
La sua versatilità e il suo standard de-facto lo hanno reso la trasposizione
naturale per gestire le dipendenze anche in Drupal 8 vista la ormai eterogenea
composizione della codebase Drupal (Drupal 7 lo supporta comunque
attraverso un modulo contrib).
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
5. Come cambia la nostra vita adesso?
Per i site-builder o chi non necessita di un controllo approfondito sulle versioni dei componenti della
propria installazione Drupal non molto.
● Un grande aiuto è dato da Composer Manager
https://www.drupal.org/project/composer_manager
Per i developer cambia la gestione delle dipendenze, del controllo delle versioni e dei componenti:
● Gestione ricorsiva delle dipendenze
● Generazione del file autoload.php
● Apertura di Drupal verso qualsiasi libreria PSR-1 / PSR-4 (Symfony, Zend, ecc)
● Sicurezza nella gestione delle versioni delle dipendenze (composer.lock)
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
6. composer create-project drupal-composer/drupal-project:8.x-dev myproject
--stability dev --no-interaction
Project template per Drupal 8
● https://packagist.org/packages/drupal-composer/drupal-project
Un comando per domarli
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
7. … oppure un custom composer.json
{
"name": "drupal/drupal",
"type": "project",
"require": {
"composer/installers": "^1.0.21",
"drupal/core": "~8.0"
},
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"_readme": [
"By default Drupal loads the autoloader from ./core/vendor/autoload.php.",
"To change the autoloader you can edit ./autoload.php."
]
}
}
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
8. … oppure There is a module for thatTM
Composer Manager
● https://www.drupal.org/project/composer_manager
$ drush dl composer_manager
$ php modules/composer_manager/scripts/init.php
$ composer drupal-install
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
9. Non sono tutte rose e fiori
● Il core di Drupal 8 ha sotto controllo di versione la propria directory dei
vendor - https://www.drupal.org/node/1475510
● Cambieranno drasticamente tutte le nostre abitudini
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015