====== SYMPA : famille ====== Une famille permet de générer plusieurs listes en une seule fois * https://sympa-community.github.io/manual/admin/list-creation.html * https://sympa-community.github.io/manual/customize/basics-families.html ===== Création ===== ==== 1 - création d'une nouvelle famille ==== # cd ~sympa/etc/inpg.fr/families # mkdir # chown sympa:sympa Dans le dossier 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 : "" , " # %LABOS = ( "ENSEEG" , "Enseeg" , "ENSERG" , "Enserg" , ) ; # # proprietaires des listes # @OWNERS = ( "catherine.balleydier\@inpg.fr" , "john.smith\@inpg.fr" , ) ; # # FONCTIONS : "" , # " # %FONCTIONS = ( "ressources-humaines" , "ressources humaines" , "finances" , "services financier" ); $family = "ecole-rh.xml" ; $FAMIL = "$REP"."$family" ; open (FICH, ">$FAMIL") || die "Cannot open fichier: $!"; print FICH "\n" ; print FICH "\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 " \n" ; print FICH " "."$NomListe"."\n" ; print FICH " "."$categorie"."/"."$LABOS{$labo}"."\n" ; print FICH " "."$description"."\n" ; print FICH " "."$description"."\n" ; print FICH " open\n" ; print FICH " editor\n" ; print FICH " private\n" ; print FICH " fr\n" ; foreach $owner (@OWNERS) { print FICH " \n" ; print FICH " "."$owner"."\n" ; print FICH " normal\n" ; print FICH " \n" ; } print FICH " \n"; $AdrList = "/home/sympa/expl/inpg.fr/"."$NomListe" ; print PART "mv "."$AdrList"."/shared "."$AdrList"."/pending.shared \n"; } } print FICH "\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 inpg.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 Puis suppression des listes correspondantes sous ~sympa/liste-data/inpg.fr * soit par l'interface web : menu "Administrateur des listes" puis "Les listes" puis Listes fermées". * soit par un rm -r [nom de liste] sous ~sympa/liste-data/inpg.fr ===== 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