Sommaire : Monter son propre service de calendrier
Etape précédente : Afficher un calendrier dans Lightning
Un calendrier Free/Busy est un calendrier qui ne contient que les dates des événements: il ne comporte en particulier aucune précision sur les événements, aucun détail, on ne sait pas qui invite qui, etc.
Il s'agit d'une vue dépouillée d'un calendrier. Son but est de répondre à la question: "Le propriétaire de ce calendrier est-il disponible à une heure donnée ?"
Ce genre de calendrier est très utilisé en entreprise pour organiser des réunions, réserver des salles ou du matériel. Nous allons voir ici comment utiliser cette fonctionnalité.
Coté serveur
Je vais prendre pour exemple l'utilisateur marie, qui souhaite consulter le free/busy de l'utilisateur sarah.
Pour simplifier la configuration, je considère que Sarah a défini les droits FREE/BUSY
et SCHEDULE DELIVER
comme droits par défaut (voir ici comment faire). Elle a aussi coché la case Default Privileges pour son calendrier work_calendar.
Enfin, Sarah a défini son adresse email comme étant sarah_tatouille@mondomaine.fr.
Remarque : il semble qu'à un moment de l'existence de DAViCal, il fût nécessaire de définir les username comme valant la partie située à gauche de l'adresse email s'y rattachant. Autrement dit, l'username sarah aurait dû être associé à l'email sarah@mondomaine.fr. Le non-respect de cette règle ne m'a cependant pas posé de problème, et je prends cet exemple comme preuve.
Coté client
Pour consulter le free/busy d'un autre utilisateur, il est nécessaire de passer par le système des invitations.
Note : En effet, il est apparemment impossible de visualiser un free/busy de la manière recommandée (bug dans Lightning?).
Edit : une solution de contournement en utilisant les tickets est détaillée dans cet article.
Pour lancer une invitation, rien de plus simple. Il faut déjà créer l'événement :
- je lance Thunderbird et je vais dans l'onglet agenda;
- dans le menu Agendas (colonne à gauche du calendrier), je sélectionne le calendrier dans lequel l'événement sera créé (la ligne doit être surlignée) :
- puis je double-clique sur la case horaire dans le calendrier. La fenêtre Nouvel événement apparaît :
- j'insére les renseignements souhaités, je vérifie que le bon agenda est sélectionné, et je vérifie le jour et l'heure. Puis je clique sur Inviter des participants :
C'est ici que les adresses email prennent leur importance. En effet, elles servent d'identifiant unique à Lightning pour consulter les données du serveur DAViCal. Elles n'ont cependant pas besoin d'être réelles (comme dans mon exemple).
Finalement, je peux voir les free/busy des participants dont j'ai renseigné l'email.
Remarques :
- je conseille de mettre le zoom à 100% pour une meilleure visibilité;
- le fait qu'une personne soit occupée est purement informatif, et n'empêche en rien de programmer un événement au même moment.
Attention aux faux-positifs : Il y a un petit bémol à utiliser cette vue du free/busy : si Sarah a programmé un événement entre des heures pleines, son free/busy indiquera qu'elle est occupée pour la totalité des heures.
Par exemple : si Sarah programme un événement dans son calendrier de 09:30 à 11:15, alors Lightning me montrera son free/busy comme occupé de 09:00 à 12:00.
Il faut le savoir.
Finalement, je valide la liste des participants en cliquant sur OK
. Dans la fenêtre du Nouvel événement, je peux cliquer sur l'onglet Participants situé tout en-bas :
La case cochée Informer les participants sert à informer les participants via le serveur DAViCal. Pour les informer par email, je peux me servir du menu contextuel disponible via un clic-droit dans le cadre contenant les adresses emails des invités.
Pour finir, je sauvegarde l'événement en cliquant sur Enregistrer et fermer.
Sarah (entre autres) voit alors apparaître un événement en pointillés dans son logiciel client. En double-cliquant dessus, cette fenêtre apparaît :
Elle peut accepter ou non l'invitation, et la placer dans le calendrier de son choix. Si elle accepte, les pointillés disparaîssent.
Dans le cas où Sarah accepte l'invitation, Marie voit son événement actualisé ainsi :
Conséquences sur le serveur DAViCal
Le fait de lancer une invitation a déclenché, dans le compte utilisateur de marie sur le serveur DAViCal, la création d'une Collection :
- qui n'est ni un calendrier ni un carnet d'adresses;
- dont le Path est
/marie/.out/
; - dont le Display Name est Marie Outbox;
- qui a les droits par défaut.
Les propriétés de cette Collection sont définies dans la RFC 6638. Cet objet contient les messages destinés à des participants. Il est préférable de ne pas y toucher.
Attention : cette Collection bénéficie des droits par défaut. Cela signifie qu'un mauvais paramétrage de ces droits peut amener à une potentielle fuite de données.
Etape suivante : Voir un carnet d'adresses dans Thunderbird