Development #17577
exporter le graphe des rôles en format type "plantuml"
Statut:
Rejeté
Priorité:
Bas
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
12 juillet 2017
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Pour débogue/expliquer, ça serait super d'avoir un export graphique du graphe des rôles :
En live, en SVG, via graphviz.
Et/ou une version à envoyer dans PlantUML, genre :
# liste des rôles object "Agent" as Role1 Role1 : slug: ... Role1 : id 42 object "Agent double" as Role2 Role2 : slug: ... Role2 : id 43 object "Agent traitant" as Role3 Role3 : slug: ... Role3 : id 42 # et le graphe Role1 <|-- Role2 Role2 <|-- Role3 Role3 <|-- Role1
Demandes liées
Historique
Mis à jour par Thomas Noël il y a presque 7 ans
Pour l'instant je m'amuse avec ce script qui me produit un fichier utilisable dans plantuml :
$ cat roles_plantuml.py from authentic2.models import Role roles = [] deps = [] for role in Role.objects.filter(ou__isnull=False).exclude(slug__startswith='_'): roles.append(u'object "{role.name}" as Role{role.id}'.format(role=role)) roles.append('') roles.append('Role{role.id} : {role.slug}'.format(role=role)) roles.append('Role{role.id} : id {role.id}'.format(role=role)) roles.append('') for child in role.children(include_self=False, annotate=True): if child.direct: deps.append('Role{role.id} <|-- Role{child.id}'.format(role=role, child=child)) print '@startuml' print '\n'.join(roles).encode('utf-8') print '' print '\n'.join(deps).encode('utf-8') print '@enduml'
Mis à jour par Frédéric Péters il y a plus de 6 ans
- Lié à Development #19758: Représentation graphique de l'arborescence des rôles ajouté
Mis à jour par Thomas Noël il y a 10 mois
- Statut changé de Nouveau à Rejeté
- Planning mis à Non
Idée rejetée, ça ne donnera jamais quelque chose d'exploitable dans la réalité des configurations actuelles avec des dizaines de rôles.