SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Wiring Magento Projects
Magento Fireside Chat
Google+ Hangout - March 20, 2014
Intro – Fabrizio Branca (@fbrnc)
Composer – Fabrizio Branca (@fbrnc)
Magento Composer Installer – Bastian Ike (@b_ike)
Lightweight approach – Fabrizio Branca (@fbrnc)
Experimental approach – Daniel Fahlke (@flyingmana)
Different approach – Rolando Granadino (@beeplogic)
Ben’s approach – Ben Marks (@benmarks)
? – You!
Q&A
Agenda
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
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
theHackathon installer approach
Approach
Magento Composer
Installer
Overview
• Aims to provide an easy way to install Magento
modules via composer (instead of e.g. modman)
• Community driven, initial started by the Magento
Hackathon
• Main component: magento-hackathon/magento-
composer-installer
Components
• Magento Composer installer
• Package repository
• Compatible with package.xml, modman and
manual file mapping paths
• Possible to bootstrap the Magento core, but not
recommended
Using Magento+Composer
{	
"minimum-stability": "dev",	
"require": {	
"fbrnc/aoe_templatehints": "*"	
},	
"repositories": [	
{	
"type": "composer",	
"url": "http://packages.firegento.com"	
}	
],	
"extra": {	
"magento-root-dir": "htdocs/",	
"auto-append-gitignore": true	
}	
}
Using Magento+Composer
{	
"minimum-stability": "dev",	
"require": {	
"fbrnc/aoe_templatehints": "*"	
},	
"repositories": [	
{	
"type": "composer",	
"url": "http://packages.firegento.com"	
}	
],	
"extra": {	
"magento-root-dir": "htdocs/",	
"auto-append-gitignore": true	
}	
}	
Include dev-versions,
not just final releases
Using Magento+Composer
{	
"minimum-stability": "dev",	
"require": {	
"fbrnc/aoe_templatehints": "*"	
},	
"repositories": [	
{	
"type": "composer",	
"url": "http://packages.firegento.com"	
}	
],	
"extra": {	
"magento-root-dir": "htdocs/",	
"auto-append-gitignore": true	
}	
}	
List of required packages
with the required version
* = newest version
!
!
See composer manual for
version syntax
Using Magento+Composer
{	
"minimum-stability": "dev",	
"require": {	
"fbrnc/aoe_templatehints": "*"	
},	
"repositories": [	
{	
"type": "composer",	
"url": "http://packages.firegento.com"	
}	
],	
"extra": {	
"magento-root-dir": "htdocs/",	
"auto-append-gitignore": true	
}	
}	
Include the Firegento
Package Repository
Using Magento+Composer
{	
"minimum-stability": "dev",	
"require": {	
"fbrnc/aoe_templatehints": "*"	
},	
"repositories": [	
{	
"type": "composer",	
"url": "http://packages.firegento.com"	
}	
],	
"extra": {	
"magento-root-dir": "htdocs/",	
"auto-append-gitignore": true	
}	
}	
Installation-specific
configuration
extra
• magento-root-dir: Where your Magento installation lives
• magento-deploystrategy:
• symlink: symlink into Magento
• link: hardlink into Magento
• copy: copy the files instead of linking
• none: no automatic deployment, if you want to use e.g. modman
• auto-append-gitignore: add deployed files to .gitignore in the Magento folder
• modman-root-dir: Use e.g. .modman/ instead of vendor/
composer install
Publishing packages
• Add a composer.json to your extension
• Publish your extension on github
• Add it to packages.firegento.com
composer.json
{	
"name": "fbrnc/Aoe_TemplateHints",	
"license": "OSL-3.0",	
"type": "magento-module",	
"description": "Advanced Template Hints for Magento",	
"homepage": "http://www.fabrizio-branca.de/magento-advanced-template-
hints-20.html",	
"require": {	
"magento-hackathon/magento-composer-installer": "*"	
},	
"authors":[	
{	
"name":"Fabrizio Branca",	
"email":"mail@{firstname}-{lastname}.de"	
}	
]	
}
composer.json
{	
"name": "fbrnc/Aoe_TemplateHints",	
"license": "OSL-3.0",	
"type": "magento-module",	
"description": "Advanced Template Hints for Magento",	
"homepage": "http://www.fabrizio-branca.de/magento-advanced-template-
hints-20.html",	
"require": {	
"magento-hackathon/magento-composer-installer": "*"	
},	
"authors":[	
{	
"name":"Fabrizio Branca",	
"email":"mail@{firstname}-{lastname}.de"	
}	
]	
}
Metadata:
Author, Website, etc
composer.json
{	
"name": "fbrnc/Aoe_TemplateHints",	
"license": "OSL-3.0",	
"type": "magento-module",	
"description": "Advanced Template Hints for Magento",	
"homepage": "http://www.fabrizio-branca.de/magento-advanced-template-
hints-20.html",	
"require": {	
"magento-hackathon/magento-composer-installer": "*"	
},	
"authors":[	
{	
"name":"Fabrizio Branca",	
"email":"mail@{firstname}-{lastname}.de"	
}	
]	
}
type: magento-module
!
This line activates the
magento-composer-installer
during composer install
composer.json
{	
"name": "fbrnc/Aoe_TemplateHints",	
"license": "OSL-3.0",	
"type": "magento-module",	
"description": "Advanced Template Hints for Magento",	
"homepage": "http://www.fabrizio-branca.de/magento-advanced-template-
hints-20.html",	
"require": {	
"magento-hackathon/magento-composer-installer": "*"	
},	
"authors":[	
{	
"name":"Fabrizio Branca",	
"email":"mail@{firstname}-{lastname}.de"	
}	
]	
}
Requirements
composer.json
{	
"name": "fbrnc/Aoe_TemplateHints",	
"license": "OSL-3.0",	
"type": "magento-module",	
"description": "Advanced Template Hints for Magento",	
"homepage": "http://www.fabrizio-branca.de/magento-advanced-template-
hints-20.html",	
"require": {	
"magento-hackathon/magento-composer-installer": "*"	
},	
"authors":[	
{	
"name":"Fabrizio Branca",	
"email":"mail@{firstname}-{lastname}.de"	
}	
]	
}
Involved Authors
Package Repository
{ "type": "vcs", "url": "git://github.com/colinmollenhour/
Cm_Cache_Backend_Mongo.git" },	
{ "type": "vcs", "url": "git://github.com/colinmollenhour/
Cm_Cache_Backend_Redis.git" },	
{ "type": "vcs", "url": "git://github.com/colinmollenhour/Cm_RedisSession.git" },	
{ "type": "vcs", "url": "git://github.com/colinmollenhour/Cm_Diehard.git" },	
{ "type": "vcs", "url": "git://github.com/fbrnc/Aoe_Scheduler.git" },	
{ "type": "vcs", "url": "git://github.com/fbrnc/Aoe_Profiler.git" },	
{ "type": "vcs", "url": "git://github.com/fbrnc/Aoe_TemplateHints.git" },	
{ "type": "vcs", "url": "git://github.com/fbrnc/Aoe_ReuseImages.git" },	
{ "type": "vcs", "url": "git://github.com/fbrnc/Aoe_ManageStores.git" },
Add your Repository
to satis.json and open
a pull request
https://github.com/magento-hackathon/composer-repository/
Package.xml? modman?
JSON-mapping
• package.xml: Used by Magento Connect
• modman: Used by modman, imho best solution.

No support for shell scripts!
• json-mapping:
"map": [	
["themes/default/skin", "public/skin/frontend/foo/default"],	
["themes/default/design", "public/app/design/frontend/foo/default"],	
["modules/My_Module/My_Module.xml", "public/app/etc/modules/My_Module.xml"],	
["modules/My_Module/code", "public/app/code/local/My/Module"],	
["modules/My_Module/frontend/layout/mymodule.xml", "public/app/design/frontend/base/default/
layout/mymodule.xml"]	
]
That's it :)
Links
• https://getcomposer.org/
• https://github.com/magento-hackathon/magento-
composer-installer/
• https://github.com/magento-hackathon/composer-
repository/
• http://packages.firegento.com/
• http://magebase.com/magento-tutorials/composer-
with-magento/
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
Build
Workflow
Unit Tests,…
• git clone
• Add some metadata (build
number, master system,
package type)
• (Run Composer)
• (Run modman)
• Packaging
• Tagging
Deployment & Installation
Workflow
Update local
copy of the
“systemstorage”
Move files to
new release
folder
Download build
package from
Jenkins
Extract build
package
Run installer
Create symlinks
to var/ and
media/
Is
master
?
Import
systemstorage
(db and media/)
Run Composer Run modman
Apply settings Fix permissions
Update
symlinks
Delete old
releases
install.sh
deploy.sh
Directory layoutvar
var
<projectName>
releases
<environmentName>
shared
www
media
build_117
build_118
build_119
.modman
htdocs
Configuration
tools
install.sh
app,…
var
media
previous
latest
current
next
My_Module
My_Module2
Webroot:
/var/www/<projectName>/<environmentName>/current/htdocs
Daniel’s experimental approach
Approach
@Flyingmana
http://flyingmana.name/slides/magento-wizards_fugue-introduction.html
Rolando’s different approach
Approach
@beeplogic
http://slid.es/beeplogic/magesync
Ben’s approach
Approach
@benmarks
Thank you!
Any questions?
http://www.youtube.com/watch?v=bscXyCy4fHc
Watch the recording!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014
 
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
 
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
 
Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)
 
Intro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsIntro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin Elements
 
WebGL For Game Development Spring 2013
WebGL For Game Development Spring 2013WebGL For Game Development Spring 2013
WebGL For Game Development Spring 2013
 
Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer ElementsRock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
 
How I Learned to Stop Worrying and Love Composer - php[world] 2015
How I Learned to Stop Worrying and Love Composer - php[world] 2015How I Learned to Stop Worrying and Love Composer - php[world] 2015
How I Learned to Stop Worrying and Love Composer - php[world] 2015
 
HTML5 Dev Conf 2013 Presentation
HTML5 Dev Conf 2013 PresentationHTML5 Dev Conf 2013 Presentation
HTML5 Dev Conf 2013 Presentation
 
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nlJoomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
 
What Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 AppsWhat Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 Apps
 
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine) HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
 
jQuery Mobile & PhoneGap
jQuery Mobile & PhoneGapjQuery Mobile & PhoneGap
jQuery Mobile & PhoneGap
 
Introduction To Django
Introduction To DjangoIntroduction To Django
Introduction To Django
 

Similar a Magento Fireside Chat: "Wiring Mageno Projects"

ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devsITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp
 

Similar a Magento Fireside Chat: "Wiring Mageno Projects" (20)

Dependency management in Magento with Composer
Dependency management in Magento with ComposerDependency management in Magento with Composer
Dependency management in Magento with Composer
 
Modern tools for magento development
Modern tools for magento developmentModern tools for magento development
Modern tools for magento development
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
 
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devsITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
 
Magento2 Basics for Frontend Development
Magento2 Basics for Frontend DevelopmentMagento2 Basics for Frontend Development
Magento2 Basics for Frontend Development
 
5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY
5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY
5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
 
WordPress modern development
WordPress modern developmentWordPress modern development
WordPress modern development
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP Workflow
 
Database versioning in golang
Database versioning in golangDatabase versioning in golang
Database versioning in golang
 
Open source projects with python
Open source projects with pythonOpen source projects with python
Open source projects with python
 
Composer for Magento 1.x and Magento 2
Composer for Magento 1.x and Magento 2Composer for Magento 1.x and Magento 2
Composer for Magento 1.x and Magento 2
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldDistributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101
 
WordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute WorkshopWordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute Workshop
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Wordpress development: A Modern Approach
Wordpress development:  A Modern ApproachWordpress development:  A Modern Approach
Wordpress development: A Modern Approach
 
Theming Volto
Theming VoltoTheming Volto
Theming Volto
 
Magento2 From Setup To Deployment. Automate Everything
Magento2 From Setup To Deployment. Automate EverythingMagento2 From Setup To Deployment. Automate Everything
Magento2 From Setup To Deployment. Automate Everything
 

Más de AOE

Más de AOE (20)

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

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Magento Fireside Chat: "Wiring Mageno Projects"