Agenda 2.0 et ultérieur

Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir.
La lecture de Calendrier Mini 2.0 est également chaudement recommandée, étant donné que Agenda 3 est dépendant de ce plugin.

Le portage du plugin Agenda pour SPIP 2.0 a été l’occasion de repenser et améliorer l’ergonomie de son interface. La version 2.0 du plugin agenda ne nécessite plus le plugin Widget Calendar, mais nécessite le plugin SPIP Bonux

La navigation dans les événements est directement accessible par un sous-menu du menu edition :

La présentation de ces événements délaisse le mode calendrier pour un affichage en liste plus pratique à l’usage.
Par défaut seuls les événements à venir sont affichés :

Ce fonctionnement évite d’encombrer l’affichage avec les événements passés toujours plus nombreux.

Un menu de navigation latéral permet d’afficher tous les événements, paginés, triés par date :

Le menu latéral inclut également une navigation antéchronologique par mois calendaire permettant l’affichage de tous les événements d’un mois

La liste centrale présente une vue résumée de chaque événement. Il est possible de voir plus de détails en cliquant sur le titre de l’événement :

Un lien [article] permet d’accéder à l’article qui contient cet événement :

On y retrouve exactement le même type de navigation, mais limitée aux événements de l’article.

Créer un nouvel événement

Le lien situé dans le bandeau titre de la boîte agenda permet de créer un nouvel événement

Modifier un événement

Lorsque vous dépliez un événement, un bouton [modifier] permet d’accéder à l’édition de l’événement.

Si l’événement est une répétition, il n’est pas possible de l’éditer directement. Dans ce cas le lien modifier est remplacé par un lien [source] qui permet d’accéder à l’événement source pour le modifier.

Edition d’un événement

Que ce soit lors de la création ou l’édition d’un événement, la saisie se déroule désormais sur une page indépendante dédiée :

Outre les champs habituels de titre et descriptif, vous y retrouverez la zone d’édition des dates de début et de fin. Une case à cocher toute la journée permet de ne pas sélectionner d’horaire.

Sur chaque champ de saisie de la date, une icone calendrier permet d’accéder à un mini calendrier de saisie.

Les répétitions sont saisies après la date de début et de fin, sur un calendrier de saisie dédié. Le principe des événements répétés et que l’heure de début et la durée sont toujours conservées de l’événement d’origine, mais seul les jours de début changent en prenant les valeurs cochées dans le calendrier des répétitions.

Après saisie, lorsque vous enregistrez votre événement, vous revenez sur la page d’origine avec ce seul événement affiché en détail :

Vous pouvez ainsi vérifier votre saisie.

Vous pouvez retrouver tous les événements, ou les événements à venir seulement, en cliquant sur les liens correspondants.

Squelettes et boucle EVENEMENTS

En ce qui concerne l’utilisation du plugin agenda dans les squelettes, vous pouvez vous référer à la documentation du Plugin Agenda pour SPIP 1.9.2.

Nouveaux critères

{evenement_a_venir} pour sélectionner les événements pas encore commencés à la date courante
{evenement_a_venir #ENV{date}} pour sélectionner les événements pas encore commencés à la date #ENV{date}
{!evenement_a_venir #ENV{date}} pour sélectionner les événements finis ou en cours à la date #ENV{date}

{evenement_en_cours} pour sélectionner les événements en cours à la date courante
{evenement_en_cours #ENV{date}} pour sélectionner les événements en cours à la date #ENV{date}
{!evenement_en_cours #ENV{date}} pour sélectionner les événements *pas* en cours à la date #ENV{date}

{evenement_passe} pour sélectionner les événements passés/finis à la date courante
{evenement_passe #ENV{date}} pour sélectionner les événements passés/finis à la date #ENV{date}
{!evenement_passe #ENV{date}} pour sélectionner les événements en cours ou pas encore commencés à la date #ENV{date}

Il est possible combiner ces 3 critères pour effectuer une sélection fine.

Pour un affichage sous forme d’agenda en case, voir SPIP 3, Agenda et FullCalendar ou encore Agenda Fullcalendar facile.

Discussion

616 discussions

  • 3

    Bonjour,
    Je constate un changement suite au passage à la branche v3 -> v4.
    Lorsqu’on se trouve sur la fiche d’un événement (/ecrire/ ?exec=evenement&id_evenement=XXX)
    Le bouton « Voir en ligne » renvoi désormais sur l’article et non sur l’événement comme c’était le cas auparavant, cela ne me semble pas cohérent et cela déstabilise les utilisateurs.
    Pourquoi ce choix ? Est-ce possible de revenir là-dessus et le rendre optionnel ?
    Bien à vous,
    Julien

    • Ca depend de la configuration du plugin : on peut choisir de mettre les pages evenements en autonome ou bien sur la page d’article. Selon la configuration, « voir en ligne » renvoi vers l’un ou l’autre.

    • Merci Maïeul pour ta réponse.
      Je me permets de chipoter un peu :
      Je constate effectivement qu’il existe une option dans la configuration du plugin pour cette question.
      Cependant j’observe une légère incohérence.
      Suite à la mise à jour Agenda v3 -> v4 ; le comportement change car on passe d’un cas ou le lien vers l’événement est la règle, puis quand on passe en v4, l’option par défaut effective devient le lien vers l’article... Cela porte à confusion.
      De plus qu’on va dans la page de config, le select affiche bien l’option « vers l’événement » par défaut mais dans la pratique c’est l’autre option qui effective... Il faut enregistrer la config de ce bloc pour retrouver la cohérence...

    • Ah oui, possible qu’on ai eu un loupé sur ce point. Bon bah faut ouvrir un ticket.

    Répondre à ce message

  • A part le problème cité par Alexis, le plugin fonctionne avec Spip 4.1.1

    Répondre à ce message

  • Bonjour,

    Je teste la version 4.3.9 du plugin agenda avec spip 4.1.0

    Les critères age_relatif_debut, age_relatif_fin,
    jour_relatif_debut etc.. renvoient une erreur de type :

    ecrire/inc/filtres_dates.php Line 114 : Return value of vider_date() must be of the type string, null returned

    En fouillant un peu, je trouve que normaliser_date() est appelée avec une date NULL.

    Je ne sais pas s’il faut intervenir au niveau du plugin agenda ou sur les fichiers de spip.

    Quelqu’un pour confirmer cela ?

    Répondre à ce message

  • J’utilise ce magnifique plugin depuis plus de 10ans (spip3.2).
    Je constate cependant que les rédacteur.ices oublient les répétitions d’événements ou se limitent à répéter les événements sur un an seulement. Chaque année, nous devons compléter les événements. Souvent, nous ratons des événements.
    Pourrais-je suggérer une amélioration pour les répétitions à la façon cron ? Serait-il possible de fournir des paramètres avancés pour les occurrences : nombre d’occurences, date de fin ou jamais, type d’occurrence jour/semaine/mois/année, Xe jour/semaine/mois/année, Xe date de mois/année,...
    Tout conseil est le bienvenu aussi.
    Encore merci

    Répondre à ce message

  • Bonjour,

    Suis-je le seul à le constater ? La branche 4 du plugin semble introduire un dysfonctionnement dans la barre latérale de navigation des événements (colonne de gauche avec le filtrage « depuis le début », « à venir », etc). Un retour vers une version antérieure résout le problème.

    Comment reproduire le problème ?

    • SPIP V3.2.12 avec des événements déjà présents
    • Plugin agenda v4.3.7
    • édition puis événements
    • cliquer dans la colonne de gauche sur à venir
    • cliquer dans la colonne de gauche sur depuis le début ou sur une date
    • la liste des événements n’affiche pas les informations demandées ou de manière incohérente

    Comment résoudre ?

    Réinstaller la version de l’Agenda 3.39.5

    Avez-vous le même problème ?

    Merci !

    Répondre à ce message

  • Bonjour,
    J’avais déjà utilisé ce plugin dans un projet antérieur et il me semblait que l’on pouvait créer des événements non obligatoirement liés à un article ...
    J’ai fait mes petits tests et même si il y a un index « id_article » sur le champs « id_article » de la table « evenements », ça n’a pas l’air de poser des problèmes si « id_article » est forcé à 0.
    De plus, en paramétrant un article par défaut pour les événements, quand on ne saisi pas d’article pour un événement, on passe par une erreur pour que l’article par défaut soit pris en compte (ce qui n’est pas « rassurant » pour les utilisateurs).
    Donc :
    -  Y’a-t-il un intérêt/une obligation fonctionnelle (que je n’aurais pas saisi) derrière cette obligation ?
    -  Dans ce cas, l’article par défaut peut-il être utilisé si le champs article n’est pas saisi (sans passer par un message d’erreur) ?
    -  Dans le cas contraire, est-il possible de rendre dans le formulaire de création d’événement le champs « article » obsessionnel (en fonction d’un paramétrage du plugin) ?
    Merci

    Répondre à ce message

  • Bonjour

    j’utilise le plugin Agenda

    j’ai mis evenement_en_cours & evenement_a_venir dans ma boucle EVENEMENTS

    vous dites « Il est possible combiner ces 3 critères pour effectuer une sélection fine. »

    mais les 2 combinés ne retournent aucun résultats

    WHERE (evenements.statut = 'publie')
    	AND (((horaire = 'oui') AND ((evenements.date_debut <= '2022-01-12 09:53:00') AND (evenements.date_fin >= '2022-01-12 09:53:00'))) OR ((horaire != 'oui') AND ((evenements.date_debut <= '2022-01-12 23:59:59') AND (evenements.date_fin >= '2022-01-12 00:00:00'))))
    	AND (((horaire = 'oui') AND (evenements.date_debut > '2022-01-12 09:53:00')) OR ((horaire != 'oui') AND (evenements.date_debut > '2022-01-12 23:59:59')))
    	AND ((evenements.id_article NOT IN (SELECT * FROM(
    SELECT zzza.id_article

    le AND à l’air de poser problème
    j’ai été obligé de faire 2 boucles

    c’est normal ?
    merci
    Natacha

    Répondre à ce message

  • 4

    bonjour,
    sur spip 3.2.11 et agenda 3.39.5
    la numérotation des événements saute un numéro sur deux
    ainsi de 9352 à 9354 puis 9356 etc.
    en remontant, le dernier événement « impair » (un numéro 7731) a pour date le 27 novembre 2020

    une bizarrerie que chez moi ?

    Caldue

    • Est-ce que cela le fait uniquement avec les evenemnt, ou avec d’autres objets ?

      ca peut être lié à certianes config serveur mysql chez certains hebergeurs

    • Effectivement, idem pour les articles

      ce site est hébergé chez lautre.net

      Claude

    • Bonjour
      certaine config de serveur de bdd comme Maria sont en effet paramétré comme ça l’auto increment est à 2
      Natacha

    • je vais regarder de plus près
      Merci
      Claude

    Répondre à ce message

  • 7

    Bonjour,

    Je m’aperçois que les datepicker ne fonctionnent pas pour de la création d’un événement quand on installe jQuery UI.
    Installation vierge en local et serveur : SPIP 4.0.0 + Agenda 4.3.4 + jQuery UI 1.14.2.

    https://git.spip.net/spip-contrib-extensions/agenda/issues/34

    Merci,
    François

    • je constate la même chose spip 4.0
      si j’installe le plugin jQuery UI je n’ai plus le piker dans evenement.

      si je le désinstalle ... j’ai le piker mais le plugin massicot ne fonctionne pas correctement ( pas de curseur au zoom, donc pas de redimensionnement)

    • merci beaucoup
      avec spip 4.0 ,agenda V4.1.5 et V1.4.2
      le picker de agenda fonctionne et le zoom de massicot aussi

    • par contre le nettoyage des anciens evenements donne toujours une erreur

    • La version 4.3.7 du plugin agenda répare les 2 problèmes (picker avec jQueryUI et erreur fatale lors de la suppression des vieux événements)

    • Merci @cerdic !

    • Je viens de faire le test les deux fonctionnalités fonctionnent bien avec 4.3.7
      merci beaucoup

    Répondre à ce message

  • bonjour,
    le mécanisme de suppression des evenements passés ne fonctionne pas sur mes sites avec spip 4 et agenda v4.3.4
    EN plus si je vais dans maintenance, tache de fond et que met "executer" maintenant a "Tâche CRON agenda_effacer_evenements_passes (toutes les 86400 s) |" j’obtiens :

    « Fatal error : Uncaught Error : Call to undefined function affdate() in ....\plugins\agenda-ef595-v4.3.4\agenda\genie\agenda_effacer_evenements_passes.php on line 22

    ( ! ) Error : Call to undefined function affdate() in ....\plugins\agenda-ef595-v4.3.4\agenda\genie\agenda_effacer_evenements_passes.php on line 22

    Call Stack
    # Time Memory Function Location
    1 0.0002 368696 main( ) ...\index.php:0
    2 0.0229 711072 traiter_appels_actions( ) ...\index.php:72
    3 0.0324 728752 action_forcer_job_dist( ) ...\aiguiller.php:74
    4 0.0488 1151816 queue_schedule( ) ...\forcer_job.php:37
    5 0.0517 1214496 queue_start_job( ) ...\queue.php:393
    6 0.0537 1216680 genie_agenda_effacer_evenements_passes( ) ...\queue.php:264
     »
    avez vous une idee du problème

    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