Groupes utilisateurs

flipflipflipflip Member
mars 2012 modifié dans Discussions générales
Bonjour à tous,
Je test actuellement la version 5.1 et je trouve qu'il manque une fonction au niveau de la gestion des utilisateurs : les groupes utilisateurs. Ça permettrait d'avoir des actions spécifique à un groupe donnée.

Est-ce que c'est prévue ?

Du coups j'ai commencé.

Feuille de route :
administration
- Gestion des groupes : ok
- Attribution d'un groupe à un user : ok
- Attribution d'un groupe à une catégorie : à faire
- Attribution d'un groupe à un article : ok
- Attribution d'un groupe à un page static : à faire
- Procédure d'installation : à faire

public
- Ajout du groupe dans la session utilisateur : à faire
- Intégration pour les derniers articles : à faire
- Modification du menu derniers articles selon groupes : à faire
- Intégration pour les catégories : à faire
- Modification pour les derniers commentaires selon groupe articles : A faire
- Intégration pour tag : A faire
- Modification du menu des catégories selon groupes : à faire
- Modification du menu des pages selon groupes : à faire
- Intégration pour les pages : à faire
- Intégration dans les archives : à faire
- Intégration dans le listage des catégories : à faire

publication
- Création du patch

Voila pour le moment.

J'ai un string de l'array

Réponses

  • Bonjour Flipflip,

    Ce n'est pas du tout prévue actuellement car le fais d'avoir 5 types d'utilisateurs permet une grande souplesse dans l'attribution des rôles.
  • Bonjour, je reviens sur le sujet.

    Les types d'utilisateurs permet de définir le niveau de fonctionnalité qu'un utilisateur possède mais un groupe d'utilisateurs permet de définir où il accède.

    Par exemple je peux avoir un utilisateur de type rédacteur qui a accès à une ou deux catégories, alors qu'un autre rédacteur aura accès à la totalité du site. Si pour ce dernier je veux qu'il est des autorisations différentes alors je dois lui modifier son type en éditeur, par exemple, du coups il va avoir accès à des fonctionnalités qui ne le concerne pas.

    J'ai un string de l'array

  • Juste pour info, j'ai commencé à travailler sur l'intégration des groupes en me basant sur la 5.1 beta 1, une fois fini je vous propose un ptit patch.

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    Est-ce que tu modifies le code de PluXml ou tu fais ça sous forme de plugin ?

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Je le modifie. J'ai fini la création de gestion des groupes, l'attribution d'un groupe à un user. Demain je m'attaque à l'ajout dans les options des catégories et ensuite dans les articles. Après je fais les modification côté public.

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    ok. ça sera intéressant de voir comment tu as fais ça coté code, voir l'impact sur les performances et la sécurité de pluxml

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Pour la partie admin j'essaie au max de reprendre des fonctions existante, par exemple pour les users il y a getUsers, pour les groupe c'est getGroups qui reprend exactement le même fonctionnement que getUsers mais adapté au niveau de la structure du xml. Pareil pour editUsers, il y a editGroups.

    J'ai un string de l'array

  • flipflipflipflip Member
    mai 2011 modifié
    Je suis embêté pour l'affichage des derniers commentaires dans la sidebar. Je voudrais afficher uniquement les commentaires des articles dont l'utilisateur connecté est autorisé. Je pensais stocker l'id du groupe de l'article dans le fichier xml du commentaire mais ça va être galère si depuis l'admin je change le groupe de l'article, il va falloir re-parcourir tout les commentaires de l'article pour modifier cette information. Je pensais aussi ajouté l'id du groupe de l'article dans le nom du fichier du commentaire mais j'en suis convaincu... Si vous avez une idée je prends.

    Merci d'avance.

    J'ai un string de l'array

  • Bonjour, je remonte ce post.
    Je travail de nouveau sur l'intégration des groupes utilisateurs dans PluXml. Je suis repartie de zéro depuis la 5.1.5 en modifiant le core. Pour le moment j'ai créé l'écran et la gestion des groupes utilisateurs et je me posais une question sur l'intégration de l'id du groupe de l'utilisateur.

    Par exemple le nommage des fichiers xml pour un article est : IdArticle.IdCategorie.IdUser.Date.Titre.xml j'envisage de le mettre après le IdUser, bien sur il y aura un impact sur PluXml mais est-ce que c'est le bonne endroit ?

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    Peu importe l'emplacement dans le nom du fichier.
    Sinon oui c'est le bon endroit, l'info est récuperée facilement sans avoir à parser le fichier xml pour récupérer la donnée.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Ok, je vais quand même ajouter dans le fichier le nom du groupe ça évitera de faire un croisement entre les tableaux.

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    Et si le nom du groupe change, comment tu gères l'intégrité référentielle, c'est à dire comment tu répercutes le nouveau nom du groupe dans le fichier xml de l'article. Même si je connais la réponse (en tout cas j'imagine très bien ce qu'il faut faire), bonjour les perfs et le risque potentiel d'etre inchorent sur le contenu des données.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • oupsss effectivement et en plus je crois qu'on a déjà eu cette discussion par le passé.
    J'ai trouvé l'astuce du séparateur , dans le nom du fichier pour les articles par exemple dans le cas de plusieurs catégories. Pour les groupes je pensai prendre le |

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    Pour rester cohérent prend le meme caractère de séparation des groupes que celui utilisé pour les catégories. Après ça va faire beaucoup de changement dans les regexp de PluXml lors de la manipulation et recherche des fichiers

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Du coups je suis resté sur la virgule, en fait je n'avais pas compris la regex c'est pour cette raison que j'étais parti sur un autre caractère.

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    c'est mieux a mon avis d'utiliser la virgule, car le caractère | à une signification bien précise dans un regexp car il définit une condition OU

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Je suis pas expert en regex et je bloque sur un point dans la gestion des articles.
    Par exemple le fichier :
    0001.001,002.001,003.001.201203191709.premier-article
    Je détails :
    0001 -> idArticle
    001 -> IdCategorie
    001,003 -> IdGroup utilisateur
    001 -> IdUser
    201203191709 -> Dateheure
    premier-article -> titre

    Dans class.plx.motor.php ligne 139 j'ai modifié la regex comme ça :
    L'original : $this->motif = '/^[0-9]{4}.['.$this->activeCats.',]*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    Modifié :    $this->motif = '/^[0-9]{4}.['.$this->activeCats.',]*.([0-9,]*).[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    

    Ensuite j'ai fais évoluer ce bout de code comme ça :
    if(in_array($this->aUsers[$_SESSION['user']]['group'], $this->activeGroups)) {
    	$this->motif = '/^[0-9]{4}.['.$this->activeCats.',]*.([0-9,]*).[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    }
    
    activeGroups est un tableau contenant la liste des idGroups qui ne sont pas marqués delete, basé sur le même principe que activeCats. Maintenant je ne sais pas comment modifier la regex pour faire en sorte d'afficher uniquement les groupes actif dont l'utilisateur a accès. C'est un peu compliquer à expliquer.

    J'ai un string de l'array

  • Je me permet de remonter le post si quelqu'un à une idée.

    J'ai un string de l'array

  • Y a t'il un expert en regex dans l'appareil ? ;)

    J'ai un string de l'array

Connectez-vous ou Inscrivez-vous pour répondre.