eBox MVC architecture

eBox MVC architecture

By Isaac Clerencia
Date: Tuesday, 4 August 2009 14:00
Duration: 40 minutes
Target audience: Technical Perl
Tags: architecture controller development framework model view

Javier Uruen (eBox lead developer)
Isaac Clerencia (eBox developer)

eBox Platform (http://ebox-platform.com) is a web-based application and development framework, based on the Ubuntu Linux computer operating system, intended to manage services in a computer

It offers a layer of abstraction and management, accessible through a simple web interface, and also a simplified development environment for new features or customization. It consists of around 120000 lines of Perl at the moment and it's still under development with six full-time developers.

In the beginning we used a very primitive CGI-based solution which was really error-prone and required a lot of code, including writing HTML and manually writing CGIs.

After a while we started developing a highly-integrated full-fledged Model-View-Controller
architecture which allows to develop new modules without writing a single line of HTML or Javascript.

This talk explains how we worked at the beginning, the problems we faced and how we solved these problems with a problem-specific MVC framework.

This is some of our documentation on how to write an eBox module using the new framework:

Attended by: Isaac Clerencia, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (‎daxim‎), Martin Schipany (‎ElCondor‎), Jesse Vincent, Maciej Czekay (‎Bruno‎), Jozef Kutej (‎jozef‎), Mário Barbosa, Stan Sawa, Mark Stewart, Marco Neves (‎themage‎), Solli Honorio (‎shonorio‎), Carlos Juan Diaz (‎cjuan‎), Adilson Barros, Enrique J Hernandez Blasco (‎sixstone‎), Hugo Costa, Braceta, Luis Rodrigues (‎goblin‎), Christian Westgaard (‎ComLock‎), Luís Mendes (‎big‎), Edmund von der Burg (‎evdb‎), Jose Plana, Rui Patinha (‎rfp‎),