Skip to content

Chamilo Development Principles

Yannick Warnier edited this page Jan 21, 2021 · 1 revision

Chamilo Development Principles: Usability, efficiency, security

The development of Chamilo is governed by important principles that make Chamilo what it is. All official developers must know and follow these principles.

Usability

One of the main advantages of Chamilo is that it is more usable than other comparable software. Users (particularly teachers) love the simplicity of using Chamilo.

As such, it is important to make sure that, whatever the feature we develop or improve, we continue offering an interface that can easily be understood, at least for all common features.

If some button or option isn't clear, there should be a text explaining what it does.

If an option is not used anymore, it should be removed, so as to not "clog" the interface with useless elements that will occupy screen "real estate". Space is scarce, we should optimize its use.

Efficiency

A slow system is not a pleasant system. Having fast page loads will help your users be happy and use the system more often.

While you can always improve your e-learning platform efficiency afterwards by "adding more metal" to its infrastructure, we believe thinking about efficiency at the code level is much more efficient and can save a lot of money to our whole community.

As such, we continuously optimize our code for efficiency. At the time of writing, but also in subsequent reviews of the code. Search our Git history for "optim", "speed" or "efficien" to get an idea.

If you get into very large numbers of users, you can always use our guide to optimization of your infrastructure here: https://campus.chamilo.org/documentation/optimization.html

This is in no way a replacement, however, to saving processing loops by developing better code!

Security

Security is paramount if Chamilo users are to trust the software. Letting unauthorized people access (read/modify/delete) confidential or personal information is NOT OK and we have a industry-leading active response to reported security vulnerabilities. See our security issues list and secure development policy here: https://support.chamilo.org/projects/chamilo-18/wiki/Security_issues

Clone this wiki locally