Configurer les anneaux dans la page de destination de niveau 1
Configurez les données affichées dans les anneaux dans la section Vue d'ensemble de la page de destination de niveau 1.
Avant de commencer
Rôle requis : administrateur
Pourquoi et quand exécuter cette tâche
Procédure
- Accédez à la Tous > Centre d'administration de l'espace de travail pour l'exploitation des services > Vue d'ensemble.
- Dans l’onglet Vue d’ensemble , dans la section Configuration initiale , sélectionnez l’option Configurer la page de destination .
- Dans le formulaire Page de destination, sous la section Niveau 1, sélectionnez Configurer en regard de Configurations en anneau.
- Facultatif :
Si le tableau de bord PAR est actif sur la page de destination, procédez comme suit :
- Configurez la configuration du tableau de bord de niveau 1.Remarque :Si vous créez un tableau de bord, vous pouvez utiliser les visualisations enregistrées pour créer une carte pour le tableau de bord. La visualisation des données n’est visible que par les utilisateurs en fonction de leurs rôles respectifs.
Assurez-vous d’avoir ajouté la valeur comme Espace de travail pour l'exploitation des services dans la visibilité du tableau de bord.
- Sélectionnez le tableau de bord par défaut de la page de destination SOW à partir du tableau de bord chargé dans l’option déroulante Page de destination. Sélectionnez Enregistrer.
- Après avoir modifié les éléments du tableau de bord, sélectionnez Enregistrer.
- Configurez la configuration du tableau de bord de niveau 1.
- Facultatif :
Si le tableau de bord PAR n’est pas actif sur la page de destination, modifiez le champ Script et ajoutez le code à l’intérieur de la classe ServiceDeskLandingPageUtils.
Remarque :Cette méthode est copiée à partir de SowIncidentLandingPageUtilsSNC. Pour ajouter un nouvel anneau ou pour supprimer un anneau existant, vous devez copier getVisualizationConfig la méthode SowIncidentLandingPageUtils et la modifier selon vos besoins.
static async getVisualizationConfig(helpers, mode, conditionalRecordCount=0) { const evamDef = this.getEvamDef(); const visualizationConfig = [{ "id": "incident_assigned", "tableName": "incident", "tableDisplayValue": "Incident", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state!=6", "myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^state!=6", "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", "header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"), "groupByField": "state", "evamId": evamDef['incidentEvamDefinitionId'], "updated_on": "^ORDERBYDESCsys_updated_on", "roles":mode == "your_work" ? ["itil","sn_incident_write"] : ["itil","sn_incident_read"], }, { "id": "incident_sla", "tableName": "task_sla", "tableDisplayValue": "Task SLA", "myWorkQuery": "task.sys_class_name=incident^task.assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00", "myTeamQuery": "task.sys_class_name=incident^task.assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00", "listView": 'sow_landing_page', "header": await helpers.translate("Incident SLAs"), "groupByField": "time_left", "evamId": evamDef['incidentSlaEvamDefinitionId'], "updated_on": "^ORDERBYtime_left", "roles":mode == "your_work" ? ["itil","sn_incident_write"] : ["itil","sn_incident_read"], }, { "id": "unassigned_incidents", "tableName": "incident", "tableDisplayValue": "Incident", "myWorkQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "myTeamQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", "header": await helpers.translate("Unassigned incidents"), "groupByField": "priority", "evamId": evamDef['incidentEvamDefinitionId'], "updated_on": "^ORDERBYDESCsys_updated_on", "roles":mode == "your_work" ? ["itil","sn_incident_read"] : ["itil","sn_incident_read"], }, { "id": "catalog_tasks", "tableName": "sc_task", "tableDisplayValue": "Catalog Task", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", "header": mode == 'your_work' ? await helpers.translate("Catalog tasks assigned to you") : await helpers.translate("Catalog tasks assigned to your team"), "groupByField": "state", "evamId": evamDef["catalogTaskEvamDefinitionId"], "updated_on": "^ORDERBYDESCsys_updated_on", "roles":mode == "your_work" ? ["itil","sn_request_write"] : ["itil","sn_request_read"], } ]; if(mode=='your_work' && conditionalRecordCount>0){ const conditionalConfig = await this.getConditionalVisualizationConfig(helpers); visualizationConfig.push(conditionalConfig); } return visualizationConfig; }Pour ajouter l’anneau Problème à la page de destination de niveau 1, ajoutez des extraits supplémentaires selon vos besoins, similaires à l’extrait de code mentionné ci-dessous.
{ "id": "problemsAssigned", "tableName": "problem", "tableDisplayValue": "Problem", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "header": mode == 'your_work' ? await helpers.translate("Problems assigned to you") : await helpers.translate("Problems assigned to your team"), "groupByField": "state", "evamId": "5f0697b8f49bc510f8773ad5bd0ae292", "updated_on": "^ORDERBYDESCsys_updated_on", "roles":mode == "your_work" ? ["itil","problem_coordinator"] : ["itil","sn_problem_read","problem_task_analyst"] }Copier la méthode depuis SowIncidentLandingPageUtilsSNC laquelle ajouter des étiquettes pour la fetchTitle liste qui s’affiche lorsque vous cliquez sur l’anneau.
static async fetchTitle(table, selectedField, groupByField, groupMode = false) { if(selectedField == undefined){ selectedField = 'all'; } const labelMap = { 'incident': { 'state': { 'all':'Incidents', '1': 'New incidents', '2': 'In Progress incidents', '3': 'On Hold incidents', '6': 'Resolved incidents' }, 'priority': { 'all':'Unassigned incidents', '1': 'P1 unassigned incidents', '2': 'P2 unassigned incidents', '3': 'P3 unassigned incidents', '4': 'P4 unassigned incidents', '5': 'P5 unassigned incidents' } }, 'sc_task': { 'state': { 'all':'Catalog tasks', '-5': 'Pending catalog tasks', '1': 'Open catalog tasks', '2': 'Work in progress catalog tasks' } }, 'task': { 'sys_class_name': { 'sc_task': 'Catalog tasks delegated to you', 'incident': 'Incidents delegated to you' } } }; if((table == 'incident' && groupByField == 'priority') || table == 'task') return labelMap[table][groupByField][selectedField]; if (groupMode) return labelMap[table][groupByField][selectedField] + ' assigned to your team'; return labelMap[table][groupByField][selectedField] + ' assigned to you'; }Ajoutez les étiquettes comme mentionné dans l’exemple de bloc de code ci-dessous pour les afficher sous forme d’en-tête de liste lorsque vous cliquez sur l’anneau.
'problem': { 'state' :{ '101': 'New problems', '102': 'Assess problems', '106': 'Resolved problems', '104': 'Fix in Progress problems', '103': 'Root Cause Analysis problems', 'all':'Problems' } }, - Sélectionnez Mettre à jour.