[SPIP Zone] Traitement d'une HIERARCHIE (Organigramme)

Bonjour a tous,

Je n’ai pas suivi les derniers plugins sur SPIP, en particulier le récent Chapitres, et je cherche comment utiliser la puissance de SPIP (d’une facon analogue à la boucle_n(HIERARCHIE{« RUBRIQUES »,‹ id_rubrique ›,‹ id_parent ›}) !

Le besoin :
pouvoir partir d’un fichier « organigramme » à plat, transformé en table SPIP
comportant un champ (clé quelconque, par exemple dans mon cas une adresse mail)
qui serait spécifié pour servir de chainage clé étrangère réflexive
pour assurer le parcours de hiérarchie
(comme ‹ id_parent › par rapport à ‹ id_rubrique › dans la table RUBRIQUES).

On va supposer qu’il s’agit juste d’une administration bien hiérarchisée, donc pas de pas de rattachements fonctionnels, transversaux ni temps partiles partagés entre deux Services… :wink:

La mise en oeuvre idéale que j’imagine :
on recharge complètement le fichier plat « SALARIES » en table,
on déclare un champ clé secondaire unique de chaque enregistrement (‹ mail_salarié ›)
et son correspondant (‹ mail_superieur ›) comme clé reflexive de parcours
=> la boucle B_n(HIERARCHIE{« SALARIES »}) /d’un type DATA spécifique ?/
permet un parcours récursif à partir de n’importe quelle valeur initiale de ‹ mail_salarié › !

Cerise sur le gateau : on utilisera les possibilités de SPIP pour coder le modèle permettant même
de faire construire la carte heuristique .xml de l’organigramme calculé affichable sous FreeMind/FreePlane

Des solutions d’implémentation peut-etre ?

a) La boucle HIERARCHIE est déja disponible pour les rubriques :
comment étendre son paramétrage sur le modèle d’une boucle DATA pour pouvoir spécifier
les champs clé d’enregistrement et clé de rattachement au supérieur, dans la syntaxe SPIP
cf. //

b) On pense aussi au fonctionnement des Mots arborescents ou

c) Peut-etre ce fonctionnement est-il déjà implémenté dans un plugin que je n’ai pas trouvé ?
Il y en a tellement dans Contrib ou sur la zone… (comme )

Voila, si vous avez une idée…

La suite sur le Carnet

Merci d’avance