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

Preview:

DESCRIPTION

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

Citation preview

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 ist eine Zusammenstellung von Software, die als Komplettpaket weitergegeben wird.

Eine Distribution.

Konfuzius sagt:

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

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<?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();

?>

easybook.php nachher

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

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

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

@snipersisterwww.sistasystems.de