Gis - Agenda

Le plugin GIS - Agenda permet de lier plus facilement Gis et Agenda, en proposant d’ajouter un point géolocalisé directement après la création d’un évènement.

Le problème

Le plugin Agenda permet d’associer un lieu (par exemple “Bistrot des copains et des copines”) et une adresse (par exemple “Rue Tartempionne, à Truc-sur-Bidule”) à un évènement.

Il peut cependant être utile de considérer les lieux comme des objets à part, que l’on associe à des évènements. Par exemple :
-  pour pouvoir plus facilement lister l’ensemble des évènements d’un lieu
-  pour présenter une carte des évènements lieux par lieux
-  pour s’assurer de la cohérence de présentation des lieux.

Cela tombe bien, il existe un plugin qui permet de créer des points géolocalisés, que l’on peut assimiler à un lieu : le plugin Gis.

Cependant, il faut avec ce plugin créer un évènement, puis penser à associer le lieu.

Le plugins Gis - Agenda facilite le processus rédactionnel.

À l’installation

Le plugin règle automatiquement certains paramètres de GIS :

  • activation du géocoder
  • activation du champ adresse
  • activation de la liaison GIS-Evenements
  • création de deux rôles de liaison pour Gis :
    • “principal”, les points GIS liés à un évènement selon le rôle “principal” auront leurs informations automatiquement reproduites dans la table des évènements;
    • “autre”

Lors de la création d’un évènement

Étape 1 : création de l’évènement

Les champs “lieu” et “adresse” de l’évènement ne sont plus disponibles.

Formulation de création d’évènement

Étape 2 : association du point Gis à l’évènement

Une fois l’évènement créé, nous sommes automatiquement redirigé vers une page invitant à associer un point GIS à l’évènement.

Il s’agit d’un simple formulaire de liaison, sans spécificité. Il est bien sûr possible de créer “à la volée” le point GIS.

On insiste pour lier un point GIS à un évènement

Une fois ce formulaire rempli, nous sommes automatiquement redirigés vers la fiche de l’évènement côté privé. C’est bon, l’évènement est prêt !

Association en base de données

Que se passe-t-il si jamais nous désactivons GIS ? Les données de localisation seraient-elles perdues ?

Non, car le plugin Gis - Agenda stocke automatiquement le lieu et l’adresse dans la table spip_evenements lorsqu’on on associe avec le rôle “principal” un point GIS à un évènement.

Pour ce faire il utilise les données d’adresse de GIS et les réorganise pour les insérer dans ces deux champs. Le pipeline gis_agenda_mapper_champs permet de choisir comment fonctionne cette réorganisation.

Discussion

One discussion

  • 10

    Je m’occupe d’un agenda qui dispose d’un millier de point géo. Souvent les événements sont créés par nos visiteurs, sans que le point géo soit associé, ni le champs lieu rempli correctement.
    Ce plugin pourrait nous aider à améliorer cela, mais je m’interroge sur la façon dont seront traités les événements existants (nombreux).
    -  Si ils ont un point géo activé, les information du champ lieu de l’événement seront-elle écrasées par celle du point GIS du lieu ?
    -  Si il n’en n’ont pas, le lieu est seulement signalé par le champ lieu de l’événement, mais il devient alors non modifiable (si j’ai bien compris), sauf peut-être indirectement en modifiant le point géo.
    -  La possibilité d’un type ’autre’ est une bonne idée si un lieu atypique ou non défini est associé à l’événement, mais cela oblige à créer un point géo fictif. La possibilité de ne pas créer de lien et simplement renseigner le lieu dans l’événement serait utile pour gérer ces exeptions.

    Merci de votre opinion sur ces points ou ce que vous jugerez utile d’indiquer.

    • 1. Dès association d’un point gis, les informations sont recopiés dans la table
      2. Actuellement, effectivement le champ lieu est désactivé en édition lors de l’activation du plugin. On pourrait imaginer de rendre cela configurable/optionnel etc.

      Si l’option 2 vous intéresse, merci d’ouvrir un ticket sur git.spip.net (se créer un compte, attendre qu’1 admin valide, puis ouvrir le ticket). Je ne fais plus d’ajout de nouvelle fonctionnalité par simple message sur contrib.

    • Le risque de réactiver le champ lieu, c’est que les utilisateurs continuent à fonctionner de la même façon. Il faudrait que le champ devienne modifiable seulement si aucun point géo satisfaisant n’a été trouvé, mais je ne vois pas comment ça pourrait se mettre en place. (proposer le champ le lieu sur la page de choix du point GIS, mais en précisant que c’est un pis-aller ?)

      Autre précision : à l’installation du plugin, tous les évenements publiés voient leur champs lieu et adresse forcés aux valeurs du point GIS associé ? et dans le cas d’absence de point associé, ces valeurs sont inchangées, c’est ça ?

      OK je poserai un ticket en fonction de tes réponses

    • > (proposer le champ le lieu sur la page de choix du point GIS, mais en précisant que c’est un pis-aller ?)

      oui ca serait une solution, mais je ne vois pas trop l’interet alors (enfin si j’imagine un peu : pour éviter les lieux fictifs, comme par exemple lorsque le lieu n’est pas encore défini précisement genre ce sera “quelque part dans telle ville”)

      > Autre précision : à l’installation du plugin, tous les évenements publiés voient leur champs lieu et adresse forcés aux valeurs du point GIS associé ?

      non pas du tout, il n’y a pas de migration. A la fois pour des raisons de perf (mais bon ca se resoud) et de question de vérification de cohérence (parce que svt un champ lieu rempli à la main est pas très cohérent), donc difficile d’automatiser.

      Quand j’ai créé le plugin je n’avais qu’une 30aine d’evenement...

    • En fait comme notre agenda est ouvert à tout personne qui s’inscrit. Typiquement le gens s’inscrivent pour signaler un événement qui a lieu «chez eux». Mais on n’a pas souhaité leur donner le droit de créer des points géo; C’est les admins qui s’en chargent pour assurer la cohérence, mais évidemment c’est dans un second temps.

      Je cherche à éviter le scénario où un gestionnaire de salle veut saisir un événement, mais laisse tomber faute de trouver un point correspondant dans la base.

    • > Je cherche à éviter le scénario où un gestionnaire de salle veut saisir un événement, mais laisse tomber faute de trouver un point correspondant dans la base.

      je comprend. Peut être dans ce cas juste une case “je ne trouve pas mon lieu” ?

    • Oui, une case je ne trouve pas mon lieu serait une solution, avec l’indication de contacter par mail pour donner cette info, ou un champ supplémentaire qui s’ouvre à la coche de la case pour recevoir le détail manquant ?

      De toute façon, ça ne concerne que des situation transitoires vite résolues.

    • Plutot un champ supplémentaire.

      Cela étant, c’est un peu hors gis agenda de base et ce serait plus une extension à celui là je pense.

    • Je ne suis pas certain d’a quoi s’applique l’extension dont tu parles. Peux-tu préciser comment tu envisage cela.
      Pour ma part, je trouve que le besoin vient directement de l’invisibilisation du champ lieu, qui est intrinsèque au plugin Gis-Agenda.

    • Pour mon usage personnel, je n’ai absolument pas besoin de cela, et donc je ne veux pas que ce soit présent. Et en fait ton besoin est de contourner ce pourquoi gis agenda a été prévu (avec des bonnes raisons pour le faire, mais tout de meme).

      Dès lors on a 2 solutions :

      -  soit on fait une option à activer dans le plugin mere
      -  soit on fait un sous plugin qui se branche sur le premier

      J’ai tendance à préférer spontanément la seconde solution pour des raisons de pratiques de dev, mais c’est à voir.

    • Ta préférence semble logique.

      Par contre, je me rends compte, que mon besoin ne concerne que le formulaire de création/edition d’événement dans la partie publique. Or l’extension aurait pour effet d’amender le formulaire privé, mais la version publique étant une version surchargée, il faudrait que je la bidouille aussi.

      Je pense donc que mon besoin n’est pas sufisamment générique et que je vais modifier ma surcharge : créer une case à cocher et recycler un champ extra ’post-it’, déjà existant pour recevoir l’info manquante.

      Merci de cet échange qui m’a permis d’y voir clair et d’éviter de me lancer dans une tache non judicieuse.

    Reply to this message

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom