You are not logged in.
Pages: 1
Topic closed
Bonjour,
Ma base utilisateurs est constituée de personnes appartenant à plusieurs directions différentes.
Chaque Direction correspond à une entité. Cette configuration permettait notamment de bien cloisonner, de mettre en place des règles sur les tickets fonction des directions et de calculer des statistiques.
Nous souhaiterions à présent ôter le cloisonnement des entités. En effet, si un utilisateur appartient à l'entité A, un utilisateur de l'entité B ne pourra pas être mis en observateur.
Nous évaluons donc la possibilité d'utiliser des groupes et sous-groupes.
Il n'y aurait plus qu'une entité, un groupe par direction serait créée et posséderait des sous groupes auxquels appartiennent les agents.
Avec cette configuration, il serait possible d'appliquer des règles et tout utilisateur pourrait être mis en observateur sur tous les tickets et si besoin.
Cependant, concernant les statistiques, je rencontre des difficultés.
Je suis loin d'être un expert en requêtes mysql. aussi, je souhaiterais savoir comment procéder pour avoir certaines informations via mysql :
- Nombre de tickets créés par l'ensemble des sous-groupes d'un groupe direction
- Nombre de tickets créés sur une période "group by" et par groupe direction
Pour avoir les sous groupes d'un groupe, j'ai vu qu'il fallait faire appel à l'attribut sons_cache de la table glpi_groups et que pour avoir le groupe demandeur, il fallait faire une jointure avec la table glpi_groups_tickets et glpi_tickets sur l'ID...
Pourriez vous m'apporter votre aide pour la réalisation de ces requêtes ?
Y aurait il un autre moyen mis à part le remplacement des entités par des groupes et sous groupes ?
D'avance merci pour votre aide
Offline
Bonjour
Avec cette configuration, il serait possible d'appliquer des règles et tout utilisateur pourrait être mis en observateur sur tous les tickets et si besoin..
c'est une bonne idée comme même mais je te conseil de voir un outil très efficaces en ce genre des problèmes c'est AD (ACTIVE DIRECTORY)
Offline
regardez les statistiques par ticket, vous avez un critère sur l'arborescence des groupes
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Je vous remercie pour votre réponse.
Ce module permet de fournir les statistiques effectivement mais je souhaiterais, comme le recommande l'éditeur de la solution, m'orienter vers d'autres outils tels que metabase pour effectuer du reporting.
En passant l'application en mode debug, je peux récupérer la requête mysql sauf que, dans cette requête je ne comprends pas comment est ce qu'il fait pour récupérer les ID des sous-groupes :
SELECT `sons_cache`
FROM `glpi_groups`
WHERE `id` = '776'
SELECT
FROM_UNIXTIME(UNIX_TIMESTAMP(`glpi_tickets`.`date`),'%Y-%m') AS date_unix, COUNT(`glpi_tickets`.`id`) AS total_visites
FROM `glpi_tickets`
LEFT JOIN `glpi_groups_tickets` ON (`glpi_groups_tickets`.`tickets_id` = `glpi_tickets`.`id`)
WHERE NOT `glpi_tickets`.`is_deleted` AND ( `glpi_tickets`.`entities_id` IN ('1', '15') )
AND (`glpi_groups_tickets`.`groups_id` IN ('776','709') AND `glpi_groups_tickets`.`type` = '1')
AND ( `glpi_tickets`.`date` >= '2018-11-26' AND `glpi_tickets`.`date` <= ADDDATE('2018-11-29' , INTERVAL 1 DAY) ) GROUP BY date_unix
ORDER BY `glpi_tickets`.`date`
je comprends que le résultat de la première requête permet de donner les sous-groupes du groupe 776. J'imagine qu'il y a un code php qui retravaille ce résultat et qui permet de l'intégrer "en dure" dans la seconde requête.
Est ce qu'il y aurait un moyen de faire une seule requête car du genre :
SELECT
FROM_UNIXTIME(UNIX_TIMESTAMP(`glpi_tickets`.`date`),'%Y-%m') AS date_unix, COUNT(`glpi_tickets`.`id`) AS total_visites
FROM `glpi_tickets`
LEFT JOIN `glpi_groups_tickets` ON (`glpi_groups_tickets`.`tickets_id` = `glpi_tickets`.`id`)
WHERE NOT `glpi_tickets`.`is_deleted` AND ( `glpi_tickets`.`entities_id` IN ('1', '15') )
AND (`glpi_groups_tickets`.`groups_id` IN (SELECT `sons_cache`FROM `glpi_groups`WHERE `id` = '776') AND `glpi_groups_tickets`.`type` = '1')
AND ( `glpi_tickets`.`date` >= '2018-11-26' AND `glpi_tickets`.`date` <= ADDDATE('2018-11-29' , INTERVAL 1 DAY) ) GROUP BY date_unix
ORDER BY `glpi_tickets`.`date`
Quand j'essaie de lancer ce genre de requête, j'ai aucun résultat qui ne s'affiche.
C'est certainement du au fait que le résultat de la requête SELECT sons_cache FROM glpi_groups WHERE glpi_groups.id ='776' est
{"776":"776","709":"709"}
D'avance merci.
Offline
le champ sons_cache peut ne pas être rempli (il est généré si besoin).
dans la table glpi_groups, le champs groups_id correspond au groupe père et il faut aussi tenir compte du level
donc tous les sous-groupes du groupe 776 auront un groups_id à 776 et un level 2
le level 3 pourra correspondre à un petit-fils de 776 si le groups_id de son groups_id est bien 776
exemple :
776 > 24 >800
id : 776 groupe pere groups_id : 0 level 1
id : 48 groupe fils groups_id : 12 level 2
id : 24 groupe fils groups_id : 776 level 2
id : 800 groupe petit-fils groups_id : 24 level 3 => le group 24 à bien un groups_id à 776
id : 900 groupe autre groups_id : 48 level 3 => le group 48 n'a pas un groups_id à 776
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
je vous remercie pour ces précieuses informations.
Offline
Pas de problème en tant qu'ancien collègue
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
En tant qu'ancien collègue ?
Puis je vous demander comment vous savez où je travaille ?
Offline
En tant qu'admin du forum j'ai accès à votre mail et votre domaine est très parlant pour moi (ancienne MOED du projet Gediff)
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Tout s'explique.
Oui j'avais également vu votre implication dans ce projet.
Offline
En tout cas, merci pour votre aide.
je pense avoir trouvé ce qu'il me fallait en termes de requêtes.
je vais basculer dans l'environnement test vers une gestion par groupe plutôt qu'une gestion par entité et valider qu'il n'y a pas d'effets de bord.
Offline
OK. Bonne continuation à vous
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Je vous remercie et permettez moi par la même occasion de vous souhaitez mes meilleurs voeux pour cette nouvelle année
Offline
Meilleurs voeux à vous également et bonne continuation avec GLPI
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Pages: 1
Topic closed