GMail Sender header problem and using other domains

I've been using GMail for a while now as an SMTP server to send my e-mails from other domains, no matter where I am going. What I realized later is that most of the e-mails I send are getting seen as sent by my account @gmail.com, while I'm actually trying to send them as if they were sent from @dokeos.com. Well, apparently the whole thing is quite compromised.

Why using partial strings for translations is not a good idea

This article is clearly at level "piece of cake" for those of you working day to day with UTF-8 and unicode headaches, but I have plenty of problems with my own team to explain why they should never put a string like this:
$SomeString = "This value must not be inferior to";
in the Dokeos translations system, but they never learn :-) This would later appear in the code as something close to:
echo get_lang('SomeString');
and this would make it available in all the supported languages (if translated by a good will in his own language). So here i

PclZip and gzopen64()

I have updated my system early to Ubuntu 9.10 (Karmic Koala) and, to my surprise, there is a little change that could cause dramatic problems in Zlib (library dealing with compressed data). The gzopen() function has been changed to gzopen64(). This means that all calls to gzopen() in the PHP bindings for that library should probably be modified to use gzopen64(). In Dokeos, we use PclZip 2.6, which doesn't use gzopen(), apart from a check to see if the zlib extension is installed or not.

Boys with toys...

I'm always surprised at what horrible things web developers can actually do in their work just to use AJAX stuff. I won't hurt anyone because there would be many useless deaths, but guys... use your head! A user wants interfaces to look nice, but not to hide the whole screen while reloading a single block (where's the point of using AJAX?), and they don't want to have to click on every single element to extend it just to be able to see data, either.

Chamilo sessions

For those of you who never really understood how Chamilo sessions work, here is a nice diagram (composed by Michela a long time ago) of the whole idea. [caption id="attachment_651" align="aligncenter" width="450"]Image removed. Sessions in Chamilo[/caption]

Don't use true filenames on your server

In a recent meeting with the Dokeos 2.0 team, I realized that sometimes things are not quite evident. One of these cases that can only be understood with experience is that there's no use in allowing a user to upload files and keep the true filenames on the server's disk. In fact, it is quite a bigger problem to do that instead of changing the filenames and storing files as hashes.

Reason 1: Avoid security issues

When uploading a file to the server, you will have filters in place (won't you?).

Dokeos IRC channel outbeats Moodle channel

The IRC channel of Dokeos now outbeats the Moodle channel both in terms of responsiveness and in terms of users (up to 40 users yesterday). This comes after I decided about a month ago that we should show a little more openness to the world as a group of developers, and should have a real-time interaction channel for all people wanting to ask something quick about Dokeos. There's support for English, Dutch, French and Spanish questions already. Come and join us on irc.freenode.net - #dokeos !

Running OpenERP 5.0.3 from sources on Ubuntu 8.10

$ bzr clone lp:openerp $ cd openerp $ ./bzr_set.py -r tag:5.0.3 ../5_0_3 $ cd ../5_0_3/
Open one terminal for the server
$ cd server/bin/
(make sure you have a "terp" user on your system, and that you're logged as this user, and that there is a "terp" database in your PosgtreSQL server)
$ sudo su terp
$ ./openerp-server.py --db_user=terp --db_host=localhost
Open another terminal for the web client
$ cd web/lib/
$ ./populate.sh
(this will insta