Development Guide
Getting Involved as Developer
We highly appreciate new developers who want to contribute to code and community. But we have to guarantee the sustainability and the quality of the ILIAS source code. The system is complex for new developers and they need to know the concepts of ILIAS that are described in the development guide.
Communication among developers that are working on a specific module needs to be assured. Final decision about getting write access to the ILIAS development system (GitHub repo) is handled by the ILIAS product manager.
The following rules must be respected for everyone involved in the programming of ILIAS:
- Decisions on new features or feature removals are made by the responsible maintainer and the product manager in the Jour Fixe meetings after an open discussion.
- All components have either one or more coordinators or a first (and sometimes a second) maintainer, see list of maintainers. Code changes are usually done either by the first maintainer or by other developers who do pull requests against the ILIAS repository and get an approval for merge or a review to improve the PR.
Responsibilities of a component maintainer:
- Component maintainer should assure maintenance of their component for at least three years (approx. three ILIAS major releases).
- Component maintainers must agree to coordinate the development of their component with the product manager.
- Component maintainer are responsible for bug fixing of their component and get assigned related bugs automatically by the Mantis bug tracker.
Benefits of being component maintainer:
- Component maintainers have the priviledge to decide about the strategy of their component and often implement (or at least integrate) new features of their component for the ILIAS core / trunk.
Feature Maintainer:
- Feature maintainers are not responsible for a whole component, but only for one or more features of a component.
- Like component maintainers, they must assure maintenance of their features for three years. They also must agree to coordinate the development with the product manager and the first maintainer of the corresponding component.
Contribute to ILIAS as an external developer
- Non-core-developers can contribute to the ILIAS-Core by sending Pull-Requests on Github. Pull request will be assigned to the responsible developer of the component (Maintainer). The maintainer can merge the pull requests (bugfixes or outsourced features), but he also has the right to decline pull requests.
- Please read the document contributing.md if you want to contribute to the ILIAS code base. You find it also in the ILIAS source code in /docs/development.
How to get write access to the ILIAS repository:
- Component and feature maintainer will be added to the Core Developer Group in the Github repository on https://github.com/ILIAS-eLearning/.
How to be notified about current development activities:
- Activate notifications about commits to the ILIAS repository in GitHub: https://github.com/settings/notifications
- Subscribe to the mailing list for ILIAS developers to get infos about new releases and important changes in ILIAS: https://lists.ilias.de/cgi-bin/mailman/listinfo/developers
- Discussion of development topics only takes place in the Developer forum at https://docu.ilias.de/goto_docu_frm_5386.html
- Join us at the bi-annual ILIAS development conference: https://docu.ilias.de/goto_docu_grp_3721.html and have a look at the Jour Fixe minutes regulary: https://docu.ilias.de/goto_docu_wiki_wpage_391_1357.html