SlideShare a Scribd company logo
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
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
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
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
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)
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015
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
… 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
… 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
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
...ma
Dal cambiamento si può sempre imparare!
Drupal Social Club @sparkfabrik 2/10/2015
Grazie!
Domande?
Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com
Drupal Social Club @sparkfabrik 2/10/2015

More Related Content

What's hot

Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
mvetro
 
Una nuova ricetta per lo sviluppo in WordPress
Una nuova ricetta per lo sviluppo in WordPressUna nuova ricetta per lo sviluppo in WordPress
Una nuova ricetta per lo sviluppo in WordPress
Francesco Cozzi
 
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
Giorgio Cefaro
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
Marco Parenzan
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
Andrea Cirioni
 
LinuxDay2012 - Android, PhoneGap and jQuery Mobile
LinuxDay2012 - Android, PhoneGap and jQuery MobileLinuxDay2012 - Android, PhoneGap and jQuery Mobile
LinuxDay2012 - Android, PhoneGap and jQuery MobileSalvatore Carotenuto
 

What's hot (6)

Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
 
Una nuova ricetta per lo sviluppo in WordPress
Una nuova ricetta per lo sviluppo in WordPressUna nuova ricetta per lo sviluppo in WordPress
Una nuova ricetta per lo sviluppo in WordPress
 
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
 
LinuxDay2012 - Android, PhoneGap and jQuery Mobile
LinuxDay2012 - Android, PhoneGap and jQuery MobileLinuxDay2012 - Android, PhoneGap and jQuery Mobile
LinuxDay2012 - Android, PhoneGap and jQuery Mobile
 

Viewers also liked

print production draft 2
print production draft 2print production draft 2
print production draft 2
Ashay Kapse
 
Sena 2016
Sena 2016 Sena 2016
Sena 2016
Jessica Meneses
 
Societyof cardiothoracic s
Societyof cardiothoracic sSocietyof cardiothoracic s
Societyof cardiothoracic s
escts2012
 
p030_CDR_06-15-15
p030_CDR_06-15-15p030_CDR_06-15-15
p030_CDR_06-15-15
Laureen Schroeder
 
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia DislipidemiaStrawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
Stikes Jenderal Achmad Yani Yogyakarta
 
Zer egiten dute eskola berritzaileek teknologiarekin?
Zer egiten dute eskola berritzaileek teknologiarekin?Zer egiten dute eskola berritzaileek teknologiarekin?
Zer egiten dute eskola berritzaileek teknologiarekin?
Lauakk
 
Teaching by principles
Teaching by principlesTeaching by principles
Teaching by principles
University of Panama
 
Safety of electricity
Safety of electricitySafety of electricity
Safety of electricity
Genevieve Geddes
 
Revised hiring guidelines for teacher i positions
Revised hiring guidelines for teacher i positionsRevised hiring guidelines for teacher i positions
Revised hiring guidelines for teacher i positions
Janice Gabriel
 
Senior high school voucher program
Senior high school voucher programSenior high school voucher program
Senior high school voucher program
Marvin Gonzales
 
Esfera publica
Esfera publicaEsfera publica
Esfera publica
Daniela Guauque Barrero
 

Viewers also liked (12)

Bibliobeiriz-aves
Bibliobeiriz-avesBibliobeiriz-aves
Bibliobeiriz-aves
 
print production draft 2
print production draft 2print production draft 2
print production draft 2
 
Sena 2016
Sena 2016 Sena 2016
Sena 2016
 
Societyof cardiothoracic s
Societyof cardiothoracic sSocietyof cardiothoracic s
Societyof cardiothoracic s
 
p030_CDR_06-15-15
p030_CDR_06-15-15p030_CDR_06-15-15
p030_CDR_06-15-15
 
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia DislipidemiaStrawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
Strawbery Meningkatkan High Density Lipoprotein Pada Lansia Dislipidemia
 
Zer egiten dute eskola berritzaileek teknologiarekin?
Zer egiten dute eskola berritzaileek teknologiarekin?Zer egiten dute eskola berritzaileek teknologiarekin?
Zer egiten dute eskola berritzaileek teknologiarekin?
 
Teaching by principles
Teaching by principlesTeaching by principles
Teaching by principles
 
Safety of electricity
Safety of electricitySafety of electricity
Safety of electricity
 
Revised hiring guidelines for teacher i positions
Revised hiring guidelines for teacher i positionsRevised hiring guidelines for teacher i positions
Revised hiring guidelines for teacher i positions
 
Senior high school voucher program
Senior high school voucher programSenior high school voucher program
Senior high school voucher program
 
Esfera publica
Esfera publicaEsfera publica
Esfera publica
 

Similar to Drush make vs composer

Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
sparkfabrik
 
Creare distribuzioni con drupal
Creare distribuzioni con drupalCreare distribuzioni con drupal
Creare distribuzioni con drupal
Alessandro Capra
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
Salvatore Paone
 
Flash e software libero
Flash e software liberoFlash e software libero
Flash e software libero
Stefano Sabatini
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Vincenzo Di Biaggio
 
Come progettare e realizzare una distribuzione in Drupal 8
Come progettare e realizzare una distribuzione in Drupal 8Come progettare e realizzare una distribuzione in Drupal 8
Come progettare e realizzare una distribuzione in Drupal 8
DrupalDay
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
Francesco Sciuti
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
DrupalDay
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
sparkfabrik
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
Vincenzo Paolo Fraddosio
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
santi caltabiano
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
Francesco Collova'
 
Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018
Paolo Galfione
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
Claudio Mignanti
 
Alfresco meetup Roma - docker
Alfresco meetup Roma - dockerAlfresco meetup Roma - docker
Alfresco meetup Roma - docker
David Ciamberlano
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
Daniele Costarella
 
Plone nel 2013
Plone nel 2013Plone nel 2013
Plone nel 2013
Maurizio Delmonte
 
Drupal
DrupalDrupal
Drupal
NaLUG
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
Marcello Teodori
 

Similar to Drush make vs composer (20)

Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
 
Creare distribuzioni con drupal
Creare distribuzioni con drupalCreare distribuzioni con drupal
Creare distribuzioni con drupal
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Flash e software libero
Flash e software liberoFlash e software libero
Flash e software libero
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
 
Come progettare e realizzare una distribuzione in Drupal 8
Come progettare e realizzare una distribuzione in Drupal 8Come progettare e realizzare una distribuzione in Drupal 8
Come progettare e realizzare una distribuzione in Drupal 8
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
 
Linuxday2007
Linuxday2007Linuxday2007
Linuxday2007
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
 
Alfresco meetup Roma - docker
Alfresco meetup Roma - dockerAlfresco meetup Roma - docker
Alfresco meetup Roma - docker
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
Plone nel 2013
Plone nel 2013Plone nel 2013
Plone nel 2013
 
Drupal
DrupalDrupal
Drupal
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 

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) 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
  • 10. ...ma Dal cambiamento si può sempre imparare! Drupal Social Club @sparkfabrik 2/10/2015
  • 11. Grazie! Domande? Vincenzo Di Biaggio - Sparkfabrik - @vincenzodb - http://sparkfabrik.com Drupal Social Club @sparkfabrik 2/10/2015