You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2018-11-27 11:32:45

livier
Guest
Registered: 2016-11-15
Posts: 107

utilisation des sous groupes au lieu des entités

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

#2 2018-11-28 12:34:20

Naar Ahmed Amine
Member
Registered: 2018-11-27
Posts: 11

Re: utilisation des sous groupes au lieu des entités

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

#3 2018-11-28 15:25:21

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 14,405

Re: utilisation des sous groupes au lieu des entités

regardez les statistiques par ticket, vous avez un critère sur l'arborescence des groupes


CentOS 6.5 - CentOS 7
PHP 5.6 - PHP 7 - MySQL 5.6  + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#4 2018-11-29 06:25:11

livier
Guest
Registered: 2016-11-15
Posts: 107

Re: utilisation des sous groupes au lieu des entités

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

#5 2018-11-29 15:25:59

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 14,405

Re: utilisation des sous groupes au lieu des entités

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
PHP 5.6 - PHP 7 - MySQL 5.6  + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#6 2018-11-30 04:52:27

livier
Guest
Registered: 2016-11-15
Posts: 107

Re: utilisation des sous groupes au lieu des entités

Bonjour,

je vous remercie pour ces précieuses informations.

Offline

#7 2018-12-03 18:52:14

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 14,405

Re: utilisation des sous groupes au lieu des entités

Pas de problème en tant qu'ancien collègue


CentOS 6.5 - CentOS 7
PHP 5.6 - PHP 7 - MySQL 5.6  + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#8 2018-12-05 09:48:42

livier
Guest
Registered: 2016-11-15
Posts: 107

Re: utilisation des sous groupes au lieu des entités

En tant qu'ancien collègue ?
Puis je vous demander comment vous savez  où je travaille ?

Offline

#9 2018-12-05 16:05:33

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 14,405

Re: utilisation des sous groupes au lieu des entités

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
PHP 5.6 - PHP 7 - MySQL 5.6  + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#10 2018-12-06 05:30:40

livier
Guest
Registered: 2016-11-15
Posts: 107

Re: utilisation des sous groupes au lieu des entités

smile
Tout s'explique.
Oui j'avais également vu votre implication dans ce projet.

Offline

#11 2018-12-06 05:32:33

livier
Guest
Registered: 2016-11-15
Posts: 107

Re: utilisation des sous groupes au lieu des entités

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

#12 2018-12-06 18:34:52

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 14,405

Re: utilisation des sous groupes au lieu des entités

OK. Bonne continuation à vous


CentOS 6.5 - CentOS 7
PHP 5.6 - PHP 7 - MySQL 5.6  + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

Board footer

Powered by FluxBB