SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Sylvain Rayé - Meet Magento Italy 20141
Sylvain Rayé - Meet Magento Italy 20142
ABOUT SYLVAIN RAYÉ
• Founder / Senior & Certified Magento Developer by Diglin
GmbH
• CTO by rissip GmbH
• Board member of Firegento Association (German Magento
community)
• Organizer Hackathons / Meet Magento Switzerland
(24.10.2014)
Sylvain Rayé - Meet Magento Italy 20143
COMPOSER
http://getcomposer.org
http://packagist.org
Sylvain Rayé - Meet Magento Italy 2014
• Manage dependencies	

• Code reuse	

• Code Sharing	

• Easy to clean uninstall	

• Easy upgrade	

• Works with GIT/SVN orTAR or filesystem	

• Multiplatform (Windows, *nix, OSX)
X
COMPOSER ?
Sylvain Rayé - Meet Magento Italy 2014X
COMPOSER
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Sylvain Rayé - Meet Magento Italy 20144
COMPOSER.JSON
Sylvain Rayé - Meet Magento Italy 2014
• ..
5
COMPOSER.JSON
Project / Dependency levels
Sylvain Rayé - Meet Magento Italy 20146
COMPOSER PHAR
init
search
require
validate
install
update
show
help
…
Sylvain Rayé - Meet Magento Italy 20147
COMPOSER INSTALL / UPDATE
├── app
├── src
├── web
├── …
├── composer.json
├── composer.lock
└── vendor
├── composer
├── autoload.php
├── bin
├── mongo
├── doctrine
├── …
Sylvain Rayé - Meet Magento Italy 20148
MAGENTO MODULES
├── app
│   ├── code
│   │   ├── community
│   │   │   ├── NAMESPACE
│   │   │   │   ├── MODULENAME
│   │   │   │   │   ├── Helper
│   │   │   │   │   ├── Model
│   │   │   │   │   └── …
│   ├── design
│   │   ├── frontend
│   │   │   └── base
│   │   │   ├── default
│   │   │   │   ├── layout
│   │   │   │   │   ├── modulename.xml
│   │   │   │   └── template
│   │   │   │   ├── modulename
│   ├── etc
│   │   └── modules
│   │   ├── Namespace_Modulename.xml
│   └── locale
├── js
├── skin
└── …
Magento 1
Sylvain Rayé - Meet Magento Italy 20148
MAGENTO MODULES
├── app
│   ├── code
│   │   ├── NAMESPACE
│   │   │   ├── MODULENAME
│   │   │   │   ├── Block
│   │   │   │   ├── Controller
│   │   │   │   ├── Helper
│   │   │   │   ├── Model
│   │   │   │   ├── etc
│   │   │   │   ├── i18n
│   │   │   │   ├── views
│   │   │   │   └── …
├── lib
├── pub
└── …
Magento 2
├── app
│   ├── code
│   │   ├── community
│   │   │   ├── NAMESPACE
│   │   │   │   ├── MODULENAME
│   │   │   │   │   ├── Helper
│   │   │   │   │   ├── Model
│   │   │   │   │   └── …
│   ├── design
│   │   ├── frontend
│   │   │   └── base
│   │   │   ├── default
│   │   │   │   ├── layout
│   │   │   │   │   ├── modulename.xml
│   │   │   │   └── template
│   │   │   │   ├── modulename
│   ├── etc
│   │   └── modules
│   │   ├── Namespace_Modulename.xml
│   └── locale
├── js
├── skin
└── …
Magento 1
Sylvain Rayé - Meet Magento Italy 20149
http://packages.firegento.com
https://github.com/magento-hackathon/magento-
composer-installer
MAGENTO COMPOSER
Sylvain Rayé - Meet Magento Italy 201410
PACKAGES.FIREGENTO.COM
Sylvain Rayé - Meet Magento Italy 201411
COMPOSER.JSON
Project level
{
"require": {
"magento-hackathon/magento-composer-installer": "*",
…
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/magento-hackathon/magento-composer-installer"
},
…
],
"extra": {
"magento-root-dir": "./src",
"magento-deploystrategy": "copy",
"magento-force" : "override",
…
}
}
Sylvain Rayé - Meet Magento Italy 201412
COMPOSER.JSON
Project level
{
"require": {
"magento-hackathon/magento-composer-installer": "*",
"connect20/mage_all_latest": "1.8.1.0",
"diglin/diglin_username": "2.*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/magento-hackathon/magento-composer-installer"
},
{
"type": "composer",
"url": "http://packages.firegento.com"
}
],
"extra": {
"magento-root-dir": "./src",
"magento-deploystrategy": "copy",
"magento-force" : "override"
}
}
Sylvain Rayé - Meet Magento Italy 201413
MAGENTO COMPOSER OPTIONS
Under extra option in composer.json
‘magento-root-dir’: ‘../src’
‘modman-root-dir’: ‘.modman’
‘magento-force’: true
‘path-mapping-translations’: {…}
‘magento-map-overwrite’: {…}
‘auto-append-gitignore’: true
‘magento-deploy-ignore’: {…}
‘magento-deploy-sort-priority’: {…}
‘magento-deploystrategy’: ‘copy’
‘magento-deploystrategy-overwrite’: {…} (beta)
Sylvain Rayé - Meet Magento Italy 201414
DEPLOY STRATEGY
NONE
COPY
SYMLINK
LINK (hardlink)
Sylvain Rayé - Meet Magento Italy 201415
PUBLISH
YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201416
YOUR OWN PACKAGE REPOSITORY
SATIS
PACKAGIST
Sylvain Rayé - Meet Magento Italy 201417
PUBLISH YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201417
PUBLISH YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
New type
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
New type
Dependencies
Sylvain Rayé - Meet Magento Italy 201419
PUBLISH YOUR EXTENSION
MAP in composer.json
PACKAGE.XML
MODMAN FILE
Mapping
Sylvain Rayé - Meet Magento Italy 201420
PUBLISH YOUR EXTENSION
Modman file
Sylvain Rayé - Meet Magento Italy 201421
PUBLISH YOUR EXTENSION
• Execute "git tag -a 1.0.0" & "git push --tags"
• Fork the https://github.com/magento-hackathon/composer-
repository
• Edit satis.json
!
!
• Execute "composer validate"
• Commit & Pull request to the original repository
Sylvain Rayé - Meet Magento Italy 201421
PUBLISH YOUR EXTENSION
• Execute "git tag -a 1.0.0" & "git push --tags"
• Fork the https://github.com/magento-hackathon/composer-
repository
• Edit satis.json
!
!
• Execute "composer validate"
• Commit & Pull request to the original repository
Sylvain Rayé - Meet Magento Italy 201422
PEAR IS DEAD!
HOORAY TO COMPOSER
Sylvain Rayé - Meet Magento Italy 2014X
LINKS
• https://github.com/composer/	

• http://packagist.org	

• https://github.com/magento-hackathon/magento-composer-installer	

• https://github.com/magento-hackathon/composer-command-integrator/	

• http://packages.firegento.com	

• https://github.com/magento-hackathon/composer-repository	

• https://plus.google.com/u/0/events/cp21bnv8vnahprcbm4c5k4laceg - nice talk about composer
strategies	

• http://magebase.com/magento-tutorials/composer-with-magento/ - tutorial fromVinai

Mais conteúdo relacionado

Destaque

Richard G Logan Resume
Richard G Logan ResumeRichard G Logan Resume
Richard G Logan ResumeRichard Logan
 
Rive 68 edition zero
Rive 68 edition zeroRive 68 edition zero
Rive 68 edition zerorive68maurice
 
立委咖電喂簡報(18g0v簡報)
立委咖電喂簡報(18g0v簡報)立委咖電喂簡報(18g0v簡報)
立委咖電喂簡報(18g0v簡報)Jessie Wang
 
Custom t-shirt, towels and textile
Custom t-shirt, towels and textile Custom t-shirt, towels and textile
Custom t-shirt, towels and textile Lucky Liu
 
Psychiatric manifestations of epilepsy
Psychiatric manifestations of epilepsy Psychiatric manifestations of epilepsy
Psychiatric manifestations of epilepsy HTE Editors
 
Leadership: What It Takes
Leadership: What It TakesLeadership: What It Takes
Leadership: What It TakesPepper Rutland
 
文組人Fumi的g0v進化史(19g0v簡報)
文組人Fumi的g0v進化史(19g0v簡報)文組人Fumi的g0v進化史(19g0v簡報)
文組人Fumi的g0v進化史(19g0v簡報)Jessie Wang
 

Destaque (12)

Richard G Logan Resume
Richard G Logan ResumeRichard G Logan Resume
Richard G Logan Resume
 
Rive 68 edition zero
Rive 68 edition zeroRive 68 edition zero
Rive 68 edition zero
 
立委咖電喂簡報(18g0v簡報)
立委咖電喂簡報(18g0v簡報)立委咖電喂簡報(18g0v簡報)
立委咖電喂簡報(18g0v簡報)
 
Linked in talent solution for indonesia
Linked in talent solution for indonesiaLinked in talent solution for indonesia
Linked in talent solution for indonesia
 
Custom t-shirt, towels and textile
Custom t-shirt, towels and textile Custom t-shirt, towels and textile
Custom t-shirt, towels and textile
 
Psychiatric manifestations of epilepsy
Psychiatric manifestations of epilepsy Psychiatric manifestations of epilepsy
Psychiatric manifestations of epilepsy
 
Upeps 2016
Upeps 2016Upeps 2016
Upeps 2016
 
Diktat autocad
Diktat autocadDiktat autocad
Diktat autocad
 
Trabajo
TrabajoTrabajo
Trabajo
 
Leadership: What It Takes
Leadership: What It TakesLeadership: What It Takes
Leadership: What It Takes
 
Advertisement
AdvertisementAdvertisement
Advertisement
 
文組人Fumi的g0v進化史(19g0v簡報)
文組人Fumi的g0v進化史(19g0v簡報)文組人Fumi的g0v進化史(19g0v簡報)
文組人Fumi的g0v進化史(19g0v簡報)
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Manage magento dependencies with composer

  • 1. Sylvain Rayé - Meet Magento Italy 20141
  • 2. Sylvain Rayé - Meet Magento Italy 20142 ABOUT SYLVAIN RAYÉ • Founder / Senior & Certified Magento Developer by Diglin GmbH • CTO by rissip GmbH • Board member of Firegento Association (German Magento community) • Organizer Hackathons / Meet Magento Switzerland (24.10.2014)
  • 3. Sylvain Rayé - Meet Magento Italy 20143 COMPOSER http://getcomposer.org http://packagist.org
  • 4. Sylvain Rayé - Meet Magento Italy 2014 • Manage dependencies • Code reuse • Code Sharing • Easy to clean uninstall • Easy upgrade • Works with GIT/SVN orTAR or filesystem • Multiplatform (Windows, *nix, OSX) X COMPOSER ?
  • 5. Sylvain Rayé - Meet Magento Italy 2014X COMPOSER curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
  • 6. Sylvain Rayé - Meet Magento Italy 20144 COMPOSER.JSON
  • 7. Sylvain Rayé - Meet Magento Italy 2014 • .. 5 COMPOSER.JSON Project / Dependency levels
  • 8. Sylvain Rayé - Meet Magento Italy 20146 COMPOSER PHAR init search require validate install update show help …
  • 9. Sylvain Rayé - Meet Magento Italy 20147 COMPOSER INSTALL / UPDATE ├── app ├── src ├── web ├── … ├── composer.json ├── composer.lock └── vendor ├── composer ├── autoload.php ├── bin ├── mongo ├── doctrine ├── …
  • 10. Sylvain Rayé - Meet Magento Italy 20148 MAGENTO MODULES ├── app │   ├── code │   │   ├── community │   │   │   ├── NAMESPACE │   │   │   │   ├── MODULENAME │   │   │   │   │   ├── Helper │   │   │   │   │   ├── Model │   │   │   │   │   └── … │   ├── design │   │   ├── frontend │   │   │   └── base │   │   │   ├── default │   │   │   │   ├── layout │   │   │   │   │   ├── modulename.xml │   │   │   │   └── template │   │   │   │   ├── modulename │   ├── etc │   │   └── modules │   │   ├── Namespace_Modulename.xml │   └── locale ├── js ├── skin └── … Magento 1
  • 11. Sylvain Rayé - Meet Magento Italy 20148 MAGENTO MODULES ├── app │   ├── code │   │   ├── NAMESPACE │   │   │   ├── MODULENAME │   │   │   │   ├── Block │   │   │   │   ├── Controller │   │   │   │   ├── Helper │   │   │   │   ├── Model │   │   │   │   ├── etc │   │   │   │   ├── i18n │   │   │   │   ├── views │   │   │   │   └── … ├── lib ├── pub └── … Magento 2 ├── app │   ├── code │   │   ├── community │   │   │   ├── NAMESPACE │   │   │   │   ├── MODULENAME │   │   │   │   │   ├── Helper │   │   │   │   │   ├── Model │   │   │   │   │   └── … │   ├── design │   │   ├── frontend │   │   │   └── base │   │   │   ├── default │   │   │   │   ├── layout │   │   │   │   │   ├── modulename.xml │   │   │   │   └── template │   │   │   │   ├── modulename │   ├── etc │   │   └── modules │   │   ├── Namespace_Modulename.xml │   └── locale ├── js ├── skin └── … Magento 1
  • 12. Sylvain Rayé - Meet Magento Italy 20149 http://packages.firegento.com https://github.com/magento-hackathon/magento- composer-installer MAGENTO COMPOSER
  • 13. Sylvain Rayé - Meet Magento Italy 201410 PACKAGES.FIREGENTO.COM
  • 14. Sylvain Rayé - Meet Magento Italy 201411 COMPOSER.JSON Project level { "require": { "magento-hackathon/magento-composer-installer": "*", … }, "repositories": [ { "type": "vcs", "url": "https://github.com/magento-hackathon/magento-composer-installer" }, … ], "extra": { "magento-root-dir": "./src", "magento-deploystrategy": "copy", "magento-force" : "override", … } }
  • 15. Sylvain Rayé - Meet Magento Italy 201412 COMPOSER.JSON Project level { "require": { "magento-hackathon/magento-composer-installer": "*", "connect20/mage_all_latest": "1.8.1.0", "diglin/diglin_username": "2.*" }, "repositories": [ { "type": "vcs", "url": "https://github.com/magento-hackathon/magento-composer-installer" }, { "type": "composer", "url": "http://packages.firegento.com" } ], "extra": { "magento-root-dir": "./src", "magento-deploystrategy": "copy", "magento-force" : "override" } }
  • 16. Sylvain Rayé - Meet Magento Italy 201413 MAGENTO COMPOSER OPTIONS Under extra option in composer.json ‘magento-root-dir’: ‘../src’ ‘modman-root-dir’: ‘.modman’ ‘magento-force’: true ‘path-mapping-translations’: {…} ‘magento-map-overwrite’: {…} ‘auto-append-gitignore’: true ‘magento-deploy-ignore’: {…} ‘magento-deploy-sort-priority’: {…} ‘magento-deploystrategy’: ‘copy’ ‘magento-deploystrategy-overwrite’: {…} (beta)
  • 17. Sylvain Rayé - Meet Magento Italy 201414 DEPLOY STRATEGY NONE COPY SYMLINK LINK (hardlink)
  • 18. Sylvain Rayé - Meet Magento Italy 201415 PUBLISH YOUR EXTENSION
  • 19. Sylvain Rayé - Meet Magento Italy 201416 YOUR OWN PACKAGE REPOSITORY SATIS PACKAGIST
  • 20. Sylvain Rayé - Meet Magento Italy 201417 PUBLISH YOUR EXTENSION
  • 21. Sylvain Rayé - Meet Magento Italy 201417 PUBLISH YOUR EXTENSION
  • 22. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level
  • 23. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level New type
  • 24. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level New type Dependencies
  • 25. Sylvain Rayé - Meet Magento Italy 201419 PUBLISH YOUR EXTENSION MAP in composer.json PACKAGE.XML MODMAN FILE Mapping
  • 26. Sylvain Rayé - Meet Magento Italy 201420 PUBLISH YOUR EXTENSION Modman file
  • 27. Sylvain Rayé - Meet Magento Italy 201421 PUBLISH YOUR EXTENSION • Execute "git tag -a 1.0.0" & "git push --tags" • Fork the https://github.com/magento-hackathon/composer- repository • Edit satis.json ! ! • Execute "composer validate" • Commit & Pull request to the original repository
  • 28. Sylvain Rayé - Meet Magento Italy 201421 PUBLISH YOUR EXTENSION • Execute "git tag -a 1.0.0" & "git push --tags" • Fork the https://github.com/magento-hackathon/composer- repository • Edit satis.json ! ! • Execute "composer validate" • Commit & Pull request to the original repository
  • 29. Sylvain Rayé - Meet Magento Italy 201422 PEAR IS DEAD! HOORAY TO COMPOSER
  • 30. Sylvain Rayé - Meet Magento Italy 2014X LINKS • https://github.com/composer/ • http://packagist.org • https://github.com/magento-hackathon/magento-composer-installer • https://github.com/magento-hackathon/composer-command-integrator/ • http://packages.firegento.com • https://github.com/magento-hackathon/composer-repository • https://plus.google.com/u/0/events/cp21bnv8vnahprcbm4c5k4laceg - nice talk about composer strategies • http://magebase.com/magento-tutorials/composer-with-magento/ - tutorial fromVinai