iceScrum | Problème compréhension IceScrum sous MySQL – iceScrum

iceScrum Forums Discuss on iceScrum

Viewing 7 posts - 1 through 7 (of 7 total)

  • Author
    Posts
  • #10691

    Kagilum
    Keymaster

    Bonjour,

    Je rencontre actuellement un problème à comprendre l’architecture en base de donnée MySQL utilisée par IceScrum.
    Plus précisément, je cherche à accéder aux tables d’association Utilisateur / Role au sein du projet.

    Pour que vous compreniez la problématique, je dois développer un script récupérant depuis la base de donnée tous les projets et les utilisateurs y étant attribués. De plus (c’est là ou intervient mon problème), je dois récupérer pour chaque personne affectée à un projet son “rôle” (ScrumMaster, ProductOwner…)

    Actuellement j’arrive bien à récupérer la liste des utilisateurs par projet, sans ce fameux rôle.

    Voici la requête mysql actuelle (ne vous sera pas forcement utile):

    SELECT * FROM icescrum2_user u LEFT JOIN icescrum2_team_members t ON u.id = t.user_id LEFT JOIN icescrum2_product_teams pt ON t.team_id = pt.team_id LEFT JOIN icescrum2_product p ON pt.product_id = p.id

    Je vous remercie par avance.

    #11004

    Nicolas Noullet
    Keymaster

    Bonjour Marc,

    La sécurité est gérée dans iceScrum à l’aide de Spring Security. Nous utilisons les ACL de Spring Security pour les rôles, c’est donc dans les tables correspondantes qu’il faut regarder : acl_*. Vous trouverez plus d’informations sur le contenu de ces tables ici : http://docs.spring.io/spring-security/site/docs/3.0.x/reference/domain-acls.html.

    Voici comment récupérer ce que vous souhaitez :
    1. Récupérer les membres des équipes à l’aide de votre requête (ceci n’inclut pas les membres qui ne sont que Product Owner)
    2. Faire une requête dans les ACL de l’équipe pour déterminer lesquels parmi ces membres sont Scrum Master (mask 2 dans la table acl_entry)
    3. Faire une requête dans les ACL du projet pour déterminer quels sont les Product Owners (mask 2 dans la table acl_entry), certains peuvent déjà avoir été récupéré dans par la première requête (ceux avec le rôle PO & SM), d’autres non (rôle Product Owner seul).

    Les requêtes pour les étapes 2. et 3. nécessitent les jointures appropriées entre les tables acl_*, icescrum2_product, icescrum2_team, et icescrum2_user.

    #11053

    Kagilum
    Keymaster

    Bonjour,

    Je m’intéresse également aux droits des utilisateurs, j’ai remarqué que le champ mask pouvait prendre 3 valeurs : 1 2 et 16. 2 étant product owner.
    Que représente chacune de ces valeurs ?

    Egalement, je cherche à comprendre l’utilité du champ ace_order dans acl_entry, je n’ai pas trouvé de réponses dans la doc linké, quelques indices ne seraient pas de refus.

    Cordialement, Meyrueix O.

    #11054

    Nicolas Noullet
    Keymaster

    Bonjour,

    En quoi ces informations peuvent-elles vous aider ?

    Je pose la question car il faudrait, autant que possible, ne pas se reposer sur ces détails d’implémentation.

    #11055

    Kagilum
    Keymaster

    @Nicolas : Dans le but de développer un script qui récapitule la liste d’utilisateurs sur un projet et qui entre autre décrit le “grade” de chaque utilisateurs.

    Après avoir fait mes jointures, je remarque qu’il peux y avoir plusieurs valeurs de mask pour un même utilisateur, par exemple, un utilisateur peux avoir le mask 2 et 16 et ce pour le même projet, je pense que ace_order intervient justement ici pour décider de la permission qu’on applique à cet utilisateur.

    Merci d’avance.

    #11056

    Nicolas Noullet
    Keymaster

    Merci pour ces précisions, tant que c’est de la lecture seule ça ne devrait pas poser de problème.

    Vous avez raison concernant le ace_order mais vous pouvez ignorer les masques à 16. En effet, les masques à 1 et 2 suffisent à déterminer tous les rôles Scrum :

    ACL de projet :
    – 1 : StakeHolder
    – 2 : Product Owner

    ACL d’équipe :
    – 1 : Team Member
    – 2 : Scrum Master

    Il existe un dernier rôle, le “owner”, que vous devriez pouvoir retrouver facilement via la colonne dédiée. Le “owner” affiché dans la vue équipe d’iceScrum est celui du projet (celui de l’équipe n’est pas utilisé).

    #11057

    Kagilum
    Keymaster

    Merci de votre réponse rapide, ça va beaucoup m’aider.

    Bonne journée 😛

Viewing 7 posts - 1 through 7 (of 7 total)

The forum ‘Questions and help’ is closed to new topics and replies.