This document describes the development process in icinga-web and should help beginners to dive into hacking. Icinga-Web is, like every living open source project, always a work-in-progress. We try hard to keep this document up to date, but if you find anything that isn't up to date anymore, let us know.
- Getting ready for hacking
A short introduction in the frameworks and techniques used for icinga-web and how to start.
- Introduction to agavi: My first module
A short trip in the world of MVC-Programming with agavi, creating modules, actions, routings and config files
- Database Essentials: Using Icinga-Web and Doctrine to fetch data
How Doctrine is integrated in icinga-web and how to use it without too much effort
- The Icinga-HTTP Api
How to use the HTTP Api powering tools like our Icinga-Mobile interface
- Creating Cronks
An explanation of Cronks, which are the fundamental part of icinga-web's presentation logic, and how to create/modify your own cronks.
- Creating Modules
Explains how to create your own modules on top of the icinga-web authentication and data-stack which can be seamlessly integrated in the frontend.
- Expert Database: Implement your own DataSource as a DataStore
Tells you how to create your own datastore, including custom filters, sorting, etc. This is not database specific, as you can use any data source.
- Taking it further: Exporting DataStores (Icinga-Web >= 1.6)
A description of the JSDescriptor methods, which allow you to create/change datasources on the server-side and use them on the client side without touching any data-specific code.