Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
Re: [sympa-fr] Utilisation des data sources pour les abonnés
- From: David Verdin <adresse@cachée>
- To: Raphaël RIGNIER <adresse@cachée>
- Cc: adresse@cachée
- Subject: Re: [sympa-fr] Utilisation des data sources pour les abonnés
- Date: Tue, 19 Jan 2010 13:14:09 +0100
Bonjour, et désolé de cette réponse tardive, Voici un splendide cas d'école pour les familles de listes ! Une famille de listes est un groupe de listes partageant une config de base commune, mais différent légèrement, sur un ensemble de paramètres. Par exemple : toutes les config sont identiques, mais les requêtes utilisées pour récupérer les listes d'abonnés sont différentes. Hein ? Voilà-t-y pas qu'on serait dans ce cas là ? :-P Le principe en gros : en règle générale, la différence essentielle entre deux listes, c'est leur config. On crée donc automatiquement les configurations à partir d'un modèle (config.tt2) dans lequel on insère des données issues d'un fichier XML. Sympa crée les listes automatiquement à partir de tout ça. Vous trouverez tous les détails supplémentaires dans la doc complète sur le site de Sympa : https://www.sympa.org/manual/list-families Allez, je fais un petit howto au passage : Comment créer une famille de listes. (note : je vais mettre des chemins correspondant aux chemins par défaut de Sympa, ils peuvent différer dans votre installation) Pour créer une famille de listes, il vous faut : - Un Sympa installé d'une version supérieure ou égale à 5.0 - Un accès au système de fichier du serveur Sympa (on n'a pas encore intégré ça dans l'interface web, mais ça va venir) - Un éditeur de texte (sans blagues...) 1- Rendez-vous dans le répertoire de données de votre serveur : ♯ cd /home/sympa/etc/ 2- s'il n'existe pas, créez le répertoire de familles # mkdir families 3- donnez ce répertoire à l'usager, vérifiez qu'il a bien tous les droits dessus : # chown sympa:sympa families # ls -al families drwxr-x--- 4 sympa sympa 4096 jui 28 16:03 families 4- La création de votre famille commence ! Créez une répertoire portant le nom de votre famille : # mkdir ma_famille # chown sympa:sympa ma_famille # chmod u+xrw ma_famille/ # chmod g+x ma_famille/ 5- Créez votre fichier config.tt2 : # cd ma_famille/ #emacs config.tt2 DANS LE CAS DES LISTES DE RAPHAËL (vu que c'est lui qui a posé la question, autant lui filer un gros coup de pouce), ce fichier aurait sans doute la structure ci-dessous. Cette structure est très basique mais devrait suffire pour créer les listes. Dans la doc de Sympa, vous trouverez tous la raffinements possibles. Il y en a. Enfin, je suppose que les paramètres de connexion à la base de données (nom de la base, password, etc.) sont les mêmes pour toutes les listes. Si ce n'est pas le cas, il faut en faire des paramètres dans le fichier XML. # Définition des requêtes utilisables, une et une seule fois [% SET requete1="SELECT ..." %] [% SET requete2="SELECT ..." %] [% SET requete3="SELECT ..." %] [% SET requete4="SELECT ..." %] subject [% subject %] owner_include source [% ownerfile %] reception nomail profile privileged [% FOREACH s=source %] include_sql_query db_type <type de BD> host <nom d'hôte> user <nom d'utilisateur> passwd <mot de passe> db_name <nom de la base> sql_query [% IF s == 1 %][% requete1 %][% ELSIF s == 2 %][% requete2 %][% ELSIF s==3 %][% requete3 %][% END %] [% END %]Attention à ne pas sauter dans ligne dans le bloc "sql_query [% IF s == 1 %][% requete1 %][% ELSIF s == 2 %][% requete2 %][% ELSIF s==3 %][% requete3 %][% END %]" ! Cela rendrait le paragraphe "include_sql_query" invalide ! 6- Créez le fichier XML contenant les données des listes # emacs donnees_ma_famille.xml Voici un exemple de fichier XML correspondant au mail d'origine de cette discussion. On suppose ici que le fichier /home/sympa/etc/data_sources/sourceProprios1.incl contient les données nécessaire à l'importation des propriétaires, c'est-à-dire une paragraphe "include_sql_query" valide. <?xml version="1.0" ?> <family> <list> <listname>liste1</listname> <subject>Le sujet de la liste 1</subject> <ownerfile>sourceProprios1</ownerfile> <source multiple="1">2</source> <source multiple="1">3</source> </list> <list> <listname>liste2</listname> <subject>Le sujet de la liste 2</subject> <ownerfile>sourceProprios1</ownerfile> <source multiple="1">3</source> <source multiple="1">4</source> </list> </family>7- Instancier la famille : # /home/sympa/bin/sympa.pl --instantiate_family ma_famille --input_file /home/sympa/etc/families/ma_famille/donnees_ma_famille.xml Là, vous devez avoir Une sortie du type : err Family::_load_param_constraint_conf() No file /home/sympa/etc/families/ma_famille/param_constraint.conf. Assuming no constraints to apply. ****************************************************************************** ******************** INSTANTIATION of ma_famille FAMILY ******************** ****************************************************************************** These lists have been updated and aliases are ok : liste1,liste2 L'erreur est normale (mais pas grave) parce que je ne vous ai pas fait créer de fichier "param_constraint.conf". Ce fichier peut définir les limites suivant lesquelles une config de liste peut être modifiée. En effet, toute liste créée à partir d'une famille peut être ensuite modifiée comme une liste normale. Les modifications ne seront pas perdues si on réinstantie la famille plus tard. En revanche, on peut contraindre la famille pour empĉher de positionner certaines valeurs pour certains paramètres. Mais pour tout cela, je vous renvoie à la doc de Sympa. du point de vue de ce petit tuto, c'est terminé ! À plus tard ! David Verdin Le 13/01/2010 11:31, Raphaël RIGNIER a écrit : adresse@cachée">David Prévot a écrit : -- David Verdin Comité réseau des universités |
-
[sympa-fr] Utilisation des data sources pour les abonnés,
Raphaël RIGNIER, 12/01/2010
-
Re: [sympa-fr] Utilisation des data sources pour les abonnés,
David Prévot, 12/01/2010
-
Re: [sympa-fr] Utilisation des data sources pour les abonnés,
Raphaël RIGNIER, 13/01/2010
- Re: [sympa-fr] Utilisation des data sources pour les abonnés, David Verdin, 19/01/2010
-
Re: [sympa-fr] Utilisation des data sources pour les abonnés,
Raphaël RIGNIER, 13/01/2010
-
Re: [sympa-fr] Utilisation des data sources pour les abonnés,
David Prévot, 12/01/2010
Archives gérées par MHonArc 2.6.19+.