OpenSondage, find the best timeslot for your meeting

11th Jul 2014 Karibu

I’m free Monday from 9am to 11am, then full tuesday

Me, I’m free Tuesday morning

Oh and Me, I’m only free Monday afternoon

Does it sounds familiar? Who never had schedules conflicts to organize a meeting, to meet with friends, or simply to organize a little something…although sending email back and forth or calling all of them could work….it’s not very efficient.

And here is where OpenSondage show up!

OpenSondage, based on STUdS, is a web based application that let you schedule a meeting or create a poll where all the participant can share their available time (Monday 9am to 11am, etc…) or preferences (Chinese food, Mexican, French, Italian,…).

By having a central platform, you will directly know which date or restaurant suit most of participants.

Opensondage screenshot

Framadate have been developing this project and offer it as a free service.

But obviously, I’m only interested in self hosting this application on my own server, for my own use. If you want to do the same, here is how.



1) Install the required libraries

OpenSondage requires ADOdb, fpdf and gettext and at the same time, we will need git to clone their repo.

To install them, simply run as root (or with sudo):

apt-get install php5-adodb php-fpdf php-gettext git

2) Clone their git repository into your /var/www

cd /var/www
git clone

3) Create a MySQL database (or postgresql)

The easiest will be to use phpmyadmin or adminer.

You can call it opensondage with the user opensondage for example

4) Execute the SQL script called install.mysql.sql

Here again, you can directly use phpmyadmin, log in the database and copy/paste the script in the SQL section.


5) Configure OpenSondage

You need to configure the database info, URL, name of the service, etc….

All that can be done in the file called variables.php. Unfortunately the file is mostly in french.. but pretty straightforward. Anyway, I will share mine for inspiration.

cd OpenSource
cp variables.php.template variables.php
nano variables.php

What is important to modify is:

– const BASE (Name of the database), opensondage in our case

– const USERBASE (Username of the database)

– const USERPASSWD (Password of your database’s username)

– const SERVEURBASE (Database server name, leave it blank if installed in local)

– const BASE_TYPE (Database type, mysql in my case)

– const LANGUE (Language, en_GB will do the trick!)

then the rest is optional.

Here is my variables.php file for your reference:

// Nom du serveur
const STUDS_URL = '';

// Nom de l'application
const NOMAPPLICATION = "OpenSondage -";

// adresse mail de l'administrateur de la base

// adresse mail de reponse lors de l'envoi de messages automatique (il est conseille d'utiliser une adresse de "no-reply")

// nom de la base de donnees
const BASE = 'opensondage';

// nom de l'utilisateur de la base
const USERBASE = "opensondage";

// passwd de l'utilisateur de la base
const USERPASSWD = 'opensondage';

// nom du serveur de base de donnees, laisser vide pour utiliser un socket
const SERVEURBASE = '';

// Type de base de données à utiliser (mysql, postgres, ...)
const BASE_TYPE = 'mysql';

// Langue par défaut de l'application (à choisir dans $ALLOWED_LANGUAGES)
const LANGUE = 'en_GB';

// Nom et emplacement du logo
const LOGOBANDEAU = '<chemin relatif suivi du nom du fichier du logo pour le bandeau>';

// Nom et emplacement du logo de la lettre générée en PDF
const LOGOLETTRE = '<chemin relatif suivi du nom du fichier du logo pour la lettre>';

// Nom et emplacement du fichier image contenant le titre
//const IMAGE_TITRE', '<chemin relatif suivi du nom du fichier image du titre>';
const IMAGE_TITRE = 'images/logo-framadate.png';

// Activation des URL propre (true pour activer, false sinon)
const URL_PROPRE = false;

// Utilisation de l'identité (REMOTE_USER) fournie par le serveur web
const USE_REMOTE_USER = true;

if (@file_exists('variables.local.php')) {

// Studs version
const STUDS_VERSION = 0.7;

// Do not edit the following
$ALLOWED_LANGUAGES = array('fr_FR' => 'french',
 'en_GB' => 'english',
 'es_ES' => 'spanish',
 'de_DE' => 'german' );

Save the file (CTRL +X) and you should be good to go!

Simply access to http://YourIP-or-domain/OpenSondage


Loves to discover web-based apps to install on his own server@home and write articles about it


Add a comment