Plugin Contacts & Organisations

Ce plugin ajoute à SPIP des fonctionnalités de gestionnaire de contacts. Distingue les personnes morales (organisations) des personnes physiques (contacts) en conservant tous les attributs des auteurs SPIP.

En conjonction avec le plugin Coordonnées, il permet d’étendre à la fois les champs unitaires (prénom, date de naissance…) et les champs multiples (numéros de téléphone, adresses mail…).

Principe

Comme un certain nombre d’autres plugins jusque là, « Contacts & Organisations » ajoute des champs indispensables à la table spip_auteurs, dès lors qu’il s’agit de gérer des personnes d’une manière un peu poussée. La table spip_auteurs est par nature, et historiquement sans doute, limitée aux champs nécessaires pour la rédaction d’articles. Dès que cette table doit être utilisée pour d’autres fonctions (inscription, transaction, etc.) certaines caractéristiques lui font défaut, et parmi elles :

-  prénom, date de naissance, autres informations personnelles
-  notion de « groupes d’auteurs »
-  plus de une adresse mail, plusieurs numéros de téléphone ou ID communautaires (ICQ, MSN)
-  autres informations spécifiques à l’utilisation

Objectif

Lors du développement du plugin nous avons veillé à ce que la notion d’auteur SPIP soit conservée. Nous avons par exemple choisi de ne pas modifier l’intégrité de la table spip_auteurs, ce qui permet de conserver possibilités de gestion déjà développées, telles que celles fournies par les plugins acces_restreint ou spip_liste. Ainsi, nous avons seulement ajouté les tables nécessaires à l’ajout de propriétés aux auteurs et les avons liées à la table spip_auteurs.

Ce plugin est déjà utilisé par le plugin Catalogue, et le plugin SPIPMine.

Fonctionnement

Une fois le plugin installé, une nouvelle boîte de dialogue apparait dans l’interface privée sur la page d’un auteur :

Tous les auteurs SPIP du site peuvent désormais acquérir un statut de « contact » ou d’« organisation ».

Exemple 1 : ajouter un contact

Prenons l’exemple d’un auteur SPIP dont on veuille gérer distinctement le nom, le prénom et l’activité (fonction). Si on attribue à cet auteur le statut de contact, les champs nom, prénom, et activité seront disponibles dans les boucles #AUTEUR. Pour conférer le statut de « contact » à un auteur SPIP, dépliez la boîte et cliquez sur « devenir contact » :

Dès lors, les champs supplémentaires de la fiche contact sont disponibles sur la fiche auteur sur la page d’édition d’un auteur. Pour ajouter les informations correspondant à ces champs, cliquez sur « modifier cet auteur », puis descendez jusqu’à « détails du contact » :

Si le plugin coordonnées est aussi installé, il est possible d’ajouter des numéros de téléphone, adresses mail ou adresses postales à ce contact :

Exemple 2 : ajouter une organisation

De la même manière, on peut attribuer à un auteur SPIP le statut « organisation » (une société, une association...) afin de gérer par exemple une liste de fournisseurs ou de clients.

Choisissez l’auteur SPIP à qui attribuer le statut d’organisation, puis dépliez la boite de dialogue « Contacts & Organisations » et cliquez sur « Devenir une organisation ». Modifiez l’auteur (maintenant devenu une organisation) et ajoutez lui les informations nécessaires. Ce qui donnera, par exemple :

Exemple 3 : lier un contact à une organisation

Le plugin permet de lier un ou plusieurs contacts, à une ou plusieurs organisations. Cette fonctionnalité (en cours de test) est inspirée des logiciels CRM de gestion de contacts.

On peut lier un contact avec une organisation, soit depuis une fiche contact, soit depuis une fiche organisation. Voici un exemple de liaison d’un contact avec une organisation à partir d’une fiche organisation.

Depuis la fiche « auteur » de l’organisation, dépliez la la boite de dialogue ; un champ de saisie apparait et permet de rechercher un contact [1] à lier à l’organisation.

Une fois le(s) contact(s) trouvé(s) par SPIP affiché(s), cliquez sur le « + » pour lier ce contact à l’organisation. Pour « délier » le contact de l’organisation, il suffit de cliquer sur le bouton « délier » (icône en forme de maillon de chaine rompu).

Dépendances

Le plugin « Contacts & organisations » nécessite le plugin saisies en version 1.7.7 minimum (pour la saisie du champ date).

Nouvelles tables / nouveaux champs

Le plugin installe 3 nouvelles tables, et permet d’utiliser de nouveaux champs dans les boucles #AUTEURS :

  • table spip_contacts :
    • #CIVILITE
    • #NOM
    • #PRENOM
    • #FONCTION
    • #DATE_NAISSANCE
    • #DESCRIPTIF
  • table spip_organisations :
    • #NOM
    • #STATUT_JURIDIQUE (anciennement « type »)
    • #IDENTIFICATION (anciennement « siret »)
    • #ACTIVITE
    • #DATE_CREATION
    • #DESCRIPTIF
  • table spip_contacts_organisations
    • pas de champ nouveau, mais permet de déterminer des liaisons entre contacts et organisations

Annuaires

Il est possible de regrouper des organisations et/ou des contacts, en les séparant dans des annuaires différents. Chaque fiche ne peut appartenir qu’à un seul annuaire.

Partie expérimentale

Rq : les pages présentées ici ont bien évolué depuis la création de cette documentation.

Deux pages de gestion des contact et des organisations sont en cours d’élaboration et présentes dans le plugin :

Les fonctionnalités sont à imaginer à partir de ces pages (imports, transformations en masse, etc.). N’hésitez pas à faire des suggestions.

Notes

[1un spip_auteur ayant le statut de contact

Discussion

89 discussions

  • Est-il possible d’y ajouter une gestion d’abonnement avec date d’inscription et période d’abonnement (1jour, 1 mois, 1an, etc.) ?

    Arrivé la date d’échéance, l’auteur se change automatiquement en visiteur pour ne plus avoir d’accès privés. Les admins et l’auteur recoivent une notification indiquant la fin de l’échéance et la désincription de l’auteur.

    Comme spip est spécialisé dans les contenus rédactionnels, cette fonction d’abonnement à un contenu (comme la presse papier) me semble important.

    Répondre à ce message

  • Bonjour,

    En version spip 3.0.13, quand je vais sur la fiche d’un auteur je n’ai pas la boite contact et organisations.

    Je peux par contre créer un contact ou une organisation depuis le menu éditer où j’ai bien l’item contact et organisation.

    Répondre à ce message

  • 1

    Bonjour

    J’aurais besoin que les rédacteurs puissent modifier, avec les crayons, les champs de l’organisation.

    Pour le moment, pas possible, dans la console avec

    define ('_DEBUG_AUTORISER', true);

    ca donne

    Apr 17 09:03:32 ::1 (pid 19233) :Pub:info: autoriser_organisation_modifier_dist(modifier,organisation,32,vdcsophied): niet

    que faire que faire ?
    merci

    • Je dirais que tu as fait le plus gros du travail : identifier la fonction de autorisation « fautive » !

      Maintenant il suffit de surcharger cette autorisation
      tu trouveras plein d informations dans le « carnet-wiki » de ce site (cf. Menu) le premier article de réponses à « autorisations ».....

      YannX

    Répondre à ce message

  • rburton

    Bonjour,

    pour une raison que j’ignore, sur C&O et SPIP 3.0.16) le typage de liaison via editer liens simples (et crayons) n’enregistre pas en base de données ...

    merci,
    Roger Burton

    Répondre à ce message

  • bonjour,
    j’ai une erreur dans les logs apache, lors du chargement des pages auteur admin.

    PHP Warning : in_array() expects parameter 2 to be array, null given in /blabla/tmp/cache/skel/html_bdc22bcc0609832d2f5d81140920f489.php on line 114

    ... ce qui me revoie vers la ligne 44 du fichier /prive/squelettes/contenu/organisation sur auteur.html

    il faut tester si #CONFIGcontacts_et_organisations/lier_organisations_objets n’est pas vide et ça résoud le problème :

    [(#CONFIG{contacts_et_organisations/lier_organisations_objets}|oui) 
    [(#VAL{spip_rubriques}|in_array{
    #CONFIG{contacts_et_organisations/lier_organisations_objets}}|oui)
    <div class="ajax">
    	#FORMULAIRE_EDITER_LIENS{organisation,#ID_ORGANISATION,
    rubriques,#AUTORISER{modifier,organisation,#ID_ORGANISATION}}
    </div>
    ]
    ].

    (version du plugin 2.10.3)

    Répondre à ce message

  • 1

    Quand j’essaye de voir un contact il m’affiche l’erreur : impossible de trouver noisettes/formulaire_contact ?

    • Bonjour, lolo06
      Est-ce que tu pourrais nous indiquer les conditions dans lesquelles se produit cette erreur, et qui nous permettraient de la reproduire ? En général : version de SPIP et du plugin, autres plugins installés, éventuellement une url ou une copie d’écran... Merci !

    Répondre à ce message

  • 3

    Bon je vais essayer de pas me ridiculiser de nouveau ( voir question précédente) ...

    Apparemment les recherches (avec ou sans plugin fulltext) ne recherchent que ce qui se trouve dans le nom, mais rien n’est retourné si l’on cherche un terme qui est dans le descriptif ou dans l’activité ... Idem pour les contacts.
    J’ai ajouté des champs extras, la recherche marche pour ceux qui ont été stipulé comme inclus dans la recherche (dernier onglet de l’édition des champs).

    Bref ma question concerne la possibilité d’inclure un ou plusieurs champs « natifs » du plugin C&O dans la recherche de Spip ... (afin d’éviter de créer des champs extras en double des existants sur lesquels la recherche marcherait).

    Je me souviens d’un pipeline _rechercher_liste_des_champs qui liste les champs avec pondération, c’était en Spip2, je ne sais pas si ce mécanisme est toujours présent en 3, s’il est différent, ou on pourrait agir là-dessus au niveau du plugin, d’une déclaration dans mes_options, ... bref le brouillard ... si quelqu’un a une lumière, je suis preneur !

    Merci d’avance !

    • Pierrot

      Bonjour,

      Je me permet un petit up sur ce message, on me relance sur ce sujet ... Si une bonne âme a une idée ...

      Pierre

    • Tout pareil qu’en SPIP 2 le pipeline en question.

      Donc, en utilisant ce pipeline, tu peux ajouter les champs dont tu as besoin, avec la pondération dont tu as besoin :)

      MM.

    • Pierrot

      Pour d’autres qui chercheraient, ceci a l’air de marcher, exemple avec les champs « activite » et « descriptif » de la table « organisations » du plugin « contacts » (C&O) :

      $GLOBALS['spip_pipeline']['rechercher_liste_des_champs'] .="|contacts_rechercher_liste_des_champs";
      
      function contacts_rechercher_liste_des_champs($tables){
      $tables['organisation']['activite'] = 3;
      $tables['organisation']['descriptif'] = 3;
      return $tables;
      } 

    Répondre à ce message

  • 2
    Pierrot

    Bonjour,

    Je me demandais si quelqu’un avait été confronté au besoin d’ajouter plus d’une image à une organisation (par ex : créer une galerie d’image sur une organisation, en plus du logo que l’on peut déjà mettre).

    La seule solution que j’ai trouvée pour l’instant est d’ajouter le plugin CKeditor mais je trouve la solution loin d’être satisfaisante, ce plugin marche moyennement je trouve (en fait le plugin n’est pas en cause, c’est CKeditor qui pour moi marche moyennement, en gros c’est ok quand on crée un article, mais au bout de 10 modifs l’HTML est tellement trituré que c’est la cata ...).

    J’ai aussi regardé champs extra mais on n’a pas de champ image possible ... L’idéal serait d’avoir le simple « téléverser une image » et tout serait zen ...

    Pierre.

    • En SPIP 3, tu vas dans configurer > contenus du site > Documents joints. Puis tu coches les organisations. Et voilà, enjoy.

    • Pierrot

      Ok, je sors .... --->

      Vous avez gagné une invitation à boire un coup à Grenoble si jamais vous passez par là.
      Et moi un coup de pied au c.... J’ai montré ça pour autre chose à quelqu’un il y a pas une semaine ...

      Merci. Pierre qui devrait se coucher moins tard.

    Répondre à ce message

  • 4
    Xebiaut

    Bonjour,

    Je suis en SPIP 3.0.8 [20422] avec les plugins C_&_O et editer_liens_simples.zip pris directement sur ce site, donc les dernières versions.

    Je n’arrive ni à lier un auteur à un contact ni à une organisation. Le menu qui devrait le permettre ne s’affiche pas dans l’espace privé :-(

    Y aurait-il un bug ??

    • Bonsoir,

      J’ai eu le meme souci,
      qui s’est résolu en activant les choix correspondants
      dans la configuration du plugin.

      Cdlt
      YannX

    • C-joint une copie de l’ecran de configuration
      pour compléter la documentation du plugin (C_&_O_SPIP3 v2.6.5)
      /ecrire/ ?exec=configurer_contacts

    • Xebiaut

      Bonsoir,
      Je suis peut être un peu idiot ou très fatigué, mais je ne trouve pas le lien permettant de gérer la configuration de ce plugin :-(

    • En général y a une icône (tournevis) sur la page d’administration des plugins, sur les plugins actifs qui ont des configurations. Ça doit aussi être le cas pour celui-là. En SPIP 3 en tout cas.

    Répondre à ce message

  • 4

    Bonjour,

    Très bon plugin qui permet une meilleure gestion des informations des contacts indépendamment de la gestion des auteurs native de spip.

    J’obtiens cette erreur (voir image) lorsque je souhaite ajouter une organisation sans pour autant que cela nuise au fonctionnement de l’ensemble.

    Je dois préciser que j’utilise le plugin Champs extras sur l’objet ’Contacts’. Est ce la cause ?

    Merci de l’éclairage.

    Coordonnées 2.0.18 - test
    SPIP 3.0.5 [19905]
    Champs Extras 3.2.3 - stable

    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