SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Nooku Server,
  Molajo & Co.




Joomla! Forks. Oder Distributionen.
                           David Jardin - SistaSystems - JoomlaDay Deutschland 2011
Ich

• David Jardin, 21
• gelernter Abiturient
• Webentwickler
• Joomla!-Freak
• Stellv. Vorsitzender Mambo e.V.
Ein Fork.
Konfuzius sagt:
„Eine Abspaltung (auch Fork) ist in der
Softwareentwicklung ein
Entwicklungszweig nach der Aufspaltung
eines Projektes in zwei, wobei Teile des
Quelltextes und seiner Historie kopiert
werden und dann unabhängig von dem
ursprünglichen Projekt weiterentwickelt
werden“
                                 Quelle: Wikipedia
Bestes Beispiel:
Eine Distribution.
Konfuzius sagt:
„Eine Distribution ist eine
Zusammenstellung von Software, die
als Komplettpaket weitergegeben
wird.



                            Quelle: Wikipedia
• Entstanden aus der „All together as a whole“-
  Initiative (ataaw.org)
• kleines aber feines Team
• als Distribution geplant, jetzt Applikation
  basierend auf der Joomla! Plattform
• Ziel: Joomla 1.7 mit mehr Nutzerfreundlichkeit
Bestandteile
• Vereinfachung des ACL Systems
• Verbesserung des MVC Frameworks
• Construct Template Framework
• Verbesserungen des Routers
• Minima Admin Template
• Integration der Admin Tools
Construct Template
   Framework
• schlankes Template Framework
• 40 Modulpositionen
• Mobiloptimierung
• erweiterte Template Overrides: z.B. ein
  Override für eine bestimmte Kategorie
Minima Template


    Selber gucken.
Nooku Plattform
  Basis für den Betrieb von Webanwendungen

    Nooku             Nooku        Nooku
    Server          Framework     Desktop

Fork/Distribution     MVC RAD    Desktop Client
 von Joomla 1.5      Framework        zur
                                 Administration
Johan Janssens
„Es war einmal...“
• Relaunch für die belgische Polizei
• Bedarf einer Multisite Version von Joomla
  -> Nooku Server
• Bedarf eines MVC Frameworks zur
  Erweiterungsentwicklung
  -> Nooku Framework
• Veraltete Behördenrechner
  -> Nooku Desktop
Nooku Framework




  „a new brain for Joomla!“
Nooku Framework
• objektorientiertes MVC Framework
• nutzt keine Joomla! Bibliotheken
• RESTful Architektur
• basierend auf aktuellen Designpatterns
• schlank und flexibel
• DRY-Konzept
easybook.php vorher
 <?php
 defined( '_JEXEC' ) or die( 'Restricted access

 // Require the base controller
 require_once( JPATH_COMPONENT.DS.'controller.php' );

 // Require specific controller if requested
 if($controller = JRequest::getWord('controller')) {
     $path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
     if (file_exists($path)) {
         require_once $path;
     } else {
         $controller = '';
     }
 }

 // Create the controller
 $classname    = 'EasybookController'.$controller;
 $controller   = new $classname( );

 // Perform the Request task
 $controller->execute( JRequest::getVar( 'task' ) );

 // Redirect if set by the controller
 $controller->redirect();

 ?>
easybook.php nachher


  // Create the controller dispatcher
  echo KFactory::get('site::com.easybook.dispatcher')->dispatch();
controller.php vorher
  class EasybookControllerEntry extends EasybookController
  {
  	   /**
  	   * Edit a entry and show the edit form
  	   *
  	   * @acces public
  	   * @since 1.5
  	   */
  	   function edit()
  	   {
  	   	   $user = & JFactory::getUser();

  	   	     // Make sure you are logged in
  	   	     if ($user->get('aid', 0) < 1) {
  	   	     	   JError::raiseError( 403, JText::_('ALERTNOTAUTH') );
  	   	     	   return;
  	   	     }

  	   	     JRequest::setVar('view', 'entry');
  	   	     JRequest::setVar('layout', 'form');

  	   	     $model =& $this->getModel('entry');
  	   	     $model->checkout();

  	   	     parent::display();
  	   }

      ...

                         137 Zeilen
controller.php nachher

    class ComEasybookControllerEntry extends KControllerService {

    }




                          3 Zeilen
Eigene
    Erfahrungswerte

• 70-80% weniger Code
• 50% kürzere Entwicklungszeit
• mehr Flexibilität
• mehr Spaß
Nooku Server
• ursprünglich Multi-Site Version von Joomla 1.5
• hat sich zum Joomla 1.5 Fork entwickelt
• „Joomla 1.5“ auf Diät
 • kein Legacy Layer, Pat Template, XML-RPC
 • 45% weniger Code!
• Reduzierung auf Kern-Funktionalitäten
Nooku Desktop
Nooku Desktop

• Desktop Applikation zur Administration
  von Nooku Server Seiten
• bringt eigene Rendering Engine mit
• sehr rudimentäres Tool
• „klickibunti“-Feeling für den Endkunden
Links

Nooku.org         Molajo          Minima


                David Jardin

              @snipersister
            www.sistasystems.de

Más contenido relacionado

La actualidad más candente

Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Daniel Havlik
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InPHP in DD
 
SCD13: Shopware goes responsive
SCD13: Shopware goes responsiveSCD13: Shopware goes responsive
SCD13: Shopware goes responsiveshopware AG
 
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSAcceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSBjörn Wilmsmann
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress MultisiteWalter Ebert
 
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...Nicole Szigeti
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEEMVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEEOPEN KNOWLEDGE GmbH
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performancenikflip
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft AG
 

La actualidad más candente (12)

Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-In
 
SCD13: Shopware goes responsive
SCD13: Shopware goes responsiveSCD13: Shopware goes responsive
SCD13: Shopware goes responsive
 
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSAcceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
 
GWT
GWTGWT
GWT
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...
Activiti goes enterprise: Die Evolution der BPM Suite aus Sicht des Alfresco ...
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEEMVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performance
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der Zukunft
 

Destacado

Presentació app IONotice AMPA Lola Anglada
Presentació app IONotice AMPA Lola AngladaPresentació app IONotice AMPA Lola Anglada
Presentació app IONotice AMPA Lola AngladaAMPALolaAnglada
 
DVLP.JOBS Fachkräfte aus Spanien
DVLP.JOBS Fachkräfte aus SpanienDVLP.JOBS Fachkräfte aus Spanien
DVLP.JOBS Fachkräfte aus SpanienDVLP_JOBS
 
Segunda avaliação do projeto Trapé
Segunda avaliação do projeto TrapéSegunda avaliação do projeto Trapé
Segunda avaliação do projeto Trapémineiroo
 
Immobilienmarketing über Facebook, Twitter & Co.
Immobilienmarketing über Facebook, Twitter & Co.Immobilienmarketing über Facebook, Twitter & Co.
Immobilienmarketing über Facebook, Twitter & Co.Minou Tikrani
 

Destacado (10)

Presentació app IONotice AMPA Lola Anglada
Presentació app IONotice AMPA Lola AngladaPresentació app IONotice AMPA Lola Anglada
Presentació app IONotice AMPA Lola Anglada
 
Livro
LivroLivro
Livro
 
Población mundial
Población mundialPoblación mundial
Población mundial
 
DVLP.JOBS Fachkräfte aus Spanien
DVLP.JOBS Fachkräfte aus SpanienDVLP.JOBS Fachkräfte aus Spanien
DVLP.JOBS Fachkräfte aus Spanien
 
T folge11 ftt
T folge11 fttT folge11 ftt
T folge11 ftt
 
Segunda avaliação do projeto Trapé
Segunda avaliação do projeto TrapéSegunda avaliação do projeto Trapé
Segunda avaliação do projeto Trapé
 
Immobilienmarketing über Facebook, Twitter & Co.
Immobilienmarketing über Facebook, Twitter & Co.Immobilienmarketing über Facebook, Twitter & Co.
Immobilienmarketing über Facebook, Twitter & Co.
 
Resultados 2T06
Resultados 2T06Resultados 2T06
Resultados 2T06
 
Apresentação Resultados 1T10
Apresentação Resultados 1T10Apresentação Resultados 1T10
Apresentação Resultados 1T10
 
Jefferson dario
Jefferson darioJefferson dario
Jefferson dario
 

Similar a Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows ContainerThomas Wilhelm Wiefel
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 

Similar a Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks. (20)

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows Container
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Moderner Webentwicklungs-Workflow
Moderner Webentwicklungs-WorkflowModerner Webentwicklungs-Workflow
Moderner Webentwicklungs-Workflow
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 

Más de David Jardin

(Unit )-Testing for Joomla
(Unit )-Testing for Joomla(Unit )-Testing for Joomla
(Unit )-Testing for JoomlaDavid Jardin
 
Joomla! in der Profiliga - eine Bestpractice-Sammlung
Joomla! in der Profiliga - eine Bestpractice-SammlungJoomla! in der Profiliga - eine Bestpractice-Sammlung
Joomla! in der Profiliga - eine Bestpractice-SammlungDavid Jardin
 
10 Tricks für Entwickler
10 Tricks für Entwickler10 Tricks für Entwickler
10 Tricks für EntwicklerDavid Jardin
 
Migration joomla 1.5 : 2.5
Migration joomla 1.5 : 2.5Migration joomla 1.5 : 2.5
Migration joomla 1.5 : 2.5David Jardin
 
CMS-Garden 2013 - How we brought Joomla! to the CeBIT
CMS-Garden 2013 - How we brought Joomla! to the CeBITCMS-Garden 2013 - How we brought Joomla! to the CeBIT
CMS-Garden 2013 - How we brought Joomla! to the CeBITDavid Jardin
 
Joomla! Organisationsstruktur
Joomla! OrganisationsstrukturJoomla! Organisationsstruktur
Joomla! OrganisationsstrukturDavid Jardin
 
Joomla! Versionsstrategie
Joomla! VersionsstrategieJoomla! Versionsstrategie
Joomla! VersionsstrategieDavid Jardin
 
Content Construction Kit's für Joomla
Content Construction Kit's für JoomlaContent Construction Kit's für Joomla
Content Construction Kit's für JoomlaDavid Jardin
 

Más de David Jardin (12)

Der CMS-Garden
Der CMS-GardenDer CMS-Garden
Der CMS-Garden
 
(Unit )-Testing for Joomla
(Unit )-Testing for Joomla(Unit )-Testing for Joomla
(Unit )-Testing for Joomla
 
Joomla! in der Profiliga - eine Bestpractice-Sammlung
Joomla! in der Profiliga - eine Bestpractice-SammlungJoomla! in der Profiliga - eine Bestpractice-Sammlung
Joomla! in der Profiliga - eine Bestpractice-Sammlung
 
Der J&Beyond e.V.
Der J&Beyond e.V.Der J&Beyond e.V.
Der J&Beyond e.V.
 
CMS-Garden
CMS-GardenCMS-Garden
CMS-Garden
 
10 Tricks für Entwickler
10 Tricks für Entwickler10 Tricks für Entwickler
10 Tricks für Entwickler
 
Migration joomla 1.5 : 2.5
Migration joomla 1.5 : 2.5Migration joomla 1.5 : 2.5
Migration joomla 1.5 : 2.5
 
CMS-Garden 2013 - How we brought Joomla! to the CeBIT
CMS-Garden 2013 - How we brought Joomla! to the CeBITCMS-Garden 2013 - How we brought Joomla! to the CeBIT
CMS-Garden 2013 - How we brought Joomla! to the CeBIT
 
Joomla! Organisationsstruktur
Joomla! OrganisationsstrukturJoomla! Organisationsstruktur
Joomla! Organisationsstruktur
 
SEBLOD CCK
SEBLOD CCKSEBLOD CCK
SEBLOD CCK
 
Joomla! Versionsstrategie
Joomla! VersionsstrategieJoomla! Versionsstrategie
Joomla! Versionsstrategie
 
Content Construction Kit's für Joomla
Content Construction Kit's für JoomlaContent Construction Kit's für Joomla
Content Construction Kit's für Joomla
 

Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.

  • 1. Nooku Server, Molajo & Co. Joomla! Forks. Oder Distributionen. David Jardin - SistaSystems - JoomlaDay Deutschland 2011
  • 2. Ich • David Jardin, 21 • gelernter Abiturient • Webentwickler • Joomla!-Freak • Stellv. Vorsitzender Mambo e.V.
  • 3. Ein Fork. Konfuzius sagt: „Eine Abspaltung (auch Fork) ist in der Softwareentwicklung ein Entwicklungszweig nach der Aufspaltung eines Projektes in zwei, wobei Teile des Quelltextes und seiner Historie kopiert werden und dann unabhängig von dem ursprünglichen Projekt weiterentwickelt werden“ Quelle: Wikipedia
  • 5. Eine Distribution. Konfuzius sagt: „Eine Distribution ist eine Zusammenstellung von Software, die als Komplettpaket weitergegeben wird. Quelle: Wikipedia
  • 6.
  • 7. • Entstanden aus der „All together as a whole“- Initiative (ataaw.org) • kleines aber feines Team • als Distribution geplant, jetzt Applikation basierend auf der Joomla! Plattform • Ziel: Joomla 1.7 mit mehr Nutzerfreundlichkeit
  • 8. Bestandteile • Vereinfachung des ACL Systems • Verbesserung des MVC Frameworks • Construct Template Framework • Verbesserungen des Routers • Minima Admin Template • Integration der Admin Tools
  • 9. Construct Template Framework • schlankes Template Framework • 40 Modulpositionen • Mobiloptimierung • erweiterte Template Overrides: z.B. ein Override für eine bestimmte Kategorie
  • 10. Minima Template Selber gucken.
  • 11. Nooku Plattform Basis für den Betrieb von Webanwendungen Nooku Nooku Nooku Server Framework Desktop Fork/Distribution MVC RAD Desktop Client von Joomla 1.5 Framework zur Administration
  • 13. „Es war einmal...“ • Relaunch für die belgische Polizei • Bedarf einer Multisite Version von Joomla -> Nooku Server • Bedarf eines MVC Frameworks zur Erweiterungsentwicklung -> Nooku Framework • Veraltete Behördenrechner -> Nooku Desktop
  • 14. Nooku Framework „a new brain for Joomla!“
  • 15. Nooku Framework • objektorientiertes MVC Framework • nutzt keine Joomla! Bibliotheken • RESTful Architektur • basierend auf aktuellen Designpatterns • schlank und flexibel • DRY-Konzept
  • 16. easybook.php vorher <?php defined( '_JEXEC' ) or die( 'Restricted access // Require the base controller require_once( JPATH_COMPONENT.DS.'controller.php' ); // Require specific controller if requested if($controller = JRequest::getWord('controller')) { $path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php'; if (file_exists($path)) { require_once $path; } else { $controller = ''; } } // Create the controller $classname = 'EasybookController'.$controller; $controller = new $classname( ); // Perform the Request task $controller->execute( JRequest::getVar( 'task' ) ); // Redirect if set by the controller $controller->redirect(); ?>
  • 17. easybook.php nachher // Create the controller dispatcher echo KFactory::get('site::com.easybook.dispatcher')->dispatch();
  • 18. controller.php vorher class EasybookControllerEntry extends EasybookController { /** * Edit a entry and show the edit form * * @acces public * @since 1.5 */ function edit() { $user = & JFactory::getUser(); // Make sure you are logged in if ($user->get('aid', 0) < 1) { JError::raiseError( 403, JText::_('ALERTNOTAUTH') ); return; } JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); $model =& $this->getModel('entry'); $model->checkout(); parent::display(); } ... 137 Zeilen
  • 19. controller.php nachher class ComEasybookControllerEntry extends KControllerService { } 3 Zeilen
  • 20. Eigene Erfahrungswerte • 70-80% weniger Code • 50% kürzere Entwicklungszeit • mehr Flexibilität • mehr Spaß
  • 21. Nooku Server • ursprünglich Multi-Site Version von Joomla 1.5 • hat sich zum Joomla 1.5 Fork entwickelt • „Joomla 1.5“ auf Diät • kein Legacy Layer, Pat Template, XML-RPC • 45% weniger Code! • Reduzierung auf Kern-Funktionalitäten
  • 23. Nooku Desktop • Desktop Applikation zur Administration von Nooku Server Seiten • bringt eigene Rendering Engine mit • sehr rudimentäres Tool • „klickibunti“-Feeling für den Endkunden
  • 24. Links Nooku.org Molajo Minima David Jardin @snipersister www.sistasystems.de

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n