Roundcube : plugin de gestion des vacations
- Mardi 27 octobre 2009
- Publié dans Réalisations
- Par Boris HUISGEN
- Ecrire
Voici la nouvelle version de mon plugin de gestion des répondeurs pour RoundCube version 0.3. Elle s’appuie à présent sur l’API plugin de RoundCube, ce qui permet une installation en moins de cinq minutes. Au niveau des nouveautés, les drivers de stockage permettent une configuration sur mesure. Sont fournis le driver SQL et le driver LDAP qui couvrent entre autres l’utilisation de PostfixAdmin et Gnarwl. Si cela ne suffit pas, à vous de coder votre driver !
plugin-vacation-0.3-20091008.tar.gz
ChangeLog :
- support de l’API plugin RC.
- driver de stockage : SQL, LDAP.
- support des messages au format HTML.


Bonjour,
D’abord merci pour ce plugin.
Je l’installe sans pb, mais j’ai erreur de traitement à l’utilisation, cela vient du fait que je n’ai pas bien paramétrer le fichier de config.
Si je choisi le driver sql, il faut créer je pense la table vacation dans une base de donnée?
Quelles sont les champs ? et le type ?
Avez vous éventuellement une requête SQL ?
Merci de m’aiguiller …
Cordialement dominique martineau
Vous pouvez utiliser l’outil suivant et son schéma : http://postfixadmin.sourceforge.net/
La structure de la table vacation est la suivante :
CREATE TABLE IF NOT EXISTS `vacation` (
`email` varchar(255) NOT NULL,
`subject` varchar(255) NOT NULL,
`body` text NOT NULL,
`cache` text NOT NULL,
`domain` varchar(255) NOT NULL,
`created` datetime NOT NULL default ’0000-00-00 00:00:00′,
`active` tinyint(1) NOT NULL default ’1′,
PRIMARY KEY (`email`)
) DEFAULT CHARSET=utf8′;
Les requêtes SQL sont celles fournies par défaut.
N’oubliez pas que le téléchargement de la dernière version de rc-vacaiton est dispo ici : http://github.com/bhuisgen/rc-vacation/downloads
@Boris HUISGEN
Merci Boris, tant qu’a faire le boulet …
j’ai créé la table vacation dans la base vacation, j’ai créé un user vacation (tant qu’a faire) avec les droits sur la table MYSQL, dans le fichier config, j’inscris ça :
$rcmail_config['vacation_sql_dsn'] =
‘mysql://vacation:vacation@localhost/vacation’;
J’ai pas bon … erreur de connexion …
Un p’tit coup de main ?
Essaie une connexion en console. Ensuite active le debug log de roundcube et regarde si tu n’as pas une erreur avec le module PEAR MDB2/DB.
@Boris HUISGEN
J’ai une erreur :
[26-Mar-2010 17:21:34 +0100]: DB Error: _doConnect: [Error message: unable to establish a connection]
[Native code: 0]
** mysql(mysql)://vacation:xxx@IPSERVEUR/vacation in /var/www/webmail/program/include/rcube_mdb2.php on line 100 (POST /webmail/?_task=settings&_action=plugin.vacation-save?_task=&_action=)
@domi
J’ai pu trouver pour la connexion grâce au log merci.
Bonjour,
Merci pour ce plugins !
J’essaye de le mettre en place en utilisant le driver LDAP, mais lorsque je clique sur « répondeur » dans les paramètres, j’ai « erreur de traitement » qui s’affiche en rouge.
Dans le fichier de configuration est-ce que « %email_local » et « %email_domain » doivent être défini en dur dans le code ?
Merci d’avant pour vos réponses.
Ok j’avait une erreur dans le « objectClass= », je n’ai plus l’erreur de traitement mais l’agent d’absence ne s’active pas ( ou ne reste pas actif )
I have the next error:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MDB2 Error: no such table (-18): _doQuery: [Error message: Could not execute statement] [Last executed query: DELETE from vacation_notification WHERE on_vacation='prueba@artevia.com';] [Native code: 1146] [Native message: Table 'da_roundcube.vacation_notification' doesn't exist]
DB Error: MDB2 Error: no such table Query: _doQuery: [Error message: Could not execute statement] [Last executed query: DELETE from vacation_notification WHERE on_vacation='prueba@artevia.com';] [Native code: 1146] [Native message: Table 'da_roundcube.vacation_notification' doesn't exist] in /var/www/html/roundcubemail-0.3.1/program/include/rcube_mdb2.php on line 627 (POST /roundcube/?_task=settings&_action=plugin.vacation-save?_task=&_action=)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Can you confirm what is the structure of vacation table??
Thanks!
@Roberto
This is the schema of the vacation table from postfixadmin (the schema is included in his package) :
CREATE TABLE IF NOT EXISTS `vacation` (
`email` varchar(255) NOT NULL,
`subject` varchar(255) NOT NULL,
`body` text NOT NULL,
`cache` text NOT NULL,
`domain` varchar(255) NOT NULL,
`created` datetime NOT NULL default ’0000-00-00 00:00:00′,
`active` tinyint(1) NOT NULL default ’1′,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’Postfix Admin – Virtual Vacation’;
@Boris HUISGEN
Sorry, i didn’t see the schema in the package.
But the error show « Table ‘da_roundcube.vacation_notification’ doesn’t exist », it’s not neccesary create notification field?
Thanks!
I have just created the table ‘vacation_notification’:
CREATE TABLE `vacation_notification` (
`on_vacation` varchar(255) NOT NULL,
`notified` varchar(255) NOT NULL,
`notified_at` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`on_vacation`,`notified`),
CONSTRAINT `vacation_notification_ibfk_1` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’Postfix Admin – Virtual Vacation Notifications’
But now the error is « Table ‘da_roundcube.alias’ doesn’t exist », what’s the schema of alias table?
Thanks!
Download and install postfixadmin. The installation creates the schema. The vacation script is included in the package.