Ceci est une ancienne révision du document !
Table des matières
SYMPA : famille
Une famille permet de générer plusieurs listes en une seule fois
Création
1 - création d'une nouvelle famille
# cd ~sympa/etc/inpg.fr/families # mkdir <nouvelle-famille> # chown sympa:sympa <nouvelle-famille>
Dans le dossier <nouvelle-famille> copier les fichiers
- config.tt2 (copier celui du modèle de liste désiré sous ~sympa/etc/create_list_templates et modifier le si besoin )
- param_constraint.conf
## No specific constraints on this list
- edit_list.conf que dans le cas où l'on veut des autorisations différentes pour les propriétaires
2 - création d'un script perl générant les fichiers xml des listes d'une famille
Sous /usr/local/SCRIPTS/sympa/FAMILLE
Exemple : families-creation_labo-dir.pl
#!/usr/bin/perl -w # # families-creation_<.......>.pl # # Catherine.Balleydier@inpg.fr # # maj : 07/03/08 # ######################################################################## # # creation de famille de listes # ######################################################################## # $REP = "/usr/local/SCRIPTS/sympa/FAMILLE/families/"; # # categorie principale dans topics.conf # $categorie = "composantes" ; # # LABO : "<nom de l'entite>" , "<correspondance dans topics.conf"> # %LABOS = ( "ENSEEG" , "Enseeg" , "ENSERG" , "Enserg" , ) ; # # proprietaires des listes # @OWNERS = ( "catherine.balleydier\@inpg.fr" , "john.smith\@inpg.fr" , ) ; # # FONCTIONS : "<fonction apparaissant dans le nom de la liste>" , # "<texte pour les champs objet et description"> # %FONCTIONS = ( "ressources-humaines" , "ressources humaines" , "finances" , "services financier" ); $family = "ecole-rh.xml" ; $FAMIL = "$REP"."$family" ; open (FICH, ">$FAMIL") || die "Cannot open fichier: $!"; print FICH "<?xml version=\"1.0\" ?>\n" ; print FICH "<family>\n" ; # # script shell pour fermer l'espace documentaire # $FERM = "$REP"."fermer-esp-doc.sh" ; open (PART, ">$FERM") || die "Cannot open fichier: $!"; print PART "#!/bin/sh\n" ; foreach $Fonction (keys %FONCTIONS) { foreach $labo (keys %LABOS) { # nom en minuscule $labomin = lc("$labo") ; # $description = "Joindre les "."$FONCTIONS{$Fonction}"." "."$labo" ; $NomListe = "$labomin"."."."$Fonction" ; print FICH " <list>\n" ; print FICH " <listname>"."$NomListe"."</listname>\n" ; print FICH " <topics>"."$categorie"."/"."$LABOS{$labo}"."</topics>\n" ; print FICH " <subject>"."$description"."</subject>\n" ; print FICH " <description>"."$description"."</description>\n" ; print FICH " <status>open</status>\n" ; print FICH " <shared_edit>editor</shared_edit>\n" ; print FICH " <shared_read>private</shared_read>\n" ; print FICH " <language>fr</language>\n" ; foreach $owner (@OWNERS) { print FICH " <owner multiple=\"1\">\n" ; print FICH " <email>"."$owner"."</email>\n" ; print FICH " <profile>normal</profile>\n" ; print FICH " </owner>\n" ; } print FICH " </list>\n"; $AdrList = "/home/sympa/expl/inpg.fr/"."$NomListe" ; print PART "mv "."$AdrList"."/shared "."$AdrList"."/pending.shared \n"; } } print FICH "</family>\n"; close FICH ; close PART ; chmod (0700 , "$FERM" , "/a") ;
Lancement du script qui crée un fichier xml dans le répertoire /usr/local/SCRIPTS/sympa/FAMILLE/families
# /usr/local/SCRIPTS/sympa/FAMILLE/families-creation_labo-dir.pl
3 - Génération des listes
# ~sympa/bin/sympa.pl --instantiate_family laboratoire-directeur --robot listes.grenoble-inp.fr
--input_file /usr/local/SCRIPTS/sympa/FAMILLE/families/laboratoires-directeurs.xml
Puis effacement de l'espace documentaire
# /usr/local/SCRIPTS/sympa/FAMILLE/families/fermer-esp-doc.sh
Modification des paramètres d'une famille de liste
Modifier le script /usr/local/SCRIPTS/sympa/FAMILLE/families-creation_labo-dir.pl et l'éxécuter
# /usr/local/SCRIPTS/sympa/FAMILLE/families-creation_labo-dir.pl
Puis relancer l'instantiation de la famille
# ~sympa/bin/sympa.pl --instantiate_family laboratoire-directeur --robot inpg.fr
--input_file /usr/local/SCRIPTS/sympa/FAMILLE/families/laboratoires-directeurs.xml
Suppression d'une famille
# ~sympa/bin/sympa.pl --close_family enseignants --robot inpg.fr # rm -f ~sympa/etc/inpg.fr/families/enseignants/*.xml
Ajout d'une liste à une famille
# ~sympa/bin/sympa.pl --add_list laboratoire-directeur --robot inpg.fr
--input_file /usr/local/SCRIPTS/sympa/FAMILLE/families/laboratoires-directeurs-2.xml
Suppression d'une liste à une famille
Suppression de la liste biologie.directeur@inpg.fr
# ~sympa/bin/sympa.pl --close_list biologie.directeur@inpg.fr
Modification d'une liste appartenant à une famille
# ~sympa/bin/sympa.pl --modify_list laboratoire-directeur --robot inpg.fr
--input_file /usr/local/SCRIPTS/sympa/FAMILLE/families/laboratoires-directeurs-3.xml
