If you're developing PHP software today but studied PHP based on old-ish manuals or manuals written by people who did, you might find a mix of calls to dirname(__FILE__) and __DIR__ and wonder what the difference is...
This article can be considered an update of our first article on installing Chamilo (on a Raspberry Pi B+). This time, we are testing it with Raspberry 3, as of the 1st of April 2017 (no joke intended). Last time, we were testing with Chamilo 1.9, which is arguably less load-intensive, considering it doesn't include any Symfony component, and it doesn't require any .htaccess configuration.
There is a surprising number of cases where you'd want to change the URL of a Chamilo portal, but the more common we see is when you take a backup copy of a portal and want to use that copy to build a new test portal. Obviously, if you keep the same URL, you're going to have difficulties having them both running at the same time. Chamilo is not good at managing several URLs (although another article on this blog will help you do that), and even less good at managing a dynamic URL, so there are 3 necessary steps to change the URL (this is valid at least until version 1.11 of Chamilo).
Ergonomics and usability with Chamilo LMS. Sometimes Open Source software gets criticized for lacking behind proprietary software when talking about compelling interfaces. Many people in our community, after spending years with other solutions, describe our software, Chamilo LMS, as the easiest to use and to manage. We would like to take this opportunity to explain what lead us there. This all starts with a simple act: caring about ergonomics from the start.
Understanding the differences between Chamilo (LMS), BeezNest and the Chamilo Association
Truth be told, we didn't do a lot of efforts to make this clear in the past, but as Chamilo LMS growth more popular and the business needs around Chamilo increase considerably, I feel like things should be set straight to avoid confusion and to make sure that anybody can find a valid reference to any answer they might have to give in a speech or a simple meeting with other interested third parties. Let's first proceed chronologically...
This guide will take you through the process of installing Chamilo 1.10 (from Github sources) for testing on a fresh Digital Ocean instance, on an Ubuntu 16.04 distribution. A previous article on this blog explains how to install Chamilo 1.9 using Juju Charms and another article explains how to install 1.10.2 on Ubuntu 15.10.
If you design your icons in SVG with Inkscape and wonder how to quickly make an "inactive" icon in grayscale, here's a quick fix (at least for Linux users):
inkscape -f teacher_na.svg --verb EditSelectAll --verb org.inkscape.color.desaturate.noprefs --verb FileSave --verb FileQuit
This will edit your file in-place (so you need to take a copy first) and will require Inkscape to be launched, but all in all, this will make you save a lot of time.
For those of you looking for a guide to install Chamilo 1.10 on CentOS, have a look here for a great community contribution by Arun Pyasi: http://linoxide.com/tools/setup-chamilo-e-learning-system-ubuntu-15-04-centos-7
If you're ever stuck with broken tables in MySQL or MariaDB and you don't know which, you can use the mysqlcheck command to repair them all, one by one (you can also use the --optimize argument).
mysqlcheck -u root -p --auto-repair --all-databases
If you've been using or maintaining support for NuSOAP lately, you've certainly realized that it does not work properly anymore. This is because NuSOAP isn't maintained anymore, so a lot of things are bound to stop working as PHP versions drop support (or tolerance) for specific code. Well apparently, there are fixes around. Notably, for PHP 5.4, there's an error about converting an array to a string, in a debug message, that breaks it considerably when using arrays. You can fix that by commenting line 6133 of nusoap.php (the //$this->debug... line below)