Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Scénarios et famille de liste

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: David Verdin <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Scénarios et famille de liste
  • Date: Fri, 29 Nov 2013 17:33:33 +0100

Je viens de re-parcourir le code et je pense que je t'ai fait une fausse joie...

Au moment où on charge un scénario, on ne dispose pas d'objet liste (justement parce que ce chargement se produit pendant qu'on construit de tels objets).
Par conséquent, on ne peut pas savoir si la liste appartient ou non à une famille.

Pour réussir à utiliser une scénario spécifique à une famille, il faut que je change la manière dont on charge les configs de listes, ce qui semble un peut trop dangereux pour être introduit dans une version stable.

Je dois approfondir pour savoir comment m'y prendre et savoir si ça peut entrer dans la stable ou la prochaine instable.

Je vous tient au courant. En tout état de cause, cela ne sera certainement pas dans la 6.1.18.

Bon week-end à tous,

David

Le 22/11/13 15:02, François Périchon a écrit :
adresse@cachée">On 11/05/2013 05:44 PM, David Verdin wrote:
Bonjour,

Je sais que ça fait longtemps...

Bonjour,

Je ne vais pas m'en plaindre, ça fait aussi très longtemps...

Le 24/09/13 11:16, François Périchon a écrit :
Bonjour,

J'aimerais pouvoir utiliser des scénarios dédiés à une famille sans
que ceux-ci ne polluent la liste des scénarios génériques (la liste de
scénarios que l'on trouve dans l'interface web de configuration des
listes).

Pour obtenir cela, je copie manuellement le scénario dans chaque
directory de liste, ce qui peut parfois se révéler assez fastidieux.

Y-a-t-il un moyen plus pratique/automatique d'obtenir ce que je souhaite?
Voui, si tu es prêt à appliquer ce patch (qui, s'il te donne
satisfaction, finira dans la prochaine 6.1) :

Donc, j'ai appliqué le patch sur mon List.pm, mais je n'arrive pas à le faire fonctionner.
Voici ce que j'ai fait:
Création d'une famille de test avec "send test" dans le config.tt2
et un scenario send.test dans /etc/sympa/families/test/scenari/

sympa.pl --instantiate_family=test --input_file=/etc/sympa/families/test/test-full.xml

err Scenario::new() Unable to find scenario file 'send.test', please report to listmaster

Quand je me connecte sur la page d'admin wwsympa, j'ai un scenario vide qui est sélectionné et le scenario send.test n'apparaît pas dasn la liste déroulante.

Des idées sur ce que j'ai pu ne pas faire correctement?

Cordialement,

Index: src/lib/List.pm
===================================================================
--- src/lib/List.pm    (révision 9950)
+++ src/lib/List.pm    (copie de travail)
@@ -7773,13 +7773,25 @@
      my $directory = "$self->{'dir'}";
      my %list_of_scenario;
      my %skip_scenario;
-
-    foreach my $dir (
-        "$directory/scenari",
-        "$Conf::Conf{'etc'}/$robot/scenari",
-        "$Conf::Conf{'etc'}/scenari",
-        Sympa::Constants::DEFAULTDIR . '/scenari'
-    ) {
+    my @list_of_scenario_dir;
+    if (defined $self->{'admin'}{'family_name'} ) {
+    @list_of_scenario_dir = (
+        "$directory/scenari",
+
"$Conf::Conf{'etc'}/$robot/families/$self->{'admin'}{'family_name'}/scenari",
+ "$Conf::Conf{'etc'}/families/$self->{'admin'}{'family_name'}/scenari",
+        "$Conf::Conf{'etc'}/$robot/scenari",
+        "$Conf::Conf{'etc'}/scenari",
+        Sympa::Constants::DEFAULTDIR . '/scenari'
+    );
+    }else{
+    @list_of_scenario_dir = (
+        "$directory/scenari",
+        "$Conf::Conf{'etc'}/$robot/scenari",
+        "$Conf::Conf{'etc'}/scenari",
+        Sympa::Constants::DEFAULTDIR . '/scenari'
+    );
+    }
+    foreach my $dir (@list_of_scenario_dir) {
      next unless (-d $dir);

      my $scenario_regexp = &tools::get_regexp('scenario');

Une petite explication tout de même. Par défaut, on cherche les
scénarios dans les répertoires suivants (dans l'ordre) :

 1. répertoire de configuration de la liste
 2. répertoire de configuration de l'hôte virtuel
 3. répertoire de configuration du serveur
 4. répertoire des scénarios par défaut de Sympa.

Avec le patch, cet ordre devient :

 1. répertoire de configuration de la liste
 2. répertoire de la famille de liste dans l'hôte virtuel
 3. répertoire de la famille de liste sans hôte virtuel
 4. répertoire de configuration de l'hôte virtuel
 5. répertoire de configuration du serveur (sans hôte virtuel)
 6. répertoire des scénarios par défaut de Sympa.

On a donc la précédence suivante : liste > famille > hôte virtuel > install.

Cordialement,

David Verdin

Cordialement,

--
A bug in Sympa? Quick! To the bug tracker!
<https://sourcesup.renater.fr/tracker/?group_id=23>
RENATER logo
*David Verdin*
Études et projets applicatifs

Tél : +33 2 23 23 69 71
Fax : +33 2 23 23 71 21

www.renater.fr <http;//www.renater.fr>
    RENATER
263 Avenue du Gal Leclerc
35042 Rennes Cedex






--
A bug in Sympa? Quick! To the bug tracker!

 
David Verdin
Études et projets applicatifs
 

Tél : +33 2 23 23 69 71
Fax : +33 2 23 23 71 21
 

www.renater.fr
RENATER
263 Avenue du Gal Leclerc
35042 Rennes Cedex



PNG image

Attachment: smime.p7s
Description: Signature cryptographique S/MIME




Archives gérées par MHonArc 2.6.19+.

Haut de le page