SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
Daniel Havlik
 
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
OPEN KNOWLEDGE GmbH
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performance
nikflip
 
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
Creasoft AG
 

Tendances (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
 

En vedette (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
 

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

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
dominion
 
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
Sandro 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 Docker
Steven 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 session
Virttoo org
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
 
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
Florian Holzhauer
 

Similaire à 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
 

Plus de David Jardin

Joomla! Organisationsstruktur
Joomla! OrganisationsstrukturJoomla! Organisationsstruktur
Joomla! Organisationsstruktur
David Jardin
 

Plus 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

Notes de l'éditeur

  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