SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Joomla! 2.0 Architecture
                                    J and Beyond
                                      May 6, 2011




                                   Herman Peeren
                                        www.yepr.eu
                                     herman@yepr.nl
Filip Dujardin: Crazy Building 6
Software Architecture
•	   structure of the whole
•	   under the hood
Extending what you have...
starting small:




building more

•	   more and more
•	   knitting...
•	   more
•	   and more
•	   and even more


                     James Wines: Highrise of Homes (1981)
and more...




Hundertwasser
Until the past becomes a burden




    Giovanni Francesco Barbieri Guercino: Atlas (1646)
Example: Joomla! 1.6 ACL
•	   earlier Access Control for editing: /administrator-folder
•	   earlier Access Control for viewing: restricting menu- and article ac-
     cess for groups
•	   newer ACL while keeping the old structures
After:
•	   1.5
•	   1.6
•	   1.7
•	   1.8
•	   1.9
•	   1.10
•	   ...
•	   1.98




 ...it might be time for a

Major release:                          .
 N.B.: no major version forseen in framework version numbers (11.1 etc.)
Not even the sky is the limit!




Andrea Pozzo: trompe l’oeil, fresco, St. Ignazio, Roma
some books:




both from 2003...
Conversion
    to

  OOP
  DDD
  ORM
  TDD
  COC
  WTF
   Caravagio: the Conversion of St. Paul (1601)
Back to the OOP-basics
 •	   Simula (1960s); e.g. simulation of waiting queues
 •	   no division between data and behaviour: objects!
 •	   smaller problems that can be handled




Nelleke Verhoeff: Ellenlange Schlange (2003)
Layers
•	   3 main layers:

     presentation,
     domain,
     data


•	   OOP: domain layer
     is central (DDD)




                         Mark Rothko
ORM
•	   Object - Relational Mapping
•	   Frameworks. Java: Hibernate. PHP: Doctrine (2)
•	   Doctrine a.o. used in Zend, Symfony etc.
•	   Can be used in Joomla! (JCM-article)
•	   http://www.doctrine-project.org
aside: LINQ... for PHP
•	   SQL for recordsets in .NET (Language Integrated Queries)
•	   PHP, open source: http://phplinq.codeplex.com/
•	   mainly targeting Recordsets (but could be generally useful for
     Table Data Gateways)
•	   Doctrine uses DQL (like SQL, but querying objects, not tables)
MVC?
     •	   How does our Holy Trinity MVC fit into this story?




Antonio de Pereda (1611-1678): Holy Trinity
MVC and layers
•	   invented 1978/1979
•	   originally in the presentation layer
•	   now: scattered over layers
•	   or: instead of layers




                                            Prof. Trygve M. H. Reenskaug (Oslo)
← MVC in presentation layer
MVC everywhere...
Naked Objects
•	   PhD thesis Richard Pawson
     2004 (Dublin, Ireland)

•	   http://downloads.nakedobjects.net
     /resources/Pawson%20thesis.pdf

•	   Foreword by Trygve Reenskaug

•	   back to
     ‘behaviourally-complete’ objects!




                                         Hans Memling: Vienna Triptych Enthroned Madonna (1485), closed
NakedPHP
•	   a framework to implement Naked Objects in PHP
•	   by Giorgio Sironi
•	   http://giorgiosironi.blogspot.com/2009/07/naked-objects-in-php.html
•	   http://sourceforge.net/projects/nakedphp/ (LGPL)




Adolf Ziegler: The Four Elements: Fire, Water and Earth, Air (before 1937)
Experiments from the lab
•	   System-U: all objects only a uniform interface as public methods
•	   System-R: recources as basic objects
•	   System-A: Access control as feature in basic objects
•	   agregate MVC: class com_mycontents extends com_contents




Piet Mondriaan (1872-1944): tree, more and more abstract
Joomla! 2.0 could have:
•	   DDD and ORM
•	   database independency
•	   better integrated ACL, no /administrator
     RESTful interface
                                                                      ...and be:
•	


•	   Extendable API




                                                                      UP
                                                                       -TO
                                                                         -D
                                                                            AT
                                                                               E!
 Vangobot: Skyscrapers Architecture Pop (http://popartmachine.com/)
“Creativity
                                  requires the courage
                                  to let go certainties”                 Erich Fromm




Sergey Tyukanof (http://www.tyukanov.com/): Alice in Wonderland (2005)
Who joins this dance?
•	   goal: to work towards a new major version




Henri Matisse: La Danse (1910)

Weitere ähnliche Inhalte

Ähnlich wie Joomla2.0 architecture

The Pharo Evolution
The Pharo EvolutionThe Pharo Evolution
The Pharo EvolutionESUG
 
OO and Rails...
OO and Rails... OO and Rails...
OO and Rails... adzdavies
 
Zope is dead - Long live Zope
Zope is dead - Long live ZopeZope is dead - Long live Zope
Zope is dead - Long live ZopeLennart Regebro
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big companyDocker, Inc.
 
Intro to openFrameworks
Intro to openFrameworksIntro to openFrameworks
Intro to openFrameworksKyle McDonald
 
Open Source Technology and Community
Open Source Technology and CommunityOpen Source Technology and Community
Open Source Technology and CommunitySammy Fung
 
Involutionary%20Self-Replicating%20Machines.ppt_1
Involutionary%20Self-Replicating%20Machines.ppt_1Involutionary%20Self-Replicating%20Machines.ppt_1
Involutionary%20Self-Replicating%20Machines.ppt_1David Keirsey
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishJani Tarvainen
 
Introducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applicationsIntroducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applicationsRokesh Jankie
 
Why Open Cloud Platforms are important - OSCON 2013
Why Open Cloud Platforms are important - OSCON 2013Why Open Cloud Platforms are important - OSCON 2013
Why Open Cloud Platforms are important - OSCON 2013Andy Piper
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycleSwatantra Kumar
 
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...David Beazley (Dabeaz LLC)
 
Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)Miguel Pardal
 

Ähnlich wie Joomla2.0 architecture (20)

The Pharo Evolution
The Pharo EvolutionThe Pharo Evolution
The Pharo Evolution
 
OO and Rails...
OO and Rails... OO and Rails...
OO and Rails...
 
Haskell @ HAN Arnhem 2013-2014
Haskell @ HAN Arnhem 2013-2014Haskell @ HAN Arnhem 2013-2014
Haskell @ HAN Arnhem 2013-2014
 
EESTEC Android Workshop 1
EESTEC Android Workshop 1EESTEC Android Workshop 1
EESTEC Android Workshop 1
 
Zope is dead - Long live Zope
Zope is dead - Long live ZopeZope is dead - Long live Zope
Zope is dead - Long live Zope
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
 
Gophercon 2016 recap
Gophercon 2016 recapGophercon 2016 recap
Gophercon 2016 recap
 
Intro to openFrameworks
Intro to openFrameworksIntro to openFrameworks
Intro to openFrameworks
 
Open Source Technology and Community
Open Source Technology and CommunityOpen Source Technology and Community
Open Source Technology and Community
 
Involutionary%20Self-Replicating%20Machines.ppt_1
Involutionary%20Self-Replicating%20Machines.ppt_1Involutionary%20Self-Replicating%20Machines.ppt_1
Involutionary%20Self-Replicating%20Machines.ppt_1
 
Artifacts evolution
Artifacts evolutionArtifacts evolution
Artifacts evolution
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 
Introducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applicationsIntroducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applications
 
Why Open Cloud Platforms are important - OSCON 2013
Why Open Cloud Platforms are important - OSCON 2013Why Open Cloud Platforms are important - OSCON 2013
Why Open Cloud Platforms are important - OSCON 2013
 
Splash
SplashSplash
Splash
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycle
 
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
 
Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)
 
Docker 2014
Docker 2014Docker 2014
Docker 2014
 
Sync considered unethical
Sync considered unethicalSync considered unethical
Sync considered unethical
 

Mehr von Herman Peeren

ProjectionalForms-2023-11-14.pdf
ProjectionalForms-2023-11-14.pdfProjectionalForms-2023-11-14.pdf
ProjectionalForms-2023-11-14.pdfHerman Peeren
 
ExtensionGenerator-JoomlaDagen2023-slides.pdf
ExtensionGenerator-JoomlaDagen2023-slides.pdfExtensionGenerator-JoomlaDagen2023-slides.pdf
ExtensionGenerator-JoomlaDagen2023-slides.pdfHerman Peeren
 
Programmeren, talen en het begrijpen van de wereld
Programmeren, talen en het begrijpen van de wereldProgrammeren, talen en het begrijpen van de wereld
Programmeren, talen en het begrijpen van de wereldHerman Peeren
 
Improve our PHP code with ideas from Functional Programming
Improve our PHP code with ideas from Functional ProgrammingImprove our PHP code with ideas from Functional Programming
Improve our PHP code with ideas from Functional ProgrammingHerman Peeren
 
DCI DDD-BE April 2015
DCI DDD-BE April 2015DCI DDD-BE April 2015
DCI DDD-BE April 2015Herman Peeren
 
Design patterns illustrated-2015-03
Design patterns illustrated-2015-03Design patterns illustrated-2015-03
Design patterns illustrated-2015-03Herman Peeren
 
Next Generation Joomla!
Next Generation Joomla!Next Generation Joomla!
Next Generation Joomla!Herman Peeren
 
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHPBehat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHPHerman Peeren
 
Design patterns illustrated 010PHP
Design patterns illustrated 010PHPDesign patterns illustrated 010PHP
Design patterns illustrated 010PHPHerman Peeren
 
Print, geen kunst aan
Print, geen kunst aanPrint, geen kunst aan
Print, geen kunst aanHerman Peeren
 
Jooctrine - Doctrine ORM in Joomla!
Jooctrine - Doctrine ORM in Joomla!Jooctrine - Doctrine ORM in Joomla!
Jooctrine - Doctrine ORM in Joomla!Herman Peeren
 
#jd12nl Joomla 2.5 extensies
#jd12nl Joomla 2.5 extensies#jd12nl Joomla 2.5 extensies
#jd12nl Joomla 2.5 extensiesHerman Peeren
 
Jug010 120320-templates
Jug010 120320-templatesJug010 120320-templates
Jug010 120320-templatesHerman Peeren
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Herman Peeren
 
Commercial gpljoomla
Commercial gpljoomlaCommercial gpljoomla
Commercial gpljoomlaHerman Peeren
 
Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns IllustratedHerman Peeren
 

Mehr von Herman Peeren (20)

ProjectionalForms-2023-11-14.pdf
ProjectionalForms-2023-11-14.pdfProjectionalForms-2023-11-14.pdf
ProjectionalForms-2023-11-14.pdf
 
ExtensionGenerator-JoomlaDagen2023-slides.pdf
ExtensionGenerator-JoomlaDagen2023-slides.pdfExtensionGenerator-JoomlaDagen2023-slides.pdf
ExtensionGenerator-JoomlaDagen2023-slides.pdf
 
Cut & Shave
Cut & ShaveCut & Shave
Cut & Shave
 
Programmeren, talen en het begrijpen van de wereld
Programmeren, talen en het begrijpen van de wereldProgrammeren, talen en het begrijpen van de wereld
Programmeren, talen en het begrijpen van de wereld
 
Dci in PHP
Dci in PHPDci in PHP
Dci in PHP
 
Improve our PHP code with ideas from Functional Programming
Improve our PHP code with ideas from Functional ProgrammingImprove our PHP code with ideas from Functional Programming
Improve our PHP code with ideas from Functional Programming
 
DCI DDD-BE April 2015
DCI DDD-BE April 2015DCI DDD-BE April 2015
DCI DDD-BE April 2015
 
Design patterns illustrated-2015-03
Design patterns illustrated-2015-03Design patterns illustrated-2015-03
Design patterns illustrated-2015-03
 
Event Sourcing
Event SourcingEvent Sourcing
Event Sourcing
 
Next Generation Joomla!
Next Generation Joomla!Next Generation Joomla!
Next Generation Joomla!
 
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHPBehat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
 
Design patterns illustrated 010PHP
Design patterns illustrated 010PHPDesign patterns illustrated 010PHP
Design patterns illustrated 010PHP
 
Print, geen kunst aan
Print, geen kunst aanPrint, geen kunst aan
Print, geen kunst aan
 
Jooctrine - Doctrine ORM in Joomla!
Jooctrine - Doctrine ORM in Joomla!Jooctrine - Doctrine ORM in Joomla!
Jooctrine - Doctrine ORM in Joomla!
 
#jd12nl Joomla 2.5 extensies
#jd12nl Joomla 2.5 extensies#jd12nl Joomla 2.5 extensies
#jd12nl Joomla 2.5 extensies
 
#jd12nl Seblod 2
#jd12nl  Seblod 2#jd12nl  Seblod 2
#jd12nl Seblod 2
 
Jug010 120320-templates
Jug010 120320-templatesJug010 120320-templates
Jug010 120320-templates
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.
 
Commercial gpljoomla
Commercial gpljoomlaCommercial gpljoomla
Commercial gpljoomla
 
Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
 

Kürzlich hochgeladen

Dermatome and myotome test & pathology.pdf
Dermatome and myotome test & pathology.pdfDermatome and myotome test & pathology.pdf
Dermatome and myotome test & pathology.pdfniloofarbarzegari76
 
Quality control tests of suppository ...
Quality control tests  of suppository ...Quality control tests  of suppository ...
Quality control tests of suppository ...Hasnat Tariq
 
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Step
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door StepBangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Step
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Stepdarmandersingh4580
 
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptx
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptxANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptx
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptxDr. Sohan Biswas
 
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS by Dr M.KARTHIK EMMANUEL
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS  by Dr M.KARTHIK EMMANUELCONGENITAL HYPERTROPHIC PYLORIC STENOSIS  by Dr M.KARTHIK EMMANUEL
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS by Dr M.KARTHIK EMMANUELMKARTHIKEMMANUEL
 
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best suppler
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best supplerCas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best suppler
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best supplerSherrylee83
 
ESC HF 2024 Spotlights Day-2.pptx heart failure
ESC HF 2024 Spotlights Day-2.pptx heart failureESC HF 2024 Spotlights Day-2.pptx heart failure
ESC HF 2024 Spotlights Day-2.pptx heart failuremahiavy26
 
The Orbit & its contents by Dr. Rabia I. Gandapore.pptx
The Orbit & its contents by Dr. Rabia I. Gandapore.pptxThe Orbit & its contents by Dr. Rabia I. Gandapore.pptx
The Orbit & its contents by Dr. Rabia I. Gandapore.pptxDr. Rabia Inam Gandapore
 
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?DrShinyKajal
 
Overview on the Automatic pill identifier
Overview on the Automatic pill identifierOverview on the Automatic pill identifier
Overview on the Automatic pill identifierNidhi Joshi
 
Treatment Choices for Slip Disc at Gokuldas Hospital
Treatment Choices for Slip Disc at Gokuldas HospitalTreatment Choices for Slip Disc at Gokuldas Hospital
Treatment Choices for Slip Disc at Gokuldas HospitalGokuldas Hospital
 
Mgr university bsc nursing adult health previous question paper with answers
Mgr university  bsc nursing adult health previous question paper with answersMgr university  bsc nursing adult health previous question paper with answers
Mgr university bsc nursing adult health previous question paper with answersShafnaP5
 
Gallbladder Double-Diverticular: A Case Report المرارة مزدوجة التج: تقرير حالة
Gallbladder Double-Diverticular: A Case Report  المرارة مزدوجة التج: تقرير حالةGallbladder Double-Diverticular: A Case Report  المرارة مزدوجة التج: تقرير حالة
Gallbladder Double-Diverticular: A Case Report المرارة مزدوجة التج: تقرير حالةMohamad محمد Al-Gailani الكيلاني
 
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341Sherrylee83
 
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.Gawad
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.GawadHemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.Gawad
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.GawadNephroTube - Dr.Gawad
 
Tips to Choose the Best Psychiatrists in Indore
Tips to Choose the Best Psychiatrists in IndoreTips to Choose the Best Psychiatrists in Indore
Tips to Choose the Best Psychiatrists in IndoreGokuldas Hospital
 
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...marcuskenyatta275
 
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...Ishita Kashyap
 
Tips and tricks to pass the cardiovascular station for PACES exam
Tips and tricks to pass the cardiovascular station for PACES examTips and tricks to pass the cardiovascular station for PACES exam
Tips and tricks to pass the cardiovascular station for PACES examJunhao Koh
 

Kürzlich hochgeladen (20)

Dermatome and myotome test & pathology.pdf
Dermatome and myotome test & pathology.pdfDermatome and myotome test & pathology.pdf
Dermatome and myotome test & pathology.pdf
 
Quality control tests of suppository ...
Quality control tests  of suppository ...Quality control tests  of suppository ...
Quality control tests of suppository ...
 
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Step
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door StepBangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Step
Bangalore whatsapp Number Just VIP Brookefield 100% Genuine at your Door Step
 
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptx
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptxANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptx
ANAPHYLAXIS BY DR.SOHAN BISWAS,MBBS,DNB(INTERNAL MEDICINE) RESIDENT.pptx
 
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS by Dr M.KARTHIK EMMANUEL
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS  by Dr M.KARTHIK EMMANUELCONGENITAL HYPERTROPHIC PYLORIC STENOSIS  by Dr M.KARTHIK EMMANUEL
CONGENITAL HYPERTROPHIC PYLORIC STENOSIS by Dr M.KARTHIK EMMANUEL
 
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best suppler
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best supplerCas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best suppler
Cas 28578-16-7 PMK ethyl glycidate ( new PMK powder) best suppler
 
ESC HF 2024 Spotlights Day-2.pptx heart failure
ESC HF 2024 Spotlights Day-2.pptx heart failureESC HF 2024 Spotlights Day-2.pptx heart failure
ESC HF 2024 Spotlights Day-2.pptx heart failure
 
The Orbit & its contents by Dr. Rabia I. Gandapore.pptx
The Orbit & its contents by Dr. Rabia I. Gandapore.pptxThe Orbit & its contents by Dr. Rabia I. Gandapore.pptx
The Orbit & its contents by Dr. Rabia I. Gandapore.pptx
 
Making Patient-Centric Immunotherapy a Reality in Lung Cancer: Best Practices...
Making Patient-Centric Immunotherapy a Reality in Lung Cancer: Best Practices...Making Patient-Centric Immunotherapy a Reality in Lung Cancer: Best Practices...
Making Patient-Centric Immunotherapy a Reality in Lung Cancer: Best Practices...
 
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?
Case presentation on Antibody screening- how to solve 3 cell and 11 cell panel?
 
Overview on the Automatic pill identifier
Overview on the Automatic pill identifierOverview on the Automatic pill identifier
Overview on the Automatic pill identifier
 
Treatment Choices for Slip Disc at Gokuldas Hospital
Treatment Choices for Slip Disc at Gokuldas HospitalTreatment Choices for Slip Disc at Gokuldas Hospital
Treatment Choices for Slip Disc at Gokuldas Hospital
 
Mgr university bsc nursing adult health previous question paper with answers
Mgr university  bsc nursing adult health previous question paper with answersMgr university  bsc nursing adult health previous question paper with answers
Mgr university bsc nursing adult health previous question paper with answers
 
Gallbladder Double-Diverticular: A Case Report المرارة مزدوجة التج: تقرير حالة
Gallbladder Double-Diverticular: A Case Report  المرارة مزدوجة التج: تقرير حالةGallbladder Double-Diverticular: A Case Report  المرارة مزدوجة التج: تقرير حالة
Gallbladder Double-Diverticular: A Case Report المرارة مزدوجة التج: تقرير حالة
 
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341
Sell pmk powder cas 28578-16-7 from pmk supplier Telegram +85297504341
 
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.Gawad
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.GawadHemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.Gawad
Hemodialysis: Chapter 1, Physiological Principles of Hemodialysis - Dr.Gawad
 
Tips to Choose the Best Psychiatrists in Indore
Tips to Choose the Best Psychiatrists in IndoreTips to Choose the Best Psychiatrists in Indore
Tips to Choose the Best Psychiatrists in Indore
 
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...
TEST BANK For Huether and McCance's Understanding Pathophysiology, Canadian 2...
 
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...
HIFI* ℂall Girls In Thane West Phone 🔝 9920874524 🔝 💃 Me All Time Serviℂe Ava...
 
Tips and tricks to pass the cardiovascular station for PACES exam
Tips and tricks to pass the cardiovascular station for PACES examTips and tricks to pass the cardiovascular station for PACES exam
Tips and tricks to pass the cardiovascular station for PACES exam
 

Joomla2.0 architecture

  • 1. Joomla! 2.0 Architecture J and Beyond May 6, 2011 Herman Peeren www.yepr.eu herman@yepr.nl Filip Dujardin: Crazy Building 6
  • 2. Software Architecture • structure of the whole • under the hood
  • 3. Extending what you have... starting small: building more • more and more • knitting... • more • and more • and even more James Wines: Highrise of Homes (1981)
  • 5. Until the past becomes a burden Giovanni Francesco Barbieri Guercino: Atlas (1646)
  • 6. Example: Joomla! 1.6 ACL • earlier Access Control for editing: /administrator-folder • earlier Access Control for viewing: restricting menu- and article ac- cess for groups • newer ACL while keeping the old structures
  • 7. After: • 1.5 • 1.6 • 1.7 • 1.8 • 1.9 • 1.10 • ... • 1.98 ...it might be time for a Major release: . N.B.: no major version forseen in framework version numbers (11.1 etc.)
  • 8. Not even the sky is the limit! Andrea Pozzo: trompe l’oeil, fresco, St. Ignazio, Roma
  • 10. Conversion to OOP DDD ORM TDD COC WTF Caravagio: the Conversion of St. Paul (1601)
  • 11. Back to the OOP-basics • Simula (1960s); e.g. simulation of waiting queues • no division between data and behaviour: objects! • smaller problems that can be handled Nelleke Verhoeff: Ellenlange Schlange (2003)
  • 12. Layers • 3 main layers: presentation, domain, data • OOP: domain layer is central (DDD) Mark Rothko
  • 13.
  • 14.
  • 15. ORM • Object - Relational Mapping • Frameworks. Java: Hibernate. PHP: Doctrine (2) • Doctrine a.o. used in Zend, Symfony etc. • Can be used in Joomla! (JCM-article) • http://www.doctrine-project.org
  • 16. aside: LINQ... for PHP • SQL for recordsets in .NET (Language Integrated Queries) • PHP, open source: http://phplinq.codeplex.com/ • mainly targeting Recordsets (but could be generally useful for Table Data Gateways) • Doctrine uses DQL (like SQL, but querying objects, not tables)
  • 17. MVC? • How does our Holy Trinity MVC fit into this story? Antonio de Pereda (1611-1678): Holy Trinity
  • 18. MVC and layers • invented 1978/1979 • originally in the presentation layer • now: scattered over layers • or: instead of layers Prof. Trygve M. H. Reenskaug (Oslo)
  • 19. ← MVC in presentation layer
  • 21. Naked Objects • PhD thesis Richard Pawson 2004 (Dublin, Ireland) • http://downloads.nakedobjects.net /resources/Pawson%20thesis.pdf • Foreword by Trygve Reenskaug • back to ‘behaviourally-complete’ objects! Hans Memling: Vienna Triptych Enthroned Madonna (1485), closed
  • 22. NakedPHP • a framework to implement Naked Objects in PHP • by Giorgio Sironi • http://giorgiosironi.blogspot.com/2009/07/naked-objects-in-php.html • http://sourceforge.net/projects/nakedphp/ (LGPL) Adolf Ziegler: The Four Elements: Fire, Water and Earth, Air (before 1937)
  • 23. Experiments from the lab • System-U: all objects only a uniform interface as public methods • System-R: recources as basic objects • System-A: Access control as feature in basic objects • agregate MVC: class com_mycontents extends com_contents Piet Mondriaan (1872-1944): tree, more and more abstract
  • 24. Joomla! 2.0 could have: • DDD and ORM • database independency • better integrated ACL, no /administrator RESTful interface ...and be: • • Extendable API UP -TO -D AT E! Vangobot: Skyscrapers Architecture Pop (http://popartmachine.com/)
  • 25. “Creativity requires the courage to let go certainties” Erich Fromm Sergey Tyukanof (http://www.tyukanov.com/): Alice in Wonderland (2005)
  • 26. Who joins this dance? • goal: to work towards a new major version Henri Matisse: La Danse (1910)