Simple Calendrier v1

Cette contribution surcharge des fichiers et/ou des fonctions de SPIP : il n’est donc pas garanti qu’elle fonctionne avec d’autres contributions surchargeant lesdits fichiers et/ou fonctions. Sa compatibilité avec les versions de SPIP est donc assez restreinte.

Le plugin « simple calendrier » permet de gérer des évènements en ajoutant un nouvel objet éditorial dans l’administration de votre site SPIP. Il peut constituer une alternative au plugin Agenda 2.

Cette documentation décrit les spécificités du plugin Simple Calendrier pour SPIP 2.1.

Pour connaitre les fonctionnalités de ce plugin, merci de vous référer à la documentation de Simple Calendrier pour SPIP 3.

Installation du Plugin

Avant d’installer ce plugin, veuillez lire attentivement la section « compatibilité avec d’autres plugins ».

Le plugin s’installe comme tous les autres, en ajoutant son dossier dans le dossier plugins/ et en l’activant dans l’espace privé. En savoir plus.

Dépendances :

Utilité du plugin

Ce plugin fournit un nouvel « objet éditorial » : l’évènement.
Il permet donc de créer des évènements, au même titre que l’on peut créer des articles ou des brèves.

Voir la documentation de Simple Calendrier v2 pour en savoir plus.

Quelques captures d’écran

Configuration du plugin
Accessible depuis le menu Configuration > Fonctions avancées
Page de liste des évènements
Accessible depuis le menu Edition
Page de liste des évènements restreinte à une rubrique
Lorsque l’option d’affectation aux secteurs / rubriques est activée.
Portlet sur la page rubrique
Lorsque l’option de rattachement aux rubriques est activée.
Création d’un évènement
Lorsque les options par défaut sont utilisées.
Création d’un évènement
Lorsque les options « affectation aux secteurs » et « texte par référence » sont activées.
Portlet sur la page article/breve
Présente lorsque l’option « Texte par référence » activée.
Visualisation d’un évènement
Ici dans le cas ou il est affecté à une rubrique (Fil d’ariane + portlet gauche)
Script de démo !
...qui s’adresse aux créateurs de squelettes...

Compatibilité avec d’autres plugins

Plugin Agenda 2
-  100% incompatible ! Ne cherchez jamais à faire cohabiter ces 2 plugins.
-  Aucun mécanisme de migration d’Agenda2 vers simple-calendrier n’est prévu.

Plugin corbeille
Les évènements en statut « à la poubelle » peuvent être gérés par le plugin corbeille

Plugin bandeau
Lien d’accès à la liste des évènements dans le menu édition. (v1.2)

Plugin MiniBando
Lien de création rapide dans la partie publique. (v1.2.2).

Problème connu. Pour que le « minibando » s’affiche côté public, il faut supprimer le fichier formulaires/administration.html du plugin ’simple calendrier’

Plugin Acces restreint (A.R)
Le plugin simple-calendrier est compatible avec ce plugin. La visibilité des évènements est soumise aux règles définies par le plugin A.R. (Aussi bien côté public que côté administration)

  • Problèmes connus :
    • L’installation du plugin A.R peut provoquer le crash des boucles EVENEMENTS.
    • On peut aussi avoir un crash et un message d’erreur de type « fonction déjà définie ».
  • Solutions :
    • Editez le fichier public/acces_restreint.php du plugin A.R. Dans le « case evenement » : Ajouter un « break ».
    • Editez le fichier inc/acces_restreint_autoriser.php du plugin A.R. et renommer la fonction ’autoriser_evenement_voir’ (en ’autoriser_evenement_voir_inutilise’ par exemple...)
    • Il faut ensuite vider le cache SPIP

Note : ces modifications nécessaires dans le plugin A.R. n’ont pas de conséquence sur son fonctionnement. Le code initial étant prévu pour un usage du plugin Agenda2.

Bugs connus et solutions

LOGO :
-  SPIP 2.1.0 et 2.1.1 : La boite permettant de gérer le logo n’a pas de titre.
-  SPIP 2.1.2 et supérieur : Il y a un léger problème d’affichage du titre « LOGO DE l’EVENEMENT ». Ce dernier disparait suite à un upload ou une suppression de logo. Il ré-apparait si on actualise la page. Pour corriger cela : voir commentaire dans exec/evenement_voir.php (rechercher à ’logo’)

Accès restreint :
Crash possible de la boucle EVENEMENTS.
Crash possible lié à une fonction déjà définie.
Voir solution dans la section « Compatibilité avec d’autres plugins »

Petit bouton d’administration dans la partie publique :
Dans la partie publique, lorsqu’on se trouve sur un article et qu’on est connecté, on peut voir un petit bouton « article123 » en haut à droite qui pointe sur l’article en question dans la partie privée.

Il est possible de faire la même chose pour les évènements. Pour cela :

  • Ouvrir le fichier /ecrire/balise/formulaire_admin.php
  • Se rendre sur la fonction admin_objet()
  • Ajouter le terme ’evenement’ dans le foreach (après ’breve’ par exemple).

MiniBando :
Le « minibando » ne s’affiche pas côté public.
Voir solution dans la section "Compatibilité avec d’autres plugins"

Note technique :

  • Plugin développé sur spip 2.1.2
  • Plugin testé aussi sous spip 2.1.0, 2.1.1, 2.1.9, 2.1.10
  • Plugin déjà utilisé sur des hébergements OVH perso et pro.
  • Plugin non testé avec des bases de données autres que MySQL.

Les tables suivantes sont ajoutées à l’installation du plugin :

  • spip_evenements
  • spip_mots_evenements
  • spip_auteurs_evenements

Certains fichiers du core sont redéfinis dans ce plugin :

  • exec/auteur_infos.php : ajout d’un pipeline "auteur_infos_interventions" - pour avoir la liste des évènements sur la fiche de l’auteur
  • exec/menu_navigation.php : ajout de la liste des événements proposés (que l’on peut voir dans le bandeau section colorée - 2e bouton...)
  • plugins/simple-calendrier/formulaires/administration.html : ajout, côté public, du petit bouton d’accès à l’évènement dans l’espace privé.
  • la fonction ecrire/public/boucles.php : boucle_DOCUMENTS_dist : afin que cette boucle soit capable de retourner les documents rattachés aux évènements (v1.2.11).

Remerciements :

Brièvement :

  • à Archi02 pour son Plugin Vu ! - car c’est par l’étude de ce plugin que j’ai démarré !
  • à Matthieu Marcillaud pour ses tutoriels et son initiative du site programmer. Indispensable référence ! et bon complément du site spip.net
  • et à la sympathie de la communauté SPIP bien sûr, chez qui on trouve toujours quelqu’un pour répondre à une question.

Ce plugin en action :

Discussion

7 discussions

  • 2

    Bonjour.

    J’ai installé la version 1.8.19 de jQuery-ui (celle du zip sur la page de contrib) mais la version stable 1.2.8 de ce plugin refuse de s’installer sur mon SPIP 2.1.20 ! Que faire ?

    • Bonsoir,

      Vous avez ce message car jquery_ui n’est pas installé, car il s’agit d’une version pour SPIP 3 ! A priori et sauf erreur de ma part, le zip présent sur la page du plugin n’est pas le bon. Il s’agit d’une version estampillée SPIP 3 (avec un paquet.xml).

      J’ai laissé un message sur la page du plugin.

      La bonne version se trouve à cette adresse.

      Julien

    • Juste un mot pour dire que la bonne version du plugin JQuery-ui pour SPIP 2.1 est de nouveau accessible.

    Répondre à ce message

  • 2
    Pierre-Jean

    Re depuis le forum d’Agenda 2, et quelques questions/observations concernant le trunk d’aujourd’hui :

    #SIMPLE_CALENDRIER ne fonctionne pas encore

    Les évènements créés se lient à la dernière rubrique créée même si l’option n’est pas cochée dans l’administration.

    Ne faudrait-il pas plutôt exploiter une table de liaison/jointure pour associer évènements et articles plutôt que de tomber dans le même piège qu’Agenda2 en ne pouvant associer qu’un seul et unique article ?

    Colonnes nom_site et url_site non créées lors de l’install et donc problème sur le public

    • Pierre-Jean

      Ah si, une dernière question... :

      Puis-je en toute sécurité commencer à me servir de Simple Calendrier (trunk) sur le BO uniquement afin de commencer à créer mes évènements ? En fait la question est surtout de savoir si la version trunk prévoit au fil des versions une procédure de mise à jour des tables ?

    • Merci pour ce retour. En effet, la version actuellement sur svn est en développement. En chantier donc. Il reste pas mal de choses à boucler pour obtenir l’équivalent de la version SPIP 2.1 : entre autres, les options de configuration, les autorisations, le mini-calendrier ne sont pas terminés.

      Pour l’histoire des jointures multi-articles, j’ai du mal à voir l’usage qui peut en être fait. Je ne suis déjà pas convaincu de la notion de référence que j’avais mise en place, et que j’ai utilisé mais qui relevait plus d’un pb de conception, d’historique en tout cas, à mon avis... D’autres part, pourquoi ne pas simplement utiliser des liens dans le texte de l’évènement, si c’est pour citer des articles en rapport à l’évènement ?

      Puis-je en toute sécurité commencer à me servir de Simple Calendrier (trunk) sur le BO uniquement afin de commencer à créer mes évènements ?

      En fait, l’« état de développement » du plugin me permet d’éviter d’avoir à me poser ce genre de question :-) mais pour répondre : je dirais non pour les points non encore terminés cités plus haut.

      En fait la question est surtout de savoir si la version trunk prévoit au fil des versions une procédure de mise à jour des tables ?

      Il est clair que la version SPIP 3 migrera automatiquement les données de la version SPIP 2.1. Cela est déjà en partie fait. Pour les développements encore à venir pour aboutir à une version stable, si des tables/champs doivent bouger, les numéros de versions seront incrémentés pour que les mises à jour se fassent.

      Mais pour finir, j’insiste sur l’état de « développement » de ce plugin. Il n’est volontairement pas en état de « test », car tout simplement pas fini et sans aucun doute buggé, même si globalement, il semble « pas si loin ».

    Répondre à ce message

  • 4
    Corto Maltese

    très bon plugins, une bonne alternative à agenda 2
    idée d’évolution comme ça en passant :
    serait-il possible de l’intégré au plugin bandeau pour qu’il soit visible dans le menu édition

    merci

    • oui, ce sera bon pour la prochaine version. Correction disponible sur le SVN...

    • Note : en place depuis la v1.2

    • Corto Maltese

      merci beaucoup de cette amélioration

      par contre le plugin « calendrier simple » fait planter le plugin « minibando »
      j’ai tourner ça dans tous les sens, et je n’arrive pas comprendre pourquoi.

      aurais-tu une idée ?

    • oui, c’est corrigé à priori sur la nouvelle version v1.2.2
      + voir documentation section « compatibilité avec d’autres plugins »...

    Répondre à ce message

  • 1

    Pour éviter la surcharge (gênante) de « exec/auteur_infos.php », on pourrait utiliser directement le pipeline "affiche_milieu", en remplaçant dans la fonction simplecal_affiche_milieu la ligne (116)

       if ($exec == 'auteur_infos_interventions'){

    par

        if ($exec == 'auteur_infos'){

    C’est presque "prêt !
    Par contre, c’est moins « beau ». La liste des événements s’affiche dans le bloc « auteur », au-dessus de la liste des articles.

    Peut-être y-a-t-il mieux ?

    Par ailleurs, j’ai essayé de rendre public le formulaire d’ajout d’événements, mais je galère trop avec les variables calculées dans le code php (#ENVconfig_rubrique). Peut-être en utilisant directement les valeurs dans la table des metas avec #CONFIG ?

    • C’est le pipeline ’auteur_infos’ que j’avais utilisé initialement avant d’opter pour la définition de mon propre pipeline car je souhaitais un affichage standard... J’ai développé ce plugin pour un fonctionnement sur SPIP 2.1.2 qui ne permettait pas ce genre d’affichage. Peut être est-ce venu sur des versions plus récente de la branche 2.1. Je n’ai pas vérifié.

      Si la surcharge de ce fichier vous pose pb, je vous suggère de le supprimer puis de reporter la définition du pipeline ’auteur_infos_interventions’ dans votre version de SPIP... (cf. commentaires dans le fichier surchargé).
      Note : plus de surcharge sous la version SPIP 3 en cours de réalisation

      Pour la modification depuis la partie publique, je n’ai pas essayé. Par contre l’utilisation du #CONFIG semble plus simple en effet que ce que j’ai fait. Je vais jeter un oeil pour essayer de simplifier tout ça. Merci.

    Répondre à ce message

  • 3

    Est-il possible de faire commencer la semaine le dimanche comme il est d’usage en Amérique du Nord ?

    Merci
    RP

    • Renée Picard

      Dans plugins/simplecalendrier/balise/simplecalendrier.php
      J’ai déménagé la ligne 125

      $s .= $rc.'    <th title="'.ucfirst(_T('date_jour_1')).'" class="ui-datepicker-week-end">'._T('simplecal:date_dimanche_abbr').'</th>';

      avant celle du lundi. Cela fonctionne pour changer l,ordre des jours mais les dates ne suivent pas..

      Merci de m’aider.

    • Bonjour,

      Pour que les dates « suivent », il faut faire démarrer la boucle à 0 au lieu de 1 vers la ligne 133.

      // remplissage du debut du calendrier [...]
      for ($i=0; $i<=($num_jour-1); $i++){
          [...]
      }
    • Renée Picard

      Merci, merci et merci !
      Cela fonctionne à merveille.
      http://www.jesuiscapable.ca

    Répondre à ce message

  • Très sympa et bien réalisé ce plugin avec une intégration parfaite dans Spip. J’ai cherché un moment comment pouvoir ajouter des mots clés aux événements avant de voir qu’il suffisait d’aller la configuration des groupes de mots clés pour les activer pour le plugin.

    Répondre à ce message

  • seb / studio-lambda

    bravo pour ce plug, il est simple et efficace !
    Pour avoir regardé un peu le code, c’est propre et très bien commenté (parfait pour y mettre ses pattes :) )

    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