Salutations,Disclaimer: j'ai posé cette question...

cancel
Showing results for 
Search instead for 
Did you mean: 
olivier_migeot
Member II

Salutations,Disclaimer: j'ai posé cette question...

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…
5 Replies
michaelh
Active Member

Re: Salutations,Disclaimer: j'ai posé cette question...

Pour info, chez Alfresco on stocke bien des ICS via webDAV, mais en effet on délègue au client la gestion du freebusy.

Je ne donne donc pas de réponse à froid (digestion, café, etc), mais on doit pouvoir trouver des pistes …
olivier_migeot
Member II

Re: Salutations,Disclaimer: j'ai posé cette question...

Pour info, chez Alfresco on stocke bien des ICS via webDAV,
Ah, ça me rassure un peu : je ne suis donc pas fou Smiley Happy

mais en effet on délègue au client la gestion du freebusy.
C'est-à-dire? Qu'utilisez-vous comme client (si ce n'est indiscret)? Parce que pour moi, l'inconvénient c'est que n'importe quel petit malin (et il ne faut pas avoir fait l'X pour regarder le traffic réseau adressé à sa propre machine) peut connaître le détail des agendas de tout le monde. Dans certains cas, ça peut être acceptable, mais ça n'est certainement pas anodin.

Je ne donne donc pas de réponse à froid (digestion, café, etc), mais on doit pouvoir trouver des pistes …
Pas de problème et bon café.
michaelh
Active Member

Re: Salutations,Disclaimer: j'ai posé cette question...

En ce qui concerne les clients, on utilise un peu de tout. Il y a du Outlook, du Thunderbird/Sunbird/Lightning, et beaucoup plusieurs types de clients Mac dont je ne retiens jamais le nom (le Mac est même sans doute majoritaire).

J'ai moins aussi un faible pour la solution 3 avec une petite variante toutefois. Générer les freebusy à intervalles réguliers plutôt qu'à la demande (le problème de l'ics c'est que c'est un poil long à parser lorsque le nombre d'entrées augmente, de mémoire).

Sur ce point les capacités d'accès sont nombreuses, pas forcément besoin de webservices. Ca peut être plus basiquement du CIFS, du WebDAV, du FTP, ou encore (et l'idée me plait assez) un accès à travers les webscripts (API REST, donc tout HTTP).

Ca dépend beaucoup de la librairie utilisée, et des capacités du langage choisi (c'est vrai que je n'ai pas de librairie en tête).

Pour les webscripts, voir http://wiki.alfresco.com/wiki/Web_Scripts & http://wiki.alfresco.com/wiki/HTTP_API
Et des exemples : http://wiki.alfresco.com/wiki/Web_Scripts_Examples
dgenard
Active Member

Re: Salutations,Disclaimer: j'ai posé cette question...

A ce sujet,
je remarque que le module calendrier maintenant fourni avec Alfresco 2.9.0B stocke les évènements au format .ics.

Qu'est-ce que cela permet (ou permettra) en terme d'intégration avec Outlook, ou Thunderbird/Sunbird/Lightning ?
Par exemple, est-il possible d'accéder ou de synchroniser le calendrier stocké dans Alfresco via Outlook ?
Ou cela permet-il d'envoyer des demandes de réunions par email à partir du calendrier Alfresco ?

Pour ma part, après quelques essais, je n'ai pas arrivé à grand chose.
Chaque évènement est stocké dans un fichier .ics distinct, ce qui ne facilite pas l'importation de l'agenda complet dans un client externe.
En outre, à la fois Outlook 2003 et Sunbird refusait le formattage des fichiers .ics produit par le calendrier Alfresco (parse error).

Denis
michaelh
Active Member

Re: Salutations,Disclaimer: j'ai posé cette question...

Bonjour,

Pour l'instant ça permet peu de choses (c'est une version préliminaire), comme rappelé ici. Le but est d'avoir un maximum de retour, et de suggestions. Le but à terme est bien de couvrir les usages cités par contre.

Donc modifier le fonctionnement "un événement = un fichier ics".

Pour faire remonter ce genre d'information, c'est très simple : il faut créer une entrée ICI avec des remarques (vérifier que ce n'est pas un doublon), et ensuite éventuellement faire passer l'info pour que les gens votent ou commentent ces remarques.

C'est vraiment le but de cette série 2.9, faire en sorte que la version 3.0 colle au mieux aux attentes !