Tâche #36913
Scénario #35899: Restreindre les droits d'écriture sur les listes générées
Étude
0%
Historique
#1 Mis à jour par Benjamin Bohard il y a 9 mois
- Statut changé de Nouveau à En cours
#2 Mis à jour par Benjamin Bohard il y a 9 mois
L’intégration de la proposition présente quelques difficultés devrait être effectuée dans scribe-backend plutôt que dans eole-sympa : les informations consolidées pour la construction des filtres LDAP sont dans scribe-backend (compatibilité AmonEcole, Scribe, etc.).
#3 Mis à jour par Benjamin Bohard il y a 9 mois
La configuration des listes¶
Les configurations des listes sont pêle-mêle dans le répertoire /var/lib/sympa/expl.
Pour faire le lien avec des groupes d’établissements particuliers il faut récupérer la ligne "suffix1".
Pour faire simple, on peut supprimer tous les "blocs" editor_include, si ils existent, et injecter les "blocs" editor_include souhaités.
Les data_sources de sympa¶
Sympa peut utiliser des requêtes LDAP à deux étages pour constituer des listes d’utilisateurs. Ces requêtes sont décrites dans des fichiers, un par requête.
C’est ce mécanisme qui est utilisé avec l’option editor_include pour définir les éditeurs des listes de diffusion.
Les requêtes (et les fichiers) sont réputées figées et n’ont besoin d’être construites qu’une seule fois.
Les données utiles pour construire ces requêtes sont les numéros d’établissement, le base_dn et les noms des groupes.
Dans le cas multi-établissement, on peut utiliser une fonction du module scribe.eoleldap pour lister les différents établissements. Le module scribe.ldapconf apporte une partie des autres informations, propagées dans scribe.eolegroupe qui apporte les autres informations.
Les groupes déclarés éditeurs des listes de diffusion¶
Pour le choix des groupes qui sont déclarés éditeurs des listes de diffusion, voici l’approche proposée :
- nouvelles variables dans le dictionnaire 25_sympa.xml ;
- récupération de ces variables dans les différents template ldapconf.conf (différents selon le module) chargés dans le module python scribe ;
- nouvelles variables dans le module python scribe utilisées pour la déclaration des nouvelles listes.
dictionnaire 25_sympa.xml¶
Dans l’onglet messagerie, dans la section qui propose l’activation de sympa, choix d’un modèle de liste d’éditeurs.
Par défaut, le modèle est AAF.
Le seul autre choix pour l’instant serait "personnalisé" qui permet d’afficher une variable multivaluée pour saisir des noms de groupes.
Dans le cas d’un modèle prédéfini comme AAF, les groupes associés sont déclarés dans le module scribe.
Le problème résiduel est le masquage de ces nouvelles variables dans les contextes où elles ne sont pas pertinentes (sympa installé hors Scribe, AmonEcole, etc. ?).
ldapconf.conf¶
Ce template existe en plusieurs versions, selon le module. C’est la raison pour laquelle il vaut mieux privilégier une simple récupération des valeurs de configuration creole pour ne pas avoir à maintenir un code trop complexe à plusieurs endroits.
scribe.ldapconf.py¶
Ce module lit le précédent fichier de configuration.
Il construit l’ensemble des variables nécessaires pour le reste du module scribe.
Ça semble le meilleur endroit pour initialiser la variable utile : la liste des groupes d’éditeurs.
La variable du modèle (AAF par défaut) est une variable intermédiaire qui n’a pas besoin d’être propagée.
#4 Mis à jour par Benjamin Bohard il y a 7 mois
- Statut changé de En cours à À valider