Evolution #6493
ferméOrdonnancement des attributs dans la famille : ajout des relations 'previous sibling'
100%
l'ordre est calculé par niveau d'héritage.
1. calcul de l'ordre de la famille mère
2. calcul de l'ordre des MODATTR de la famille fille
3. calcul de l'ordre final des attributs
Les attributs structurants ("tab" et "frame") indiquent aussi l'ordre relatif.
Une erreur sera levée si 2 attributs spécifiques de la famille ont indiqué le même ordre relatif
Description
La colonne 'Order' contient actuellement un entier (obligatoire).
La nouvelle notation permet de décrire l'arbre des attributs :
- la colonne 'parentId' est vide (top level) ou contient l'id de l'attribut encadrant (fonctionnement actuel)
- la colonne 'Order' doit contenir soit :
- ::first pour le premier dans un encadrant
- id-attribute-prev-sibling référence au précédent frère
Règle pour cette nouvelle notations : valeur unique pour une famille et obligatoire.
Mis à jour par Éric Brison il y a presque 10 ans
Cas de fonctionnement :
1. Soit F1 famille sans héritage
Attribut Cadre "A" (entre parenthèse c'est l'ordre)
- a1 (::first)
- a2 (a1)
- a3 (a2)
Résultat :
- a1
- a2
- a3
2. Soit F2 hérite de F1
Attribut Cadre "A"- b1 (::first)
- b2 (b1)
Résultat :
- b1
- b2
- a1
- a2
- a3
3. Soit F3 hérite de F2
Attribut Cadre "A"- c1 (a2)
- c2 (b1)
Résultat :
- b1
- c2
- b2
- a1
- a2
- c1
- a3
4. Soit F4 hérite de F2
Attribut Cadre "A"- a3 (::first) "MODATTR"
- b2 (a3) "MODATTR"
- d1 (a2)
- d2 (b2)
Résultat :
- a3
- b2
- d2
- b1
- a1
- a2
- d1
Mis à jour par Charles Bonnissent il y a presque 10 ans
- Lié à Evolution #6442: [Structure et order] Linéarisation des orders ajouté
Mis à jour par Charles Bonnissent il y a presque 10 ans
Si les modifications évoquées sont de cette ampleur, il serait probablement plus intéressant de regarder la #6442 qui propose une solution plus simple et robuste au même problème....
Mis à jour par Éric Brison il y a presque 10 ans
- Statut changé de Analysé à Intégré
- % réalisé changé de 0 à 100
Appliqué par commit internal-platfrom:commit:4285bd23990217b8b222733b95768eda38a39051.