Moving a WordPress site: Changing URL and/or sub-folder from the command line

When maintaining a WordPress site, you might find it challenging to find the settings to update to properly convert your site from one URL to another, or from a root directory to a sub-directory.

For example, you might want to update the site of an event that happens every year, where previous years will be relocated to /year/ while the current event occupies the main domain...

This is a short reminder list of what should be updated. This covers sites with multi-site configured.

Installation guide for Chamilo 1.11.16 on Digital Ocean with PHP7.4

This guide will take you through the process of installing the Chamilo e-learning portal, version 1.11.16 on a fresh Digital Ocean instance, on an Ubuntu 20.04 64bit distribution To follow this guide, you should be familiar with the notion of SSH keys and installing/configuring server software on Ubuntu. Previous articles on this blog explain how to install Chamilo 1.9 using Juju Charms, how to install 1.10.2 on Ubuntu 15.10, 1.10.* on Ubuntu 16.04 and 1.11.* on Ubuntu 17.04.

Using Chamilo for MOOCs

Although the hype around MOOCs has faded a bit already, these Massively Open Online Courses are now part of the daily internet products or services you can invest in to make your professional or personal life better in the short, medium or even long term. But where some platforms like EdX clearly specialize in MOOCs, some people ask us whether Chamilo is ready for MOOCs.

Why is the Chamilo package so big?

In recent years, the Chamilo LMS software we develop has grown in size, to something that many people might consider unreasonable (to some extent, we do too). This article explains why the Chamilo package for Chamilo 1.11.8 weighs 1100MB (yeah, 1.1GB!) or, in its compressed form, about 285MB. We've heard comments of many people about this. These usually go like this:

Why so many settings in Chamilo's configuration.php?

If you install Chamilo 1.11.6, for example, and dive into the details of its configuration, you might get confused by the fact that we have a "settings_current" table in the database at the same time as we have a (large) number of settings to be enabled through the app/config/configuration.php file. This boils down to one rule that we have established in Chamilo: minor versions do not contain database changes.

Major versus Minor versions

So the first question is: what is a "minor" version.

Installation guide for Chamilo 1.11.4 on Digital Ocean with PHP7

This guide will take you through the process of installing the Chamilo e-learning portal, version 1.11.4 on a fresh Digital Ocean instance,on an Ubuntu 17.04 64bit distribution (also works with minor changes with Ubuntu 18.04) To follow this guide, you should be familiar with the notion of SSH keys and installing/configuring server software on Ubuntu 16.*, 17.* or 18.*. Previous articles on this blog explain how to install Chamilo 1.9 using Juju Charms, how to install 1.10.2 on Ubuntu 15.10, and 1.10.* on Ubuntu 16.04.

Assignments in LMS: How to cope with disk space issues

In this article, we'll talk about managing an LMS when all institutional assignments handed in by students have to be handed in through the LMS, and what that means if you have several thousand students. This case is based on one of our customers which provides in-class English courses to about 55,000 students in a monthly cycle. The institution started working with us in 2012, so it's already been 5 years since we've started developing their custom Chamilo LMS setup.

Remove permanent redirect (HTTP 301) cache in Firefox

As a web developer configuring SSL certificates on websites you deliver, as we do, you might be faced, one day, with a small issue about configuring a 301 redirect from HTTP to HTTPS that has to be reverted. It so happens that browsers *really* take it to heart to cache an HTTP 301 (permanent redirect) message seriously and deeply. So much so that it might become very difficult to remove this redirect and ever be able to access the site in HTTP again.