Heu, GnapZ, tu fais comment pour reconnaitre un espace personnel ? J'ai cru comprendre que ça passait par une modification dans la table des membres, mais est-ce qu'on a vraiment besoin de ça ?
Une autre définition d'un espace personnel, c'est une section créée par son éditeur. En clair :
- section assignée au surfeur
- dont l'id est aussi celui du créateur de la section
J'ai donc créé une fonction
personal_sections() dans shared/surfer.php à cet effet, à présent utilisée dans users/view.php et sections/new.php.Bernard : Dans la table membre, je différencie une responsabilité éditoriale (RE) d'un espace perso 'EP) par les mots clés "section" et "personal".
Comme les paramètres utilisateurs permettent de définir le nombre d'EP, ça va très bien.
Le problème est que les EP sont considérés comme des sections et sont donc cumulées aux RE à tort car du coup, le paramètre ne veut plus rien dire dès lors que l'on a déjà reçu (et non choisi): RE - EP - 1.
Exemple avec un paramètre maxi d'EP = 3: Si j'ai déjà 2 RE, je n'ai plus de lien pour créer un EP alors que j'en ai droit à 3 !
De plus, le fait de les gérer séparément permet vraiement d'attribuer des espaces gérés par les utilisateurs dans une liste indépendante des RE qui leurs sont attribuées.
Est-ce qu'on en a besoin ? Moi non mais Fad et Agnès oui, n'est-ce pas suffisant ?
Je pense surtout que la logique de gestion n'est pas la même et par conséquent il est important de les séparer. J'ai testé mon patch et cela n'a pas posé le moindre problème.
Le seul hic, c'est d'appliquer cette modification à un site ayant déjà créé des EP. Les EP en place seront toujours dans la liste des RE (puisqu'ils ont un type "section" dans la table membres). Il faut soir faire un run_once, soit que l'associé modifie sa table manuellement.
GnapZ: le problème, c'est que le champ 'type' que tu as utilisé est sensé refléter exactement une partie du champ 'anchor'. Ceci a été introduit pour accélérer les requêtes SQL, et s'écarter de ce modèle de base aura forcément des effets de bord, même si tu ne les as pas encore sentis...
Je comprend bien ton analyse, et je la partage tout à fait, si ce n'est dans la mise en oeuvre. Pour moi, un EP est une section créée par son éditeur. Pour un espace de RE, le créateur de la section est a priori un associé, différent de l'éditeur. Donc, le bon moyen de distinguer les deux types d'espace est de comparer l'id du créateur de la section et celui de l'éditeur de la même section. C'est ce qui est implémenté dans la nouvelle fonction
Surfer::personal_sections() de la 7.6Bernard : Je comprends mieux le problème "caché" de l'optimisation Sql. Je n'ai pas encore testé mais la séparation en deux listes distinctes dans le profil est, je trouve, un gros plus. Enfin, qu'en est-il du paramètre utilisateur sur la limitation du nombre d'espaces personnels ? Cela prends en compte uniquement les EP ? Sinon, on retombe dans le cas de figure de ce fil.
Je vais regarder quand même sur la dernière version et je reviendrai répondre à mes questions ...











