Salutations,
Disclaimer: j'ai posé cette question il y a quelques temps sur la forum anglophone, et faute de réponse je retente par ici. Navré donc pour les erreurs de traduction qui pourraient se glisser, ça n'est pas vraiment mon fort.
Donc voilà, je cherche à stocker dans Alfresco les calendriers générés par Mozilla Lightning (l'extension pour Thunderbird). Dans le principe, ça marche assez bien : je fais ça par WebDAV, et comme ça je peux gérer les permissions de mon "infrastructure" d'agenda directement dans Alfresco. Typiquement, je mets à chaque utilisateur un répertoire "Calendriers", avec dedans un private.ics et un public.ics ; là dessus, je mets les droits qui vont bien (tout le monde peut lire public, personne ne peut lire private, classique). Les fichiers sont au format iCal, soit du texte.
Bon. Ce que j'adorerais, sur cette base, ce serait de gérer les données FreeBusy sur cette base. Pour rappel, c'est une particularité du format iCal qui permet de ne spécifier QUE la disponibilité (et donc pas ce que je fais réellement pendant que je suis indisponible). Il faudrait donc que j'arrive à extraire de mon dépôt mes (multiples) fichiers ICS, que je les passe par une moulinette maison (dont les détails restent à définir, mais qui est raisonnablement faisable) pour sortir mes données FB par utilisateur. Les-dites données FB sont lisible par tout le monde (idéalement par le monde entier).
Depuis la publication de ma question sur le forum grand-breton, j'ai un peu progressé et j'ai de nouvelles pistes. Mais j'aimerais quand même bien avoir votre avis. Mes pistes actuelles sont donc:
- Créer une "custom behaviour", en Java (je présume), pour faire tout le boulot de conversion. Me semble un peu excessif.
- Uploader, au moyen d'une action perso, le contenu de mes fichiers vers une application externe (une page PHP, typiquement) qui se chargera du boulot. Sauf que, si je ne m'abuse, le JavaScript "serveur" intégré à Alfresco ne permet pas de faire appel à des joyeusetés genre "XmlHttpRequest". Donc pas bien possible, sauf si on m'annonce le contraire.
- Passer par une "transformation", qui semble nativement pouvoir faire appel à un script externe (donc good). Sauf qu'elles sont manifestement pensées pour fonctionner avec un fichier source et un fichier destination, alors que dans mon cas je ne veux _pas_ modifier le fichier ni le convertir. Ou alors il me faudrait une transformation "n fichier -> 1 fichier". Existe-ce?
- Nouvelle approche plus simple : ne pas faire le boulot à la modification du fichier ICS (qui arrive très souvent) mais lors de la requête du fichier FB. En clair, une application web quelconque qui se charge d'interroger Alfresco et de fusionner/convertir les ICS de l'utilisateur sollicité. Ca parait mille fois plus logique, sauf que j'ai quelques réticences à le faire en PHP (pas trouvé de librairie "propre" pour faire de la manipulation d'iCal) et mes alternatives (Python, Perl) ne proposent pas d'interface "toute faite" avec Alfresco. Il y a bien les webservices, mais je manque un peu d'exemples fonctionnels d'interrogation du dépôt depuis l'un de ces langages.
Quelqu'un aurait-il des idées ou des commentaires là-dessus? Parce que si ça se trouve, me connaissant, je suis en train de m'enflammer pour une solution qui n'offre aucun intérêt, donc bon…