Chapter 1. Introduction

Table of Contents

1.1. Intended audience
1.2. What is eBox?
1.3. Terminology
1.4. How a module works
1.5. A Model-View-Controller module
1.5.1. Model creation User input management
1.5.2. Model view
1.5.3. Data model publishing and access
1.5.4. When is this approach suitable?

1.1. Intended audience

This guide is written for developers interested in writing new modules with new features for eBox, and for those who need to change or extend the base eBox framework.

eBox is written in perl and is mostly object-oriented. It is assumed that readers know how to write object oriented programs in perl. Some features of the language or the libraries used in eBox may be discussed, but no attempt has been made to document those aspects throughly.

Some experience writing object oriented applications and using design patterns in any language should be useful, but you should be fine just with the basic concepts of object oriented programming.

An effort has been made to provide examples for all aspects of eBox development explained in this guide. Most of them come straight from existing and working modules. Furthermore, a complete module is developed step by step in Chapter 8. It's a real module so that chapter should cover all the parts of a complete and working module.