Projet

Général

Profil

Development #17577

exporter le graphe des rôles en format type "plantuml"

Ajouté par Thomas Noël il y a presque 7 ans. Mis à jour il y a 10 mois.

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

Lié à Publik - Development #19758: Représentation graphique de l'arborescence des rôlesRejeté29 octobre 201719 janvier 2018

Actions

Historique

#2

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'
#3

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Priorité changé de Normal à Bas
#4

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é
#5

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.

Formats disponibles : Atom PDF