Development Guide

Functions

About this Document

Purpose of this document
The purpose of this document is to support the development of new features for ILIAS. It offers guidance on the process  for everyone that wants to participate in proposing, discussing, testing and maintaining functionality of ILIAS.
 
For developers it contains a lot of conventions that need to be respected, when they add new code. The biggest part contains information of the different programming concepts in ILIAS.
Relation to other documents
A lot of documentation has been moved to README.md files in the main ILIAS code repository in the past. Thus a better starting point for current development documentation may be https://github.com/ILIAS-eLearning/ILIAS/blob/trunk/docs/development/README.md.

However this document contains a) documentation that has not been moved to README files yet and b) documentation on legacy concepts, that are still being used in the ILIAS code.

Other supplementary documentation:
Change Log
Date
Version
Change
Author
28 June 2009
7.3
Added chapter on code templates
Alex Killing
6 August 2009
7.4
Added page on standard user name presentation
Alex Killing
13 August 2009
7.5
Updated repository object plugin example
Alex Killing
1 September 2009
7.6
Added data table filter documentation
Alex Killing
7 September 2009
7.7
Added setDisableFilterHiding() method to table filters.
Alex Killing
16 October 2009
7.8
Fixed repository plugin example due to bug Latest change was due to Bug 5347.
Alex Killing
21 December 2009
7.9
Another fix in the repository plugin example. Missing break; in ilObjExampleGUI
Alex Killing
3 May 2010
7.10
Revised docu on tabbed menues
Alex Killing
30 June 2010
7.11
Added chapter on Import/Export
Alex Killing
1 July 2010
7.12
Added "selectable columns" feature description to "Data Tables" chapter.
Alex Killing
7 Sep 2010
7.13
Added "Getting involved as Developer" page. Updated several pages in the introduction chapter. Marked outdated information.
Alex Killing / Matthias Kunkel
15 Mar 2011
7.14
Added CSS Guidelines
Stephan Heller / Alex Killing
28 Mar 2011
7.15
Updated repository plugin example
Alex Killing
6 May 2011
7.16
Updated the chapter on testing
Alex Killing
22 Jun 2011
7.17
Added user interface plugin slot documentation
Alex Killing
24 Nov 2011
7.18
Revision of introduction, added $ilCtrl documentation, revised some other pages.
Alex Killing
21 Dec 2011
7.19
Added chapter on exceptions
Alex Killing
14 Feb 2012
7.20
Added chapter on event handling
Jörg Lützenkirchen
10 Jan 2013
7.21
Updated SVN server information (chap 4)
Matthias Kunkel
6 Apr 2013
7.22
Added chapter on Explorer2 service
Alex Killing
26 June 2013
7.23
Added chapter on Cloud-Module Plugins
Timon Amstutz
26 May 2014
7.24
Added chapter an ActiveRecords
Fabian Schmid
30 July 2014
7.25
Added chapter on Test Question Plugins
Fred Neumann
1. Mai 2015
7.26
Revised "Repository Object Plugin" Section for ILIAS 5.0
Timon Amstutz
07 June 2015
7.27
Revised "The Development Process" and updated steps and descriptions
Matthias Kunkel
04 April 2017
7.28
Revised "CSS/Less Guidelines" and linked Guideline in Repo
18 August 2017
7.29
Revised chapter "PDF Generation"
Added plugin slot documentation "PDF Renderer Plugin" in "Plugins"
Maximilian Becker
28 May 2018
7.30
Revised description and example for Test Question Plugins
Fred Neumann