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