Plugin iCal privé étendu

Ce plugin vient surcharger le calendrier privé fournit par défaut avec SPIP pour inclure dans le flux un plus grand nombre d’évènements. Il est par ailleurs compatible avec le plugin Accès Restreint.

1. Qu’est-ce un flux iCal ?

Selon un article de Wikepedia :

iCalendar est un standard (RFC 2445) pour les échanges de données de calendrier. Ce standard est aussi connu sous le nom d’iCal.

iCalendar permet aux utilisateurs d’envoyer des demandes de rendez-vous, et de les transmettre à d’autres utilisateurs via emails. Les destinataires de l’email contenant l’iCalendar (s’ils possèdent un logiciel le supportant) peuvent facilement répondre à l’expéditeur ou proposer une autre date/heure de rendez-vous.

Il est implémenté/supporté par un large nombre de logiciels, tels que : iCal d’Apple, Chandler, Lotus Notes, ScheduleWorld, KOrganizer, Mozilla Calendar (y compris Mozilla Sunbird), Mulberry, Ximian Evolution, Windows Calendar et, via une extension, Microsoft Outlook.

Vous pouvez visualiser un flux iCal notamment avec les extensions Calendar ou Lightning pour Thunderbird ou bien avec Google Calendar.

2. Les flux iCal en standard avec SPIP

Depuis la version 1.7, SPIP fournit en standard deux types de flux iCal accessibles en cliquant sur l’icône [Suivre la vie du site]. Le premier disponible pour les rédacteurs et les visiteurs indexe l’ensemble des articles et des brèves publiés sur le site. Ce flux est calculé à partir d’un squelette. Autrement dit, si vous téléchargez ce flux depuis un logiciel de calendrier et que vous avez activé un plugin de restriction d’accès tel que Accès Restreint, seuls les articles et les brèves publiés, visibles pour un visiteur non authentifié, seront présents dans ce flux.

Le second flux iCal est un flux privé. L’id de l’auteur ainsi qu’une clé de sécurité sont intégrés à l’URL. Cela permet d’authentifier l’auteur. Ce flux intègre par défaut les articles et les brèves proposés à publication, ainsi que les penses-bêtes, messages et annonces de la messagerie interne. Aucune vérification d’accès n’est faite dans ce script, ce qui implique que, si vous utilisez Accès Restreint, un rédacteur pourra voir les titres des articles proposés à publication y compris pour les rubriques auxquelles il n’a pas accès dans l’espace privé. Cependant, seul le titre des dits articles sera visible dans ce flux, les textes n’y étant pas présents.

3. Ce que modifie ce plugin

Une fois activé (voir installation ci-dessous), ce plugin modifie le flux iCal privé généré. La récupération de l’url du flux se fait toujours via la page Suivre la vie du site. Le flux généré vérifie les droits d’accès des articles et des brèves. Il est dès lors compatible avec tout plugin qui vient modifier les autorisations par défaut et notamment le plugin Accès Restreint (lire néanmoins les précisions spécifiées ci-dessous).

Ce nouveau flux est donc particulièrement indiqué pour suivre la vie de sites de type intranet. Il fournit un bon complément au plugin Notifications->2360 dans le cadre d’un travail de rédaction collaborative.

Voici en détail ce que contient le nouveau flux iCal privé :

  • Tous les articles quelque soit leur statut dès lors que l’auteur a le droit de les visionner. Plus précisément, il s’agit des articles publiés que l’auteur a le droit de visionner sur le site public et des articles auxquels il a accès dans l’espace privé selon ses droits en fonction du statut de chacun.
  • Afin de ne pas alourdir le flux, seuls les articles modifiés il y a moins de 30 jours sont inclus dans le flux, à l’exception des articles proposés à publication qui sont inclus quel que soit leur date de dernière modification.
  • Les articles sont renseignés dans le flux à leur date de dernière modification et non à leur date de mise en ligne dans la mesure où il s’agit de suivre l’activité éditoriale du site.
  • Le titre de l’évènement dans le flux correspond au titre du site et au titre de l’article suivis des noms des auteurs et du statut de l’article.
  • La localisation de l’article dans l’arborescence des rubriques est renseigné dans le champs Lieu.
  • Le statut de l’article est renseigné dans le champs Catégorie afin de permettre une colorisation selon le statut en fonction des paramètres de votre logiciel de calendrier.
  • La date de mise en ligne, la date de dernière modification, le description et les 300 premiers caractères du texte sont renseignés dans le champs Description de l’évènement.
  • Le lien pour visionner l’article est renseigné permettant d’y accéder directement depuis votre logiciel de calendrier.
  • La situation est équivalente pour les brèves.
  • Les messages, pense-bêtes et annonces à venir ou de moins de 30 jours sont présents dans le flux, y compris ceux pour lesquels l’option Afficher dans le calendrier n’a pas été sélectionnée.
  • Les messages de forums publics à valider (dans le cadre de forums modérés a priori), concerne les administrateurs et administrateurs restreints uniquement.

4. Restreindre le flux

Il est possible de restreindre le flux à un secteur particulier en rajoutant l’argument &id_secteur=1 pour le secteur 1 à l’url du flux.

Pour modifier le critère d’âge du flux (moins de 30 jours par défaut), il suffit de rajouter &age=60 à l’URL du flux avec l’âge en jours (ici 60). Pour un flux intégrale sans critère d’âge, ajouter &age=0. ATTENTION : dans ce cas là, si le site est très important, le temps de calcul du flux risque d’être élevé.

Pour pouvez restreindre le flux à certains éléments à l’aide des paramètres suivant à ajouter à l’URL du flux :

  • &juste=art pour restreindre aux articles ;
  • &juste=brev pour restreindre aux brèves ;
  • &juste=artbrev pour restreindre aux articles et aux brèves ;
  • &juste=mess pour restreindre à la messagerie interne ;
  • &juste=forum pour restreindre aux messages de forums à valider.

5. Compatibilité avec le plugin Accès Restreint

Pour vérifier les droits d’un auteur de visualiser un article ou une brève, le présent plugin utilise les fonctions autoriser_articles_voir et autoriser_breves_voir en leur précisant l’id_auteur passé dans l’url du flux.

Si cela ne pose pas de problème pour les fonctions en standard dans SPIP, lorsque le plugin Accès Restreint est activé, il prenait jusqu’à récemment en compte l’id_auteur de la personne authentifiée indépendamment de celui passé à la fonction. Ceci a été corrigé dans Accès Restreint à partir des versions SVN numéro 16539 à 16555 du 3 novembre 2007. Vous devez donc utiliser une version récent de Accès Restreint pour que le présent plugin soit compatible avec ce dernier. La dernière version est disponible sur SPIP Zone. Pour information, la condition $publique est passé via le paramètre $opt à la fonction d’autorisation.

6. Téléchargement et installation

Le plugin est développé sur SPIP Zone. De fait, la dernière version est disponible à cette adresse : http://files.spip.org/spip-zone/.

Il s’installe comme tous les autres plugins, voir la documentation officielle.

7. Version de SPIP

Le plugin est compatible avec la version 1.9.2 de SPIP. Il n’a pas été essayé avec la version 1.9.1. Par ailleurs, il n’a pas encore été essayé avec le plugin compat193 sur la version de développement.

Discussion

2 discussions

  • j’ai essayé sur spip 2.0.1, eva web 4.01. ça à l’air de fonctionner mis à part que ça plante le fichier de langue mini calendrier en français (les jours et mois deviennent J1, J2, J3, M1 M2...), ça fonctionne dans les autres langues !!?
    A suivre

    Répondre à ce message

  • Bonjour
    Je suis très intéressé par ce plug in : est-il compatible avec spip 2 ?
    Merci

    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