Import ICS

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

Un plugin permettant de s’abonner à des flux ics fournis par le plugin séminaire.

Caveat

Il s’agit de la première version de ce plugin. Une plus moderne et plus générique existe désormais et est disponible sur ce site Import ICS 2.

Origine du plugin

Ce plugin a été développé pour pouvoir regrouper sur un site de fédération les événements (séminaires, groupes de travail, soutenances de thèse) de plusieurs laboratoires. Il fallait donc un moyen de s’abonner aux flux ics de ces laboratoires, que ces flux se mettent à jour automatiquement (importation automatique de nouveaux événements, mise à jour d’événement, la mise à jour se fait toutes les 24 heures) et présenter ces événements dans le cadre du kit CNRS.

Même si l’ajout d’événement est modifié par le plugin Séminaire v2 dont ce plugin dépend (entre autre pour l’affichage final), ce sont des événements classiques gérés par le plugin Agenda avec quelques champs supplémentaires (uid, attendee, séquence, institut d’origine de l’orateur).

Principe de fonctionnement de ce plugin

Ce plugin permet de s’abonner à un calendrier distant. Les événements sont liés à un nouvel objet éditorial (l’almanach) afin de pouvoir plus facilement les manipuler par la suite.

Ce plugin ajoute donc une entrée « Almanachs » au menu « Edition » ainsi qu’un bouton d’ajout rapide d’almanach. Les événements importés sont liés à ces objets.

L’almanach est un nouvel objet

La page Almanachs permet de lister les almanachs présents sur le site et de les administrer.

Liste des almanachs

Ajouter un almanach

L’ajout d’un almanach est simple. Il suffit de remplir le formulaire d’ajout dans lequel tous les champs sont obligatoires.

L’url du flux peut être de la forme http ou webcal.

Comme pour le plugin Séminaire, l’ajout d’un mot clé est nécessaire sur l’article qui va recevoir les événements ainsi que sur chacun des événements. Ce formulaire permet de mettre un même mot-clé à tous les événements importés (c’est modifiable par la suite individuellement si nécessaire), en revanche, il vous appartient de bien mettre un mot clé sur l’article d’accueil sans quoi l’affichage dans les calendriers ne sera pas bon.

Une fois le formulaire validé, les événements importés apparaissent dans la page récapitulative de l’almanach. Si ces événements sont trop nombreux, la liste est paginée.

A noter : si un événement apparait dans plusieurs flux avec le même uid, il ne sera pas réimporté.

Supprimer un almanach

Si on a besoin de supprimer les événements d’un almanach, un bouton est disponible pour ça en bas de la page afin de supprimer en bloc tous les événements.

Un almanach qui ne contient plus d’événements peut encore être modifié (si on s’est trompé d’adresse par exemple) ou être supprimé.

Dans la liste des almanachs, si un almanach ne contient pas d’événements (et uniquement dans ce cas là), un bouton apparait pour le supprimer.

Quelques recommandations d’usage

Ce plugin a été fait pour fonctionner avec le plugin Séminaire dans un cadre assez particulier. Il est tout à fait possible qu’il fonctionne dans un autre contexte mais il n’a pas été testé ni même conçu pour ça. Si vous voulez l’utilisez malgré tout dans un cas non prévu, n’hésitez pas mais je ne pourrais peut-être pas fournir d’aide.

Discussion

3 discussions

  • 2

    Bonjour,

    Le décalage ne fonctionne pas, mais j’en ai pris mon parti. Par contre depuis quelques jours, les imports d’évenements depuis un compte facebook se sont arretés sans raison appparente.

    Avez-vous un retour d’autres usagers ?
    Je peux éventuellement vous faire circuler en mp l’adresse de flux utilisé.

    • Aïe, c’est dommage, je pensais réellement que le décalage fonctionnait.
      Pour Facebook, je n’avais jamais regardé (et je suis tellement ignare en Facebook que j’ignorais qu’ils ont un système de calendrier).
      Je n’ai absolument aucun retour d’usagers hormis les tiens donc tout ce qui pourra m’être utile pour améliorer le plugin est le bienvenu en considérant que mon temps disponible se réduit actuellement à peau de chagrin.

    • À tout hasard, j’ai supprimé les événements de l’almanach et crée un nouvel almanach : même constat, aucun import ne se fait. Quelque chose à changé il y a une semaine ou deux.

      Cependant, quand je colle le même lien (de la forme
      webcal://www.facebook.com/ical/u.php?uid=1010101&key=clealpha
      dans l’extension agenda de Thunderbird, je constate que :

      -  les événements sont importés initialement
      -  ils le sont sans décalage

      Du coup, je n’ai pas d’idée pour t’aider à comprendre ce qui coince, si ce n’est de t’encourage à tester sur un flux ICS facebook
      la démarche est explicité ici

    Répondre à ce message

  • 8

    Merci de cette réaction rapide.

    Je pensais qu’il y avait mention du décalage dans le flux, mais ta solution est pragmatique et permet de choisir pour chaque almanach le décalage dont on a besoin.

    Pour l’instant, je n’ai pas de nouvel événement,mais si le décalage n’est pas le bon, je te le signalerai.

    J’ai eu un message d’erreur transitoire à l’installation, résolu pas rafraîchissement du cache.

    Plus embétant, un almanach semble s’être créé, sans nom et donc non cliquable.
    Je suis le seul usager du site et donc je suis bien certain de ne pas avoir créé d’almanach.

    • Flûte, je pensais avoir réglé le problème de l’almanach fantôme. Je regarde dans le weekend.

    • Attends, je me rends compte que j’ai surchargé le fichier editer_almanach pour me débarasser des balises math qui me posaient problème. Je repars donc de ta version, et je te dirais si ça marche.

      Autre remaque : j’ai constaté que la date de dernière importation ne bouge jamais, quand bien même des événements sont effectivement importés.

    • Bon, j’importe plus rien depuis ce changement de décalage sur le flux problèmatique. Un autre flux auquel je n’ai pas touché continue à importer.

      Est-ce qu’il faudrait supprimer tous les événements de cet almach pour débloquer la situation ? J’aimerai autant que non, car je perdrais toutes mes modifs d’évenements post-import.

    • est-ce que tu pourrais me fournir une source d’événements pour que je puisse faire des tests ? Pour l’instant je n’arrive pas à reproduire le problème.

    • Salut Amaury,

      Désolé de mon médiocre temps de réaction, mais bizarrement, je ne suis plus notifié des messages de spip contrib.

      Comme plus rien ne bougeait, j’ai désinstallé et réinstallé le plugin. Cette fois en déclarant à nouveau les almanach, j’ai réussi à avoir une alimentation initiale qui prend bien en compte le décalage. je vais suivre les imports du début de semaine et je te redis.

      Ça me crée une foule d’événements en double, mais c’est pas plus mal comme ça puique ça preserve les événements existants dans la base.

    • Dans mon usage, j’importe les événements en statut proposé pour qu’il n’apparaissent pas d’emblée sur mon site cible.
      Cela me laisse le temps de les vérifier/retoucher avant de les passer en statut publié. J’ai fait une petit surcharge dans ce sens.

      Il me semble que ce pourrait être intéressant que les evénements importés héritent du statut de l’almanach, permettant aux adminitrateurs du site de choisir si les événements sont publiés d’emblée (statu publé) ou seulement après changement de statut des événements importés (statut proposé).

      Qu’en pense-tu ?

    • Contentent que ça marche pour toi, je vais quand même essayer de résoudre le problème.

    • Pour le statut des événements, c’est juste que je n’y avait pas songé. Pour l’instant, le statut de l’almanach ne sert à rien mais ça pourrait être une bonne chose. A voir si je peux facilement découpler le statut de l’événement de celui de l’article

    Répondre à ce message

  • 3

    Bonjour Amaury,

    Bravo pour ce plugin, très efficace.

    Je rencontre un soucis avec une source ICS en particulier : l’ensemble des événements est décalé de deux heures en avance. Y a t’il un moyen de spécifier un décalage pour un almanach en particulier ?

    • Dans le cas évoqué l’heure retenue est bien l’heure UTC, l’ajout de deux heures (pour la France) ne s’effectue pas automatiquement. Merci de vos remarques éventuelles à ce sujet.

      Cordialement.

    • Bonjour, je suis en train de faire la modification afin que vous puissiez faire le décalage (+24h/-24h par pas d’une heure). Je pense finir dans le courant de la semaine.

      J’en profite pour commencer à rajouter une possibilité de liaison avec le plugin ORR afin de gérer une réservation automatique des ressources.

    • Je viens de mettre en ligne une nouvelle version contenant cette nouvelle fonctionnalité. Chez moi ça marche, j’attend les retours.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom