Importateur de contacts

Un plugin générique pour importer des contacts.

Description

Ce plugin est un outil pour développeurs, qui fournit un formulaire configurable d’importation de contacts.

Le plugin en lui-même ne propose aucun service web chez qui récupérer les contacts. Il offre un API (interface de programmation) que d’autres plugins doivent implémenter afin de fournir tel ou tel service d’importation.

De la même façon, ce plugin ne fait aucun traitement. À la fin de l’importation, la liste des contacts est enregistrées dans une variable de session « contacts », et une fonction de rappel peut également être appelée (voir plus bas).

Configuration du formulaire

Lorsqu’au moins une implémentation est installée, vous pouvez aller configurer le plugin dans l’espace privé. La page liste alors l’ensemble des services possibles, et c’est à vous de choisir lesquels vous désirez activer.

Les implémentations connues que vous pouvez installer :

Utilisation du formulaire

Le formulaire est appelé par #FORMULAIRE_IMPORTER_CONTACTS.

Deux arguments optionnels sont acceptés : #FORMULAIRE_IMPORTER_CONTACTS{URL de retour, fonction de rappel}

  • URL de retour : comme dans la majorité des formulaires SPIP, vous pouvez définir vers quelle page le formulaire renverra à la fin du traitement.
  • La fonction de rappel correspond au nom d’une fonction existante dans votre application, qui sera alors appelée à la fin de l’importation, avec en paramètre le tableau des contacts importés. Par exemple : function mon_traitement($contacts).

La liste des contacts, que ce soit en session ou pour la fonction de rappel, est un tableau constitué d’une liste de tableaux ayant « nom » et « email » comme clés :

array(
	array('nom' => 'Georges', 'email' => 'gigi@lamoroso.org'),
	array(...),
)

API pour ajouter des services

Un plugin voulant implémenter cette fonctionnalité, doit :

  • utiliser le pipeline importateur_contacts_moteurs pour déclarer le moteur et ses fournisseurs ;
  • avoir une fonction formulaires_importer_contacts_charger_NOMDUMOTEUR($fournisseur) qui déclare les champs nécessaires à ce moteur ou au fournisseur précis choisi (que l’on a en paramètre) ;
  • avoir un squelette formulaires/importer_contacts_NOMDUMOTEUR.html avec le HTML de ces champs ;
  • avoir une fonction formulaires_importer_contacts_verifier_NOMDUMOTEUR($fournisseur) qui vérifie la validité de ces champs ET qui va chercher les contacts en utilisant le fournisseur choisir ET qui place ces contacts dans set_request('contacts', $contacts).

Pour les détails, il faudra pour l’instant étudier le code du plugin OpenInviter.

Discussion

Aucune discussion

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