Table of contents
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.
Discussions par date d’activité
84 discussions
À la manière de ce que fait le plugin “auteurs partout”, y a-t-il un moyen pour lier un évènement (agenda), un article etc... non pas à un auteur mais à une organisation ?
Oui c’est dans la config du plugin, tu peux dire sur quels objets tu veux lier des Contacts ou des Organisations, et donc après t’as les boites de liaison sur les objets cochés.
Reply to this message
Tout en abord bravo pour ce plugin que j’utilise avec beaucoup de plaisir.
Je ne souhaite pas qu’un auteur devenu une Organisation utilise son identifiant et son mot de passe. Cette utilisation au nom d’une Organisation est générique. Or, le RGPD demande à ce que nous puissions avoir une traçabilités des opérateurs et ce mode de connexion me pose problème.
En d’autres termes, je souhaite que seul les Contacts puissent se connecter en tant qu’Auteur.
Y-a-t-il une démarche simple que je puisse mettre en œuvre ?
merci par avance.
vider leur login et leur mot de passe ?
Oui, démarche simple et efficace. Merci.
Et lors de création, ne pas indiquer de login et mot de passe pour ne pas permettre d’accès.
Reply to this message
Salut à tous
je crée un auteur
je l’associe à un contact
en rééditant l’auteur, je sélectionne l’annuaire “Boulanger” pour ce contact
dans la page contacts et organisation
il y a 3 onglets : Répertoire, Organisations, Contacts
dans Répertoire, s’affichent les annuaires
je sélectionne l’annuaire “Boulanger”
et je ne vois pas le nouveau contact
pour le voir dans cette liste,
il faudrait que j’ajoute le contact à cet annuaire
ce qui ajouterait une entrée dans spip_contacts_liens
dans Contacts, là je retrouve aussitôt mon auteur
dans l’onglet de l’annuaire “Boulanger” à partir du champ id_annuaire de spip_contacts
ce n’est pas un peu tordu ce truc ?
pourquoi donc ces deux fonctionnement ?
c’est très déroutant
Salut, je pige pas pourquoi tu parles de table de lien. L’annuaire est unique pour une fiche (contact ou orga), soit il n’est nulle part, soit il est dans un annuaire, avec son champ id_annuaire rempli. Ya pas plusieurs fonctionnements.
Reply to this message
Bonjour,
Je n’arrive pas afficher une organisation suivant un mot clef dans un squelette, par exemple :
Si l’auteur n’est pas une organisation, il est bien affiché par la boucle
Merci pour vos lumières !
Bon, à priori, il faut ajouter l’organisation au mot clef et non le mot clef à l’organisation pour que cela fonctionne.
Bah non, ça ne veut plus dire la même chose, c’est pas du tout pareil.
Quand deux objets ont des tables de liens, il faut spécifier explicitement la liaison que tu cherches à faire sinon il utilise la première table de lien qu’il trouve, celle de l’objet principal de la boucle.
Il faut mettre
{mots_liens.id_mot}
Oh ! Je te remercie beaucoup pour ta réponse :) et évidemment cela fonctionne parfaitement.
Reply to this message
Avec Spip 3.1.1 j’ai un problème que je n’ai pas avec Spip 3.1.0, à savoir l’impossibilité d’afficher une page ’annuaire.html’ dans la partie publique du site, avec l’erreur suivante:
Ceci, quelque soit le réglage de la fonction ’Activer les squelettes publics pour ZPIP en version 1, permettant le parcourir les contacts et organisations dans l’espace public ?’.
D’autres rencontrent le meme problème?
Je ne vois pas trop le rapport avec cette erreur. Car c’est surtout une erreur 404 que tu devrais avoir, vu qu’il n’existe pas du tout de squelette “annuaire” par défaut. À moins que tu n’en ais toi-même ajouter un perso.
Reply to this message
Tout à coup mon merveilleux petit plugin me fait des siennes?
Erreur SQL 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’)) AS titre_rang FROM `xxxxxxxxx`.spip_contacts AS `contacts` WHERE (contacts’ at line 1
SELECT contacts.prenom, contacts.nom, contacts.id_contact, nom)) AS titre_rang FROM spip_contacts AS `contacts` WHERE (contacts.id_contact = xxxxx)
/home/xxxxx/www/ecrire/public/composer.php
Boucle: calculer_select() sql_select();
Ligne: 1005
A l’aide !
Oui, il faut avoir SPIP à jour pour cette mise à jour du plugin :(
Un bug dans la balise #RANG a été corrigé récemment, et il y a besoin de cette correction pour l’amélioration apportée dans la déclaration du titre des contacts.
Soit avec SVN, soit avec le ZIP de la branche stable (pas de telle version précise, mais de la branche).
Reply to this message
Bonjour,
Oui, bravo pour ce plugin.
Nouvelle suggestion :
Lorsque le champ
#NOM
n’est utilisé qu’avec des initiales, exemple “D.”, conjointement avec un prénom complet, l’URL résultante est de la formecontact2.html
car#NOM
trop court.Pourrait-on proposer, si le
#PRENOM
existe, de l’utiliser pour allonger l’URL, qui deviendrait de la formelouis-d.html
?Merci
Et dans les mêmes circonstances, dans l’espace privé, pour notifier dans la colonne gauche des objets récemment édités, afficher prénom et nom au lieu du nom seul.
J’ai déclaré le titre de l’objet comme étant prénom et nom.
Mais cela a fait planter le plugin Numérotation, qui n’était pas solide dans son scannage du titre déclaré. J’ai donc corrigé ce plugin :
http://zone.spip.org/trac/spip-zone/changeset/95747
Mais ça continuait car la balise #RANG du noyau aussi n’était pas solide dans son utilisation de la description du titre. J’ai donc dû corriger le noyau (3.0, 3.1, 3.2) :
http://core.spip.org/projects/spip/repository/revisions/22875
http://core.spip.org/projects/spip/repository/revisions/22876
http://core.spip.org/projects/spip/repository/revisions/22877
Et là ENFIN j’ai pu déclarer prénom et nom :
http://zone.spip.org/trac/spip-zone/changeset/95749
MERCI pour cette insomnie Stéphane, MERCI. :D
Bon au moins ça a corrigé des trucs…
:-D
J’imagine combien tu as dû râler et regretter cette initiative hier soir, au fur et à mesure que les plantages se présentaient...
Alors tous mes remerciements pour
cetteces évolutions !Et une excellente journée à toi !
D’ailleurs la mise à jour modifiant le titre par défaut ne méritait-elle pas un Up version de ’
y
’ au lieu de ’z
’ ?Reply to this message
Hello
re-merci pour cet excellent plugin (on le ne dit jamais assez)
Juste pour signaler un truc pas grave du tout mais que mes admins n’ont pas manqué de souligner (ils ont le don pour trouver tout de suite ce qui ne fonctionne pas ,-) ) : depuis peu on dispose d’un menu abc pour naviguer dans les organisations. Très bonne idée. Cependant sur notre site (en 3.0) il est inopérant : on voit qu’il se passe quelque chose, la petite roue indique un rechargement ajax de la liste, mais elle reste identque quelle que soit la lettre sur laquelle on clique.
Voilà. Comme je le disais c’est pas bloquant.
Peut-être est-ce un conflit avec un autre plugin ou un truc manquant chez nous ? Mais si jamais c’est un bug du plugin et que ça peut être fixé dans une prochaine version ça fera des heureux.
Merci !
chez-moi-ça-marche ©
ça reste évidemment identique si la lettre sur laquelle tu cliques commence sur la page sur laquelle tu es déjà
par contre il manquait les ancres, qui étaient dans les URL mais pas dans le HTML, je viens de les rajouter :
http://zone.spip.org/trac/spip-zone/changeset/95729
Toujours pas chez moi.
Je vais regarder ça d’un peu plus près voir si je trouve un début de piste, conflit de plugins ou autre.
J’ai eu un espoir en me disant “ben oui les ancres !” heu. Mais non. Je vais dégainer firebug ;-)
Reply to this message
Bonjour,
Un bug à signaler sur V2.13.0 et qui était déjà sur 2.12.z, Spip 3.1.0
* Edition | Contacts et organisations
* Créer une organisation
* Saisie :
- Nom : 1ère-SI
- Organisation parente : sélection d’une autre organisation
- Enregistrer
* Redirigé vers
ecrire/?exec=organisation&id_organisation=0
donc message :
Mais l’organisation est bien créée
Merci
Reply to this message
Bonjour,
Est-ce qu’a été implémenté un critère
{branche}
qui permettrait de lister tous les contacts d’une organisation ET de ses sous-organisations ?Merci
Non, mais c’est une bonne idée à ajouter dans une todo effectivement…
Reply to this message
Ajouter un commentaire
Follow the comments:
|
