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

Like this? Share it with your network

Share

Joomla2.0 architecture

  • 3,370 views
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

Views

Total Views
3,370
On Slideshare
2,809
From Embeds
561
Number of Embeds
4

Actions

Shares
Downloads
14
Comments
0
Likes
1

Embeds 561

http://people.joomla.org 546
http://lanyrd.com 10
http://translate.googleusercontent.com 4
url_unknown 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Joomla! 2.0 Architecture J and Beyond May 6, 2011 Herman Peeren www.yepr.eu 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 ...it 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)• http://www.doctrine-project.org
  • 14. 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)
  • 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)• 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
  • 20. 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)
  • 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 (http://popartmachine.com/)
  • 23. “Creativity requires the courage to let go certainties” Erich FrommSergey Tyukanof (http://www.tyukanov.com/): Alice in Wonderland (2005)
  • 24. Who joins this dance?• goal: to work towards a new major versionHenri Matisse: La Danse (1910)