Joomla2.0 architecture
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Joomla2.0 architecture

Uploaded on

If we would start from scratch with what we know now, how would Joomla! look like. From a developers/architectural point of view. Focus on Domain Driven Design.

If we would start from scratch with what we know now, how would Joomla! look like. From a developers/architectural point of view. Focus on Domain Driven Design.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 561 546 10 4
url_unknown 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Joomla! 2.0 Architecture J and Beyond May 6, 2011 Herman Peeren herman@yepr.nlFilip 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)
  • 4. and more...Hundertwasser
  • 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 might be time for aMajor 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
  • 9. some books:both from 2003...
  • 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 handledNelleke Verhoeff: Ellenlange Schlange (2003)
  • 12. Layers• 3 main layers: presentation, domain, data• OOP: domain layer is central (DDD) Mark Rothko
  • 13. 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)•
  • 14. aside: LINQ... for PHP• SQL for recordsets in .NET (Language Integrated Queries)• PHP, open source:• mainly targeting Recordsets (but could be generally useful for Table Data Gateways)• Doctrine uses DQL (like SQL, but querying objects, not tables)
  • 15. MVC? • How does our Holy Trinity MVC fit into this story?Antonio de Pereda (1611-1678): Holy Trinity
  • 16. 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)
  • 17. ← MVC in presentation layer
  • 18. MVC everywhere...
  • 19. Naked Objects• PhD thesis Richard Pawson 2004 (Dublin, Ireland)• /resources/Pawson%20thesis.pdf• Foreword by Trygve Reenskaug• back to ‘behaviourally-complete’ objects! Hans Memling: Vienna Triptych Enthroned Madonna (1485), closed
  • 20. NakedPHP• a framework to implement Naked Objects in PHP• by Giorgio Sironi•• (LGPL)Adolf Ziegler: The Four Elements: Fire, Water and Earth, Air (before 1937)
  • 21. 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_contentsPiet Mondriaan (1872-1944): tree, more and more abstract
  • 22. 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 (
  • 23. “Creativity requires the courage to let go certainties” Erich FrommSergey Tyukanof ( Alice in Wonderland (2005)
  • 24. Who joins this dance?• goal: to work towards a new major versionHenri Matisse: La Danse (1910)