SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Migros.ch
Modularizing Magnolia for
Switzerland's Largest Retailer
Jan Reise, aperto Berlin, Daniel Özbek, Migros CWI
@Magnolia Conference Basel, 4.9.2012
If you thought ...




… that this is what a typical

Magnolia website looks like …




                                2
Think again.




               3
migros.ch stats

• Over 11,000 content pages

• Over 14,000 teasers

• Over 80 page templates

• Over 250 paragraph templates

• Over 1300 Java classes




                                 4
Modularizing migros.ch


01   Magnolia relaunch
02   Growing into a portal
03   Modularization
04   Modularization part II
05   Summary




                              5
Magnolia relaunch
2010: Relaunch of existing site

• Old system
   •   MS Sharepoint based
   •   slow to use
   •   difficult to extend
   •   expensive to maintain
• Plan:
   •   keep the contents
   •   keep the workflow
   •   fix the problems




                                  7
Requirements for new system

• easy to use for editors

• live preview

• easy to connect to other systems

• central content repository (for other systems)

• save costs



• Migros chose Magnolia ☺




                                                   8
Results

• Migration in 6 months

• System very stable

• Workflow “not changed but improved”

• Return on investment already after a few months




                                                    9
Some features
Data hub: import and improvement
 Weekly import from ERP systems & editorial improvement in Magnolia




                                                                      11
Data hub: export
Delivery of processed data

to other systems, eg. mobile apps




                                    12
Teaser management
 Common teaser pool for site

 Time based display on pages




                               13
Modularizing migros.ch


01   Magnolia relaunch
02   Growing into a portal
03   Modularization
04   Modularization part II
05   Summary




                              14
Growing into a portal
Rapid growth
New sub-projects built in a short time frame (1.5 years)




  migros.ch relaunch   aus-der region   cumulus            generation-m




                                                                          16
A portal with sub-sites
Separate themes and templates

1 Magnolia webapp, 1 content repository




                                          17
Development driven by change requests

• Over 250 change requests per year

• Different stakeholders (marketing, corporate communication,
   regional cooperatives, …)

• Budgets only for visible features, not for improving or refactoring the
   overall project




                                                                            18
Feature releases 2011
3 simultaneous sub-projects


 January      February        March            April                May      June            July


4.1
  R 4.2
           R 4.3
                   R 4.4
                           R 4.5 (migros.ch)
                           R 5.0 (aus der region)
                                                            R 5.1
                              R 6.0 (cumulus
                                                    R 6.1
                                                                     R 6.2
                                                                             R 6.3 (all in one)


                                                                                                    19
Where‘s the architecture?

• Fast growing complexity (new modules)

• Fast growing size (permanent development and additions)

• Still using the architecture we started with:
    •   Magnolia
    •   Webapp with first project
    •   Modules for new projects
• But: common functionality still in with the first project

• All new projects depend on the first project




                                                              20
Dependencies: expensive and slow

• Dependencies between projects lead to side effects (bugs)

• Make a change in one project and you have to test all projects

• Testing becomes expensive

• Testing slows down the project




                                                                   21
Modularizing migros.ch


01   Magnolia relaunch
02   Growing into a portal
03   Modularization
04   Modularization part II
05   Summary




                              22
Modularization
Why not do it like Magnolia?

• Magnolia itself has a modular
  architecture

• Remove dependencies
  between projects

• Put common stuff into
  modules




                                  24
Architecture at relaunch
Like a simple project: just a webapp, a theme, and magnolia




                                                              25
„Organic“ evolution
New projects in new modules, depending on common functionality …

… which is in the webapp with the first project




                                                                   26
Common functionality in common modules
No software dependencies between sub-projects




                                                27
Even more modules
Each feature in its own module




                                 28
Over 25 Magnolia modules
Each module has its own independent software lifecycle




                                                         29
The result: better (and less expensive)
software architecture
• less dependencies     less technical complexity

• easier to understand for developers (new and old)

• more re-use by having a set of well-documented basic templates

• easier to test: test only the module that has been changed




                                                                   30
Releases are containers for modules
… and modules are containers for features




                                            31
Releases on a steady schedule
2012: Feature releases every 5 weeks


 March          April    May       June           July           August       September

R 7.0

        R 7.1

                 R 7.2

                           R 7.3

                                          R 7.4

                                                         R 8.0

                                                                          R 8.1




                                                                                          32
Easy integration of third party modules
Third party modules based on Magnolia or on Migros common stack




                                                                  33
Third party modules
Easily integrated as software dependencies




                                             34
Third party stuff put into a module
Magnolia wrapper for a

Flash / PHP microsite




                                      35
Modularizing migros.ch


01   Magnolia relaunch
02   Growing into a portal
03   Modularization
04   Modularization part II
05   Summary




                              36
Modularization part II
The last dependency: the release cycle

• Good: stable, dependable, predictable like Swiss train system

• Not so good: rigid and potentially slow

• Up to 9 weeks before a new feature goes online




                                                                  38
Speeding up feature releases

• Scenario: new features in one sub-project require changes in the
   common stack

• What we want: Focus test and release cycle on this sub-project

• Test and release everything else later




                                                                     39
Release and deploy separately
Each project in a separate webapp and in a separate magnolia instance

Even on separate versions of common stack




                                                                        40
Handling shared data

• Some data cannot be kept redundantly

• Administer data in “master project webapp”

• Provide data to other project webapps via web services




                                                           41
Modularizing migros.ch


01   Magnolia relaunch
02   Growing into a portal
03   Modularization
04   Modularization part II
05   Summary




                              42
Summary
What have we gained?


• Fewer dependencies between projects

• Less coordination between projects

• Agile testing

• Free choice of development teams

• More flexibility

• More scaling possibilities

• Better scaling of development resources




                                            44
New challenges
Integration challenges


• Coordination necessary between portal owner and project owners

• Coordination necessary between project owners and development
  teams, in order to prevent double developments

• Projects have to share information

• Continuous development of the common stack




                                                                   46
Management challenges


• which Magnolia instances for which editors?

• access right management

• support of the plattform

• deployments




                                                47
Cost challenges


• hosting and maintenance of all projects in several environments
   •   development
   •   testing
   •   productive
• who pays for the development of common functionality?




                                                                    48
To sum up


• Magnolia is good for large, multi-project, portal-type sites

• Too much complexity makes projects expensive and slow

• A modular architecture helps reduce complexity

• Magnolia offers an excellent foundation for this



• Separate deployment of sub-projects provides even more agility

• But: if you have several platforms you will have to support them!




                                                                      49
Thank you.

Weitere ähnliche Inhalte

Andere mochten auch

Joe Chang Te Release.Ch Traditional
Joe Chang Te Release.Ch TraditionalJoe Chang Te Release.Ch Traditional
Joe Chang Te Release.Ch TraditionalageLOC asia
 
Electrical & Instrumentation
Electrical & InstrumentationElectrical & Instrumentation
Electrical & InstrumentationEva Susiani
 
Air001 Datyon Direct Drive Blowers Final 5 S5843 Tri
Air001 Datyon Direct Drive Blowers Final 5 S5843 TriAir001 Datyon Direct Drive Blowers Final 5 S5843 Tri
Air001 Datyon Direct Drive Blowers Final 5 S5843 Triguestd6e51
 
Manual para incrustar galerias públicas picasa en guadalinfo.es
Manual para incrustar galerias públicas picasa en guadalinfo.esManual para incrustar galerias públicas picasa en guadalinfo.es
Manual para incrustar galerias públicas picasa en guadalinfo.espruebas
 
Qtp Tutorial
Qtp TutorialQtp Tutorial
Qtp Tutorialseshuu
 
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010J. Ulises Gonzalez Medina
 
Carolina del principe
Carolina del principeCarolina del principe
Carolina del principezimenax
 
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz Lorencio
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz LorencioTarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz Lorencio
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz LorencioPablo Muñoz
 
2011 auto meter hp catalog w links
2011 auto meter hp catalog w  links2011 auto meter hp catalog w  links
2011 auto meter hp catalog w linksFajar Isnanto
 
Integración social - IES BEN GABIROL
Integración social - IES BEN GABIROLIntegración social - IES BEN GABIROL
Integración social - IES BEN GABIROLwebgabirol
 
Redes domésticas seguras
Redes domésticas segurasRedes domésticas seguras
Redes domésticas segurasJavier Roig
 
Nova Relação das pessoas beneficiadas com o recurso dos alagados
Nova Relação das pessoas beneficiadas com o recurso dos alagadosNova Relação das pessoas beneficiadas com o recurso dos alagados
Nova Relação das pessoas beneficiadas com o recurso dos alagadosAlex Guimarães
 
Profiting From Pizza Toppings
Profiting From Pizza ToppingsProfiting From Pizza Toppings
Profiting From Pizza ToppingsMark Moreno
 
Elaboracion de un dinamometro casero
Elaboracion de un dinamometro caseroElaboracion de un dinamometro casero
Elaboracion de un dinamometro caseroPaul Jinde
 

Andere mochten auch (20)

2014 Special Report for The Netherlands
2014 Special Report for The Netherlands2014 Special Report for The Netherlands
2014 Special Report for The Netherlands
 
Joe Chang Te Release.Ch Traditional
Joe Chang Te Release.Ch TraditionalJoe Chang Te Release.Ch Traditional
Joe Chang Te Release.Ch Traditional
 
Electrical & Instrumentation
Electrical & InstrumentationElectrical & Instrumentation
Electrical & Instrumentation
 
Air001 Datyon Direct Drive Blowers Final 5 S5843 Tri
Air001 Datyon Direct Drive Blowers Final 5 S5843 TriAir001 Datyon Direct Drive Blowers Final 5 S5843 Tri
Air001 Datyon Direct Drive Blowers Final 5 S5843 Tri
 
Manual para incrustar galerias públicas picasa en guadalinfo.es
Manual para incrustar galerias públicas picasa en guadalinfo.esManual para incrustar galerias públicas picasa en guadalinfo.es
Manual para incrustar galerias públicas picasa en guadalinfo.es
 
Qtp Tutorial
Qtp TutorialQtp Tutorial
Qtp Tutorial
 
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010
Bases de Datos Restrictivas y Geometría Computacional - JUGM 2010
 
Carolina del principe
Carolina del principeCarolina del principe
Carolina del principe
 
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz Lorencio
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz LorencioTarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz Lorencio
Tarea 5.1 - ¿Cómo llegamos a nuestro cliente? - Pablo Muñoz Lorencio
 
Métodos anticonceptivos
Métodos anticonceptivos Métodos anticonceptivos
Métodos anticonceptivos
 
2011 auto meter hp catalog w links
2011 auto meter hp catalog w  links2011 auto meter hp catalog w  links
2011 auto meter hp catalog w links
 
Derecho informatico
Derecho informaticoDerecho informatico
Derecho informatico
 
nsrpcv
nsrpcvnsrpcv
nsrpcv
 
Emo
EmoEmo
Emo
 
Integración social - IES BEN GABIROL
Integración social - IES BEN GABIROLIntegración social - IES BEN GABIROL
Integración social - IES BEN GABIROL
 
Redes domésticas seguras
Redes domésticas segurasRedes domésticas seguras
Redes domésticas seguras
 
Nova Relação das pessoas beneficiadas com o recurso dos alagados
Nova Relação das pessoas beneficiadas com o recurso dos alagadosNova Relação das pessoas beneficiadas com o recurso dos alagados
Nova Relação das pessoas beneficiadas com o recurso dos alagados
 
Profiting From Pizza Toppings
Profiting From Pizza ToppingsProfiting From Pizza Toppings
Profiting From Pizza Toppings
 
Elaboracion de un dinamometro casero
Elaboracion de un dinamometro caseroElaboracion de un dinamometro casero
Elaboracion de un dinamometro casero
 
Fiscal civilfamilaclave
Fiscal civilfamilaclaveFiscal civilfamilaclave
Fiscal civilfamilaclave
 

Ähnlich wie Migros.ch - Modularizing Magnolia for Switzerland's Largest Retailer

Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!Joachim Tuchel
 
Effective websites development
Effective websites developmentEffective websites development
Effective websites developmentDevexperts
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with DockerJohn Zaccone
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesMongoDB
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay projectmimacom
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsMarcus Hanwell
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGeertjan Wielenga
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedVinci Rufus
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Christopher Curtin
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesJudy Breedlove
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSLana Kalashnyk
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutionsSangjin Lee
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayTony Ng
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studyGaetano Giunta
 

Ähnlich wie Migros.ch - Modularizing Magnolia for Switzerland's Largest Retailer (20)

Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
 
Effective websites development
Effective websites developmentEffective websites development
Effective websites development
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with Docker
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 Minutes
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and Semantics
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MS
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutions
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
QtQuick Day 1
QtQuick Day 1QtQuick Day 1
QtQuick Day 1
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
Container Patterns
Container PatternsContainer Patterns
Container Patterns
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
 

Mehr von bkraft

The Open Suite Approach: How to ride the shock waves of a changing web
The Open Suite Approach: How to ride the shock waves of a changing webThe Open Suite Approach: How to ride the shock waves of a changing web
The Open Suite Approach: How to ride the shock waves of a changing webbkraft
 
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...bkraft
 
Magnolia Conference 2013: Keynote
Magnolia Conference 2013: KeynoteMagnolia Conference 2013: Keynote
Magnolia Conference 2013: Keynotebkraft
 
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5Webinar slides: Orchestrate Your Digital Channels with Magnolia 5
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5bkraft
 
Webinar - Why Magnolia 5 Rocks For IT
Webinar - Why Magnolia 5 Rocks For ITWebinar - Why Magnolia 5 Rocks For IT
Webinar - Why Magnolia 5 Rocks For ITbkraft
 
Increase Online Sales with Magnolia CMS' Shop Module
Increase Online Sales with Magnolia CMS' Shop ModuleIncrease Online Sales with Magnolia CMS' Shop Module
Increase Online Sales with Magnolia CMS' Shop Modulebkraft
 
Virtual Presence Management at Magnolia Amplify Miami 2013
Virtual Presence Management at Magnolia Amplify Miami 2013Virtual Presence Management at Magnolia Amplify Miami 2013
Virtual Presence Management at Magnolia Amplify Miami 2013bkraft
 
High performance and scalability
High performance and scalability High performance and scalability
High performance and scalability bkraft
 
Multilingual websites, microsites and landing pages
Multilingual websites, microsites and landing pagesMultilingual websites, microsites and landing pages
Multilingual websites, microsites and landing pagesbkraft
 
Blossom on the web
Blossom on the webBlossom on the web
Blossom on the webbkraft
 
Single sourcing desktop and mobile websites
Single sourcing desktop and mobile websitesSingle sourcing desktop and mobile websites
Single sourcing desktop and mobile websitesbkraft
 
Work life balance
Work life balanceWork life balance
Work life balancebkraft
 
Magnolia and PHPCR
Magnolia and PHPCRMagnolia and PHPCR
Magnolia and PHPCRbkraft
 
Solr and Image Module Extensions of Magnolia
Solr and Image Module Extensions of MagnoliaSolr and Image Module Extensions of Magnolia
Solr and Image Module Extensions of Magnoliabkraft
 
End to end content managed online mobile banking
End to end content managed online mobile bankingEnd to end content managed online mobile banking
End to end content managed online mobile bankingbkraft
 
MBC Group - Magnolia in the Media
MBC Group - Magnolia in the MediaMBC Group - Magnolia in the Media
MBC Group - Magnolia in the Mediabkraft
 
Yet Another E-Commerce Integration: Magnolia Loves Hybris
Yet Another E-Commerce Integration: Magnolia Loves Hybris Yet Another E-Commerce Integration: Magnolia Loves Hybris
Yet Another E-Commerce Integration: Magnolia Loves Hybris bkraft
 
Bridging the Gap: Magnolia Modules and Spring Configured Software
Bridging the Gap: Magnolia Modules and Spring Configured SoftwareBridging the Gap: Magnolia Modules and Spring Configured Software
Bridging the Gap: Magnolia Modules and Spring Configured Softwarebkraft
 
User Management and SSO for Austrian Government
User Management and SSO for Austrian GovernmentUser Management and SSO for Austrian Government
User Management and SSO for Austrian Governmentbkraft
 
Enterprise Extensions to Magnolia's Imaging
Enterprise Extensions to Magnolia's ImagingEnterprise Extensions to Magnolia's Imaging
Enterprise Extensions to Magnolia's Imagingbkraft
 

Mehr von bkraft (20)

The Open Suite Approach: How to ride the shock waves of a changing web
The Open Suite Approach: How to ride the shock waves of a changing webThe Open Suite Approach: How to ride the shock waves of a changing web
The Open Suite Approach: How to ride the shock waves of a changing web
 
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...
Von der statischen Website zur virtuellen Präsenz - Vortrag für Nordwestschwe...
 
Magnolia Conference 2013: Keynote
Magnolia Conference 2013: KeynoteMagnolia Conference 2013: Keynote
Magnolia Conference 2013: Keynote
 
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5Webinar slides: Orchestrate Your Digital Channels with Magnolia 5
Webinar slides: Orchestrate Your Digital Channels with Magnolia 5
 
Webinar - Why Magnolia 5 Rocks For IT
Webinar - Why Magnolia 5 Rocks For ITWebinar - Why Magnolia 5 Rocks For IT
Webinar - Why Magnolia 5 Rocks For IT
 
Increase Online Sales with Magnolia CMS' Shop Module
Increase Online Sales with Magnolia CMS' Shop ModuleIncrease Online Sales with Magnolia CMS' Shop Module
Increase Online Sales with Magnolia CMS' Shop Module
 
Virtual Presence Management at Magnolia Amplify Miami 2013
Virtual Presence Management at Magnolia Amplify Miami 2013Virtual Presence Management at Magnolia Amplify Miami 2013
Virtual Presence Management at Magnolia Amplify Miami 2013
 
High performance and scalability
High performance and scalability High performance and scalability
High performance and scalability
 
Multilingual websites, microsites and landing pages
Multilingual websites, microsites and landing pagesMultilingual websites, microsites and landing pages
Multilingual websites, microsites and landing pages
 
Blossom on the web
Blossom on the webBlossom on the web
Blossom on the web
 
Single sourcing desktop and mobile websites
Single sourcing desktop and mobile websitesSingle sourcing desktop and mobile websites
Single sourcing desktop and mobile websites
 
Work life balance
Work life balanceWork life balance
Work life balance
 
Magnolia and PHPCR
Magnolia and PHPCRMagnolia and PHPCR
Magnolia and PHPCR
 
Solr and Image Module Extensions of Magnolia
Solr and Image Module Extensions of MagnoliaSolr and Image Module Extensions of Magnolia
Solr and Image Module Extensions of Magnolia
 
End to end content managed online mobile banking
End to end content managed online mobile bankingEnd to end content managed online mobile banking
End to end content managed online mobile banking
 
MBC Group - Magnolia in the Media
MBC Group - Magnolia in the MediaMBC Group - Magnolia in the Media
MBC Group - Magnolia in the Media
 
Yet Another E-Commerce Integration: Magnolia Loves Hybris
Yet Another E-Commerce Integration: Magnolia Loves Hybris Yet Another E-Commerce Integration: Magnolia Loves Hybris
Yet Another E-Commerce Integration: Magnolia Loves Hybris
 
Bridging the Gap: Magnolia Modules and Spring Configured Software
Bridging the Gap: Magnolia Modules and Spring Configured SoftwareBridging the Gap: Magnolia Modules and Spring Configured Software
Bridging the Gap: Magnolia Modules and Spring Configured Software
 
User Management and SSO for Austrian Government
User Management and SSO for Austrian GovernmentUser Management and SSO for Austrian Government
User Management and SSO for Austrian Government
 
Enterprise Extensions to Magnolia's Imaging
Enterprise Extensions to Magnolia's ImagingEnterprise Extensions to Magnolia's Imaging
Enterprise Extensions to Magnolia's Imaging
 

Kürzlich hochgeladen

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Migros.ch - Modularizing Magnolia for Switzerland's Largest Retailer

  • 1. Migros.ch Modularizing Magnolia for Switzerland's Largest Retailer Jan Reise, aperto Berlin, Daniel Özbek, Migros CWI @Magnolia Conference Basel, 4.9.2012
  • 2. If you thought ... … that this is what a typical Magnolia website looks like … 2
  • 4. migros.ch stats • Over 11,000 content pages • Over 14,000 teasers • Over 80 page templates • Over 250 paragraph templates • Over 1300 Java classes 4
  • 5. Modularizing migros.ch 01 Magnolia relaunch 02 Growing into a portal 03 Modularization 04 Modularization part II 05 Summary 5
  • 7. 2010: Relaunch of existing site • Old system • MS Sharepoint based • slow to use • difficult to extend • expensive to maintain • Plan: • keep the contents • keep the workflow • fix the problems 7
  • 8. Requirements for new system • easy to use for editors • live preview • easy to connect to other systems • central content repository (for other systems) • save costs • Migros chose Magnolia ☺ 8
  • 9. Results • Migration in 6 months • System very stable • Workflow “not changed but improved” • Return on investment already after a few months 9
  • 11. Data hub: import and improvement Weekly import from ERP systems & editorial improvement in Magnolia 11
  • 12. Data hub: export Delivery of processed data to other systems, eg. mobile apps 12
  • 13. Teaser management Common teaser pool for site Time based display on pages 13
  • 14. Modularizing migros.ch 01 Magnolia relaunch 02 Growing into a portal 03 Modularization 04 Modularization part II 05 Summary 14
  • 15. Growing into a portal
  • 16. Rapid growth New sub-projects built in a short time frame (1.5 years) migros.ch relaunch aus-der region cumulus generation-m 16
  • 17. A portal with sub-sites Separate themes and templates 1 Magnolia webapp, 1 content repository 17
  • 18. Development driven by change requests • Over 250 change requests per year • Different stakeholders (marketing, corporate communication, regional cooperatives, …) • Budgets only for visible features, not for improving or refactoring the overall project 18
  • 19. Feature releases 2011 3 simultaneous sub-projects January February March April May June July 4.1 R 4.2 R 4.3 R 4.4 R 4.5 (migros.ch) R 5.0 (aus der region) R 5.1 R 6.0 (cumulus R 6.1 R 6.2 R 6.3 (all in one) 19
  • 20. Where‘s the architecture? • Fast growing complexity (new modules) • Fast growing size (permanent development and additions) • Still using the architecture we started with: • Magnolia • Webapp with first project • Modules for new projects • But: common functionality still in with the first project • All new projects depend on the first project 20
  • 21. Dependencies: expensive and slow • Dependencies between projects lead to side effects (bugs) • Make a change in one project and you have to test all projects • Testing becomes expensive • Testing slows down the project 21
  • 22. Modularizing migros.ch 01 Magnolia relaunch 02 Growing into a portal 03 Modularization 04 Modularization part II 05 Summary 22
  • 24. Why not do it like Magnolia? • Magnolia itself has a modular architecture • Remove dependencies between projects • Put common stuff into modules 24
  • 25. Architecture at relaunch Like a simple project: just a webapp, a theme, and magnolia 25
  • 26. „Organic“ evolution New projects in new modules, depending on common functionality … … which is in the webapp with the first project 26
  • 27. Common functionality in common modules No software dependencies between sub-projects 27
  • 28. Even more modules Each feature in its own module 28
  • 29. Over 25 Magnolia modules Each module has its own independent software lifecycle 29
  • 30. The result: better (and less expensive) software architecture • less dependencies less technical complexity • easier to understand for developers (new and old) • more re-use by having a set of well-documented basic templates • easier to test: test only the module that has been changed 30
  • 31. Releases are containers for modules … and modules are containers for features 31
  • 32. Releases on a steady schedule 2012: Feature releases every 5 weeks March April May June July August September R 7.0 R 7.1 R 7.2 R 7.3 R 7.4 R 8.0 R 8.1 32
  • 33. Easy integration of third party modules Third party modules based on Magnolia or on Migros common stack 33
  • 34. Third party modules Easily integrated as software dependencies 34
  • 35. Third party stuff put into a module Magnolia wrapper for a Flash / PHP microsite 35
  • 36. Modularizing migros.ch 01 Magnolia relaunch 02 Growing into a portal 03 Modularization 04 Modularization part II 05 Summary 36
  • 38. The last dependency: the release cycle • Good: stable, dependable, predictable like Swiss train system • Not so good: rigid and potentially slow • Up to 9 weeks before a new feature goes online 38
  • 39. Speeding up feature releases • Scenario: new features in one sub-project require changes in the common stack • What we want: Focus test and release cycle on this sub-project • Test and release everything else later 39
  • 40. Release and deploy separately Each project in a separate webapp and in a separate magnolia instance Even on separate versions of common stack 40
  • 41. Handling shared data • Some data cannot be kept redundantly • Administer data in “master project webapp” • Provide data to other project webapps via web services 41
  • 42. Modularizing migros.ch 01 Magnolia relaunch 02 Growing into a portal 03 Modularization 04 Modularization part II 05 Summary 42
  • 44. What have we gained? • Fewer dependencies between projects • Less coordination between projects • Agile testing • Free choice of development teams • More flexibility • More scaling possibilities • Better scaling of development resources 44
  • 46. Integration challenges • Coordination necessary between portal owner and project owners • Coordination necessary between project owners and development teams, in order to prevent double developments • Projects have to share information • Continuous development of the common stack 46
  • 47. Management challenges • which Magnolia instances for which editors? • access right management • support of the plattform • deployments 47
  • 48. Cost challenges • hosting and maintenance of all projects in several environments • development • testing • productive • who pays for the development of common functionality? 48
  • 49. To sum up • Magnolia is good for large, multi-project, portal-type sites • Too much complexity makes projects expensive and slow • A modular architecture helps reduce complexity • Magnolia offers an excellent foundation for this • Separate deployment of sub-projects provides even more agility • But: if you have several platforms you will have to support them! 49