Composer
Magento with
Fabrizio Branca (@fbrnc) - San Francisco Magento Meetup – April 7, 2014
the problem
Intro
htdocs
<Name>
<theme>
layout
template
code
design
etc
locale
<area>
core
community
local
<area>
<language>
modules
<package>
<Namespace>
<package>
*.xml
*.csv
<theme>
app
skin
lib
Module2
default
layout
template
code
design
etc
locale
frontend
local
frontend
de_DE
modules
base
My
base
My_Module2.xml
My_Module2.csv
default
app
skin
etc, Block, …
js, css, img, …
my_module2
my_module2
Magento My_Module
My_Module2
Module
default
layout
template
code
design
etc
locale
frontend
local
frontend
de_DE
modules
base
My
base
My_Module.xml
My_Module.csv
default
app
skin
etc, Block, …
js, css, img, …
my_module
my_module
htdocs
Module
default
layout
template
code
design
etc
locale
local
frontend
de_DE
modules
My
base
*.xml
app
My_Module2.xml
My_Module2.csv
my_module2
My_Module.xml
My_Module.csv
etc, Block, …
my_module
Module2
etc, Block, …
my_module2
my_module
Magento 2
Magento with Composer
pub
Module
code
My
app
Magento
My_Module
My_Module2
view
Controller
etc
i18n
Block
…
Module2
view
Controller
etc
i18n
Block
…
Magento 2
the requirements
Intro
• Reuse modules
• Share modules
• Easy and clean uninstall without leftovers
• Non-destructive (no deletion of files)
• Clean Magento vanilla code
• Work collaboratively on projects
• Restrict access to modules for team members
• Independent versioning scheme of modules
• Independent version control origin
the requirements
a solution
Intro
modman
by @colinmollenhour
htdocs
code
core
community
local
app
app/code/…/My/Module
.modman
My_Module
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
app/code/…/My/Module
My_Module2
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
<theme>
layout
template
design
etc
locale
<area>
<language>
modules
<package>
*.xml
modman
“wiring”
Intro
modman “connects” existing modules to the Magento core,
but how do we manage them?
htdocs
code
core
community
local
app
app/code/…/My/Module
.modman
My_Module
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
app/code/…/My/Module
My_Module2
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
<theme>
layout
template
design
etc
locale
<area>
<language>
modules
<package>
*.xml
Components
tools
n98-magerun.phar
phpunit.phar
modman
EnvSettingsTool
composer.phar
htdocs
.modman
Configuration
Installer
(Metadata, Doc,…)
My_Module
My_Module2
app,…
and usually there’s
even more stuff…
These should come
from different origins
svn:externals
Git submodules
Phing/Ant
Custom scripts
Composer
Components
Options
works fine, but needs
some getting used to it
Composer
Intro
in a nutshell…
Composer“Composer is a tool for dependency management in PHP. It allows you to declare
the dependent libraries your project needs and it will install them in your project
for you.”
phar file
json configuration
supports Git, SVN, tar,…
and mix’n’match
package
management
Dependency management
(including fine-grained
control over specific versions,…)
Autoloader
Fabrizio’s lightweightapproach
Approach
@fbrnc
Keeping it Simple!
AOEpeople/composer-installers
"replace": { "magento-hackathon/magento-composer-installer":"*" }
“inspired” by
composer/installers
“magento-module” “magento-source”
handles package types
<?php
namespace AoepeopleComposerInstallers;
class MagentoInstaller extends BaseInstaller
{
protected $locations = array(
'module' => '.modman/{$name}/',
'source' => 'htdocs/'
);
}
AOEpeople/composer-installers
• Fully compatible with magento-hackathon/magento-composer-installer
• Adds support for type “magento-source”
• Only puts packages into place
• Native modman script is used to deploy modules
• Wrapped in a simple installer script
AOEpeople/composer-installers
{
"minimum-stability":"dev",
"require":{
"aoepeople/composer-installers": "*",
"fbrnc/aoe_scheduler": "*",
"fbrnc/aoe_cachecleaner": "*",
"aoemedia/magento_enterprise": "1.13.1.0",
"aoemedia/envsettingstool": "*"
},
"config": {
"bin-dir": "bin"
}
}
AOEpeople/composer-installers
replaces
Hackathon
Installer
some
modules
Vanilla
Magento
Source
Tools,…
htdocs
code
core
community
local
app
app/code/…/My/Module
.modman
My_Module
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
app/code/…/My/Module
My_Module2
app/design/…
skin/frontend/…
app/etc/modules/My_Module.xml
modman
<theme>
layout
template
design
etc
locale
<area>
<language>
modules
<package>
*.xml
Components
https://github.com/AOEpeople/Magento_SampleProject
Thank you!
Any questions?

More Related Content

PDF
Magento Fireside Chat: "Wiring Mageno Projects"
PDF
Magento Product Types Demystified
PDF
Continuous Development and Deployment: Workflows and Patterns
PDF
Rock-solid Magento Development and Deployment Workflows
PDF
A Successful Magento Project From Design to Deployment
PPTX
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
PDF
Performance measurement and tuning
 
PPTX
Madison PHP - Getting Started with Magento 2
Magento Fireside Chat: "Wiring Mageno Projects"
Magento Product Types Demystified
Continuous Development and Deployment: Workflows and Patterns
Rock-solid Magento Development and Deployment Workflows
A Successful Magento Project From Design to Deployment
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Performance measurement and tuning
 
Madison PHP - Getting Started with Magento 2

What's hot (20)

PDF
Magento 2 Development
PDF
Backbone.js
PDF
Developing large scale JavaScript applications
PDF
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
PPTX
What is HTML 5?
PDF
Webkit overview
PPTX
High Performance JavaScript (CapitolJS 2011)
ODP
Joomla 3 Component programmeren met RAD - Joomladagen 2014
PDF
Firefox os how large open source project works
PDF
JavaScript Libraries: The Big Picture
PPTX
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
PDF
State of jQuery June 2013 - Portland
PDF
HTML5, Flash, and the Battle For Faster Cat Videos
PDF
Pinkoi Platform
PDF
Vodafone Widget Camp
PDF
Learning from the Best jQuery Plugins
PPTX
Organized web app development using backbone.js
PPTX
Composer for Magento 1.x and Magento 2
PPTX
do u webview?
PPT
Magento 2 Development
Backbone.js
Developing large scale JavaScript applications
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
What is HTML 5?
Webkit overview
High Performance JavaScript (CapitolJS 2011)
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Firefox os how large open source project works
JavaScript Libraries: The Big Picture
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
State of jQuery June 2013 - Portland
HTML5, Flash, and the Battle For Faster Cat Videos
Pinkoi Platform
Vodafone Widget Camp
Learning from the Best jQuery Plugins
Organized web app development using backbone.js
Composer for Magento 1.x and Magento 2
do u webview?
Ad

Viewers also liked (18)

PDF
Rock-solid Magento Deployments (and Development)
PDF
Continuous Integration and Deployment Patterns for Magento
PDF
Running and Scaling Magento on AWS
PDF
High-Performance Magento in the Cloud
PDF
Immutable Deployments with AWS CloudFormation and AWS Lambda
PDF
Redundancy Rocks. Redundancy Rocks.
ODP
2013 Winchelsea Community House Survey - Results
PDF
High Stakes Continuous Delivery in the Real World #OpenWest
PDF
Drupal + composer = new love !?
PDF
Efficient development workflows with composer
PDF
Performance measurement and tuning
PDF
High Performance Web Applications in the Cloud
PDF
Angrybirds - Overview for a High Performance Shop
PDF
Continuous Quality Assurance using Selenium WebDriver
PDF
Magento Testing on all fronts
PDF
How to Build a Pure Evil Magento Module
PDF
rock-solid TYPO3 development with continuous integration and deployment
PDF
How to build a pure evil Magento module
Rock-solid Magento Deployments (and Development)
Continuous Integration and Deployment Patterns for Magento
Running and Scaling Magento on AWS
High-Performance Magento in the Cloud
Immutable Deployments with AWS CloudFormation and AWS Lambda
Redundancy Rocks. Redundancy Rocks.
2013 Winchelsea Community House Survey - Results
High Stakes Continuous Delivery in the Real World #OpenWest
Drupal + composer = new love !?
Efficient development workflows with composer
Performance measurement and tuning
High Performance Web Applications in the Cloud
Angrybirds - Overview for a High Performance Shop
Continuous Quality Assurance using Selenium WebDriver
Magento Testing on all fronts
How to Build a Pure Evil Magento Module
rock-solid TYPO3 development with continuous integration and deployment
How to build a pure evil Magento module
Ad

Similar to Magento with Composer (20)

PDF
Magento2 Basics for Frontend Development
PPT
Mageguru - magento custom module development
PPTX
Magento2 frontend development
PDF
Multi modularized project setup with gulp, typescript and angular.js
PDF
Expanding XPages with Bootstrap Plugins for Ultimate Usability
PDF
Joomla 1.5 modules - Joomla!Days NL 2009 #jd09nl
PDF
Fundamentals of Extending Magento 2 - php[world] 2015
PPT
Developing sites with Magnolia 4 / STK
PDF
Yoav Kutner Dutchento
ODP
Polymer 2.0 introduction at GDG Algiers: Google Fair event
ODP
Considerations with Writing JavaScript in your DotNetNuke site
PPT
Reaching for the Future with Web Components and Polymer
PPT
Introduction to Mangento
PPT
Mangento
PPTX
Magento 1.x to Magento 2 Code Migration Tools
PDF
Deprecated: Foundations of Zend Framework 2
PDF
Social Connections VI — IBM Connections Extensions and Themes Demystified
PPT
Benefit of CodeIgniter php framework
PPT
Zend Framework 2
PPTX
Magento2 Basics for Frontend Development
Mageguru - magento custom module development
Magento2 frontend development
Multi modularized project setup with gulp, typescript and angular.js
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Joomla 1.5 modules - Joomla!Days NL 2009 #jd09nl
Fundamentals of Extending Magento 2 - php[world] 2015
Developing sites with Magnolia 4 / STK
Yoav Kutner Dutchento
Polymer 2.0 introduction at GDG Algiers: Google Fair event
Considerations with Writing JavaScript in your DotNetNuke site
Reaching for the Future with Web Components and Polymer
Introduction to Mangento
Mangento
Magento 1.x to Magento 2 Code Migration Tools
Deprecated: Foundations of Zend Framework 2
Social Connections VI — IBM Connections Extensions and Themes Demystified
Benefit of CodeIgniter php framework
Zend Framework 2

More from AOE (20)

PDF
Re-inventing airport non-aeronautical revenue generation post COVID-19
PDF
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
PPTX
Flamingo presentation at code.talks commerce by Daniel Pötzinger
PDF
A bag full of trust - Christof Braun at AOE Conference 2018
PDF
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
PDF
Frankfurt Airport Digitalization Case Study
PDF
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
PDF
AOEconf17: Application Security
PPTX
AOEconf17: AOE Tech Radar Insights
PDF
AOEconf17: A flight through our OM³ Systems
PDF
AOEconf17: AOE Tech Radar Insights
PDF
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
PPTX
AOEconf17: Agile scaling concepts
PDF
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
PDF
AOEconf17: UI challenges in a microservice world
PDF
AOEconf17: Application Security - Bastian Ike
PPTX
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
PDF
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
PDF
Joern Bock: The basic concept of an agile organisation
PDF
SUPER-scaling E-Commerce with Magento
Re-inventing airport non-aeronautical revenue generation post COVID-19
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo presentation at code.talks commerce by Daniel Pötzinger
A bag full of trust - Christof Braun at AOE Conference 2018
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Frankfurt Airport Digitalization Case Study
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
AOEconf17: Application Security
AOEconf17: AOE Tech Radar Insights
AOEconf17: A flight through our OM³ Systems
AOEconf17: AOE Tech Radar Insights
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Agile scaling concepts
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEconf17: UI challenges in a microservice world
AOEconf17: Application Security - Bastian Ike
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
Joern Bock: The basic concept of an agile organisation
SUPER-scaling E-Commerce with Magento

Recently uploaded (20)

PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Decision Optimization - From Theory to Practice
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Human Computer Interaction Miterm Lesson
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
The AI Revolution in Customer Service - 2025
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Decision Optimization - From Theory to Practice
A symptom-driven medical diagnosis support model based on machine learning te...
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
CEH Module 2 Footprinting CEH V13, concepts
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Human Computer Interaction Miterm Lesson
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Build automations faster and more reliably with UiPath ScreenPlay
giants, standing on the shoulders of - by Daniel Stenberg
Module 1 Introduction to Web Programming .pptx
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
The AI Revolution in Customer Service - 2025
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Ensemble model-based arrhythmia classification with local interpretable model...
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Presentation - Principles of Instructional Design.pptx
Advancing precision in air quality forecasting through machine learning integ...
LMS bot: enhanced learning management systems for improved student learning e...
Introduction to MCP and A2A Protocols: Enabling Agent Communication

Magento with Composer