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

24
Nooku Server, Molajo & Co. Joomla! Forks. Oder Distributionen. David Jardin - SistaSystems - JoomlaDay Deutschland 2011

description

My presentation about Joomla Distributions which i gave at the German JoomlaDay 2011 in Hamburg.

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

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

Nooku Server, Molajo & Co.

Joomla! Forks. Oder Distributionen.

David Jardin - SistaSystems - JoomlaDay Deutschland 2011

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

Ich

• David Jardin, 21

• gelernter Abiturient

• Webentwickler

• Joomla!-Freak

• Stellv. Vorsitzender Mambo e.V.

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

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

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

Bestes Beispiel:

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

„Eine Distribution ist eine Zusammenstellung von Software, die als Komplettpaket weitergegeben wird.

Eine Distribution.

Konfuzius sagt:

Quelle: Wikipedia

Page 6: Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Page 7: Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.

• 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

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

Bestandteile

• Vereinfachung des ACL Systems

• Verbesserung des MVC Frameworks

• Construct Template Framework

• Verbesserungen des Routers

• Minima Admin Template

• Integration der Admin Tools

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

Construct Template Framework

• schlankes Template Framework

• 40 Modulpositionen

• Mobiloptimierung

• erweiterte Template Overrides: z.B. ein Override für eine bestimmte Kategorie

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

Minima Template

Selber gucken.

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

Nooku Server

Fork/Distribution von Joomla 1.5

Nooku Framework

MVC RAD Framework

Nooku Desktop

Desktop Client zur

Administration

Nooku PlattformBasis für den Betrieb von Webanwendungen

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

Johan Janssens

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

„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

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

Nooku Framework

„a new brain for Joomla!“

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

Nooku Framework

• objektorientiertes MVC Framework

• nutzt keine Joomla! Bibliotheken

• RESTful Architektur

• basierend auf aktuellen Designpatterns

• schlank und flexibel

• DRY-Konzept

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

easybook.php vorher<?phpdefined( '_JEXEC' ) or die( 'Restricted access

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

// Require specific controller if requestedif($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();

?>

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

easybook.php nachher

// Create the controller dispatcherecho KFactory::get('site::com.easybook.dispatcher')->dispatch();

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

controller.php vorherclass 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

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

controller.php nachher

class ComEasybookControllerEntry extends KControllerService { }

3 Zeilen

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

Eigene Erfahrungswerte

• 70-80% weniger Code

• 50% kürzere Entwicklungszeit

• mehr Flexibilität

• mehr Spaß

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

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

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

Nooku Desktop

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

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

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

Links

Nooku.org Molajo Minima

David Jardin

@snipersisterwww.sistasystems.de