#jd12nl joomla 2.5 extensies

23
beknopt overzicht van verleden, heden en toekomst Herman Peeren, Yepr NL Joomla!Dagen 2012 Joomla! extensies maken

Upload: herman-peeren

Post on 16-Jun-2015

1.350 views

Category:

Technology


6 download

DESCRIPTION

Verleden, heden en toekomst van Joomla! Extensies. Presentation for Dutch Joomla!Days 2012. For the links to work: please download the original pdf.

TRANSCRIPT

Page 1: #jd12nl Joomla 2.5 extensies

beknopt overzicht vanverleden, heden en toekomst

Herman Peeren, YeprNL Joomla!Dagen 2012

Joomla! extensies maken

Page 2: #jd12nl Joomla 2.5 extensies

1.5, zelfde principes• componenten, MVC, JTable• modules in het template hangen• plugins reageren op events• minimaal 2 bestanden: php-bestand met de code en xml-bestand om te installeren

Page 3: #jd12nl Joomla 2.5 extensies
Page 4: #jd12nl Joomla 2.5 extensies

MVC

Page 5: #jd12nl Joomla 2.5 extensies

1.5 extensies: boeken

Page 6: #jd12nl Joomla 2.5 extensies

Es gibt auch Deutsche Bücher

↓van de andere kant bekeken

Page 7: #jd12nl Joomla 2.5 extensies

1.6, 1.7, 2.5

video Joseph LeBlanc op Lynda.com (5:25 uur)

Page 8: #jd12nl Joomla 2.5 extensies

meer 2.5 ontwikkel docu:• docs.joomla.org:

http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!2.5

• gratis/gesponsord development beginners guide Hagen Graf: http://cocoate.com/sites/cocoate.com/files/private/jdev.pdf

Page 9: #jd12nl Joomla 2.5 extensies

DaBook!• Mark Dexter & Louis Landry: Joomla!TM Programming

Page 10: #jd12nl Joomla 2.5 extensies

Excursie: overriding core• core classes laden: jimport, autoloader• worden maar 1x geladen• systeem-plugins worden voor 1e event (onBeforeInitialise) geladen• plugins kunnen behalve classes (of functies die gere-gistreerd moeten worden) ook “losse” code bevatten.• die code wordt meteen uitgevoerd• als je dan een class laadt (include_once), dan later niet meer...

uit dat boek, pagina 182-185:

Page 11: #jd12nl Joomla 2.5 extensies

Nieuw in 2.5 t.o.v. 1.5

• JForm zie James Kennard: http://www.howtojoomla.net/how-tos/development/getting-started-with-jform veldtypes:http://docs.joomla.org/Form_field

• ACL zie Sander Potjer: http://www.aclmanager.net/blog/general/31-how-to-add-basic-acl-support-to-your-extension

• Taal ook in je eigen componenten

•En verder: globalen weg; afgeleide controllers en mo-dels (JModelForm, JModelAdmin, JModelList); Nested categories (JTableNested), ook voor eigen extensies; nieuwe events; packages; update; etc.

Page 12: #jd12nl Joomla 2.5 extensies

Links: nieuw t.o.v. 1.5voor wat betreft extensies:

• http://docs.joomla.org/What’s_new_in_Joomla_1.6• http://docs.joomla.org/16Events (1.5: http://docs.joomla.org/Plugin/Events)• http://docs.joomla.org/Adapting_a_Joomla_1.5_extension_to_Joomla_1.6• http://docs.joomla.org/Category:Specifications

Page 13: #jd12nl Joomla 2.5 extensies

ToolsNaast het gebruikelijke arsenaal:• IDE (b.v. Eclipse of Netbeans) • Git (SVN)• tests: PHPunit, Selenium...Ja: TDD! Want achteraf testen is oersaai.• building: (zoals Phing, Ant)

extensie-ontwikkel-hulpmiddelen:• EasyCreator:

0.0.13: http://www.easy-joomla.org/de/news/45-easycreator-update-version-0013-und-fuer-joomla-16.html 0.0.16: https://github.com/elkuku/EasyCreator/downloads (Nicolai Plath) http://www.joomla-wiki.de/dokumentation/Benutzer:Elkuku/Proyektz/EasyCreator gebruikt MVC-voorbeelden uit docs.joomla.org

• Jacc http://www.janguo.de/lang-de/repository.html

• JFooBar https://github.com/Niambie/jfoobar http://magazine.joomla.org/issues/Issue-Sept-2011/item/566-Site-Builders-can-Build-Custom-Joomla-Components

Page 14: #jd12nl Joomla 2.5 extensies
Page 15: #jd12nl Joomla 2.5 extensies
Page 16: #jd12nl Joomla 2.5 extensies
Page 17: #jd12nl Joomla 2.5 extensies

Platform applicaties• los van, naast of samen met het CMS• ontwikkeling van platform gaat harder dan van CMS• legacy-tree voor CMS • ook CLI

Page 18: #jd12nl Joomla 2.5 extensies

Toekomst, ontwikkelingen MVC vernieuwd! • JModel, JView en JController: interfaces• basis classes•minderenbetergedefinieerdeafhankelijkheden• https://github.com/joomla/joomla-platform/pull/1120

UCM: Unified Content Model•https://groups.google.com/forum/?fromgroups#!topic/joomla-dev-platform/sqdZ0B_WCiQ

Page 19: #jd12nl Joomla 2.5 extensies

Documentatie• Platform-documentatie (nieuwe MVC): http://developer.joomla.org/manual/

Page 20: #jd12nl Joomla 2.5 extensies

En nog veel meer...• Nooku-server (Dry, Convention over Code, multi-site, eigen framework) http://www.nooku.org

• Square One (Joomla! Light) http://www.squareonecms.org/

• Molajo? https://github.com/Molajo/Molajo

• CCK’s en dergelijke gaan ook door• DDD, ORM, Doctrine 2... (mijn eigen stokpaardje)

Page 21: #jd12nl Joomla 2.5 extensies
Page 22: #jd12nl Joomla 2.5 extensies

/* render list of performers for a category */foreach ($this->performers as $performer) { /* general information about the performer */ // echo $performer->getName(), $performer->getStory() etc.

/* render pictures and videos for this performer */ foreach ($performer->getMedia() as $medium) { // URL in $medium->getLocation(); }

/* render list of acts for that performer */ foreach ($performer->getActs() as $act) { /* information about the act */ // echo $act->getName(), $act->getStory() etc.

/* render pictures and videos for this act */ foreach ($act->getMedia() as $medium) { // URL in $medium->getLocation(); } }}

Nested ArrayCollections

Page 23: #jd12nl Joomla 2.5 extensies

Vragen?

Bedankt en tot [email protected]

www.hermanpeeren.nl www.yepr.eu