Créez une copie complète d'un tableau de bord existant, y compris tous les graphiques, segments et autorisations


La mutation copyDashboard crée une copie complète d'un tableau de bord existant, y compris tous les graphiques, segments de graphiques, valeurs et autorisations des utilisateurs. Cette opération effectue une copie complète avec de nouveaux identifiants uniques pour tous les éléments copiés.

Exemple de base

Créez une copie d'un tableau de bord avec un titre personnalisé :

mutation CopyDashboard {
  copyDashboard(input: {
    dashboardId: "dashboard_123"
    title: "Q4 Sales Dashboard Copy"
  }) {
    id
    title
    createdAt
    charts {
      id
      title
      chartType
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
      }
    }
  }
}

Exemple avancé

Copiez un tableau de bord sans spécifier de titre (ajoute automatiquement "(Copie)") :

mutation CopyDashboardAuto {
  copyDashboard(input: {
    dashboardId: "dashboard_456"
  }) {
    id
    uid
    title
    createdBy {
      id
      email
    }
    company {
      id
      name
    }
    charts {
      id
      title
      chartType
      position
      chartSegments {
        id
        title
        formula
        chartValues {
          id
          value
        }
      }
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
        fullName
      }
    }
    createdAt
    updatedAt
  }
}

Paramètres d'entrée

CopyDashboardInput

Paramètre Type Requis Description
dashboardId String! ✅ Oui ID du tableau de bord à copier
title String Non Titre personnalisé pour le tableau de bord copié. S'il n'est pas fourni, "(Copie)" est ajouté au titre original

Champs de réponse

Réponse du tableau de bord

La mutation retourne un objet complet Dashboard avec toutes les données copiées :

Champ Type Description
id String! Identifiant unique pour le nouveau tableau de bord
uid String! Identifiant unique utilisé pour le routage URL
title String! Titre du tableau de bord copié
createdBy User! L'utilisateur qui a effectué l'opération de copie
company Company! L'entreprise à laquelle appartient le tableau de bord (identique à l'original)
project Project Association de projet (identique à l'original, le cas échéant)
charts [Chart!]! Tous les graphiques copiés depuis le tableau de bord original
dashboardUsers [DashboardUser!]! Autorisations utilisateur copiées de l'original (excluant l'utilisateur copieur)
createdAt DateTime! Date de création de la copie
updatedAt DateTime! Date de dernière modification de la copie

Comportement de copie du tableau de bord

Processus de copie complète

L'opération copyDashboard effectue une copie complète incluant :

  1. Métadonnées du tableau de bord

    • Crée un nouveau tableau de bord avec un nouvel ID et UID
    • Copie le titre (ou ajoute "(Copie)" si aucun titre personnalisé)
    • Définit le créateur comme l'utilisateur effectuant la copie
    • Maintient les associations d'entreprise et de projet
  2. Graphiques et structure

    • Copie tous les graphiques avec de nouveaux IDs et UIDs
    • Préserve les types de graphiques, titres et positions
    • Maintient la configuration et les métadonnées des graphiques
  3. Segments de graphiques et valeurs

    • Copie tous les segments de graphiques avec de nouveaux IDs et UIDs
    • Préserve les titres de segments, formules et configurations
    • Copie toutes les valeurs de graphiques et leurs données
  4. Références de formules

    • Met à jour les références de formules pour utiliser de nouveaux UIDs
    • Maintient la logique et les calculs des formules
    • S'assure que les formules copiées font référence aux données copiées
  5. Autorisations utilisateur

    • Copie toutes les autorisations des utilisateurs du tableau de bord original
    • Exclut l'utilisateur copieur (il devient le créateur)
    • Préserve les affectations de rôle de CONSULTANT et ÉDITEUR

Opérations post-copie

Après la création de la copie, le système effectue automatiquement :

  • Publie des événements de création de tableau de bord pour des mises à jour en temps réel
  • Déclenche le recalcul des résultats des graphiques pour tous les graphiques copiés
  • Met à jour tous les systèmes ou intégrations dépendants

Autorisations requises

La copie de tableau de bord nécessite des autorisations spécifiques :

Rôle Peut copier le tableau de bord
Dashboard Creator ✅ Oui
Dashboard EDITOR ✅ Oui
Dashboard VIEWER ❌ Non
Utilisateur non tableau de bord ❌ Non

Vérification des autorisations : L'utilisateur doit avoir un accès ÉDITEUR au tableau de bord original par l'une des méthodes suivantes :

  • Être le créateur du tableau de bord original
  • Avoir une affectation de rôle ÉDITEUR explicite sur le tableau de bord

Réponses d'erreur

Tableau de bord non trouvé

{
  "errors": [{
    "message": "Dashboard was not found.",
    "extensions": {
      "code": "DASHBOARD_NOT_FOUND"
    }
  }]
}

Autorisations insuffisantes

{
  "errors": [{
    "message": "You don't have permission to access this dashboard",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Entrée invalide

{
  "errors": [{
    "message": "Dashboard ID is required",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Cas d'utilisation

1. Tableaux de bord modèles

Créez des tableaux de bord modèles qui peuvent être copiés pour de nouveaux projets ou équipes :

mutation CreateProjectDashboard {
  copyDashboard(input: {
    dashboardId: "template_dashboard_id"
    title: "Project Alpha - Sales Dashboard"
  }) {
    id
    title
  }
}

2. Sauvegarde et versionnage

Créez des sauvegardes avant d'apporter des modifications significatives :

mutation BackupDashboard {
  copyDashboard(input: {
    dashboardId: "production_dashboard"
    title: "Production Dashboard - Backup 2024-01-15"
  }) {
    id
    title
    createdAt
  }
}

3. Partage inter-équipes

Copiez des tableaux de bord entre équipes tout en maintenant la structure des données :

mutation ShareDashboardWithTeam {
  copyDashboard(input: {
    dashboardId: "marketing_dashboard"
    title: "Marketing Dashboard - Sales Team Copy"
  }) {
    id
    title
    dashboardUsers {
      role
      user {
        email
      }
    }
  }
}

Meilleures pratiques

Conventions de nommage

  • Utilisez des titres descriptifs qui indiquent l'objectif de la copie
  • Incluez des noms d'équipe, des dates ou des numéros de version pour plus de clarté
  • Évitez les noms génériques comme "Copie" ou "Nouveau tableau de bord"

Gestion des autorisations

  • Examinez les autorisations du tableau de bord copié après sa création
  • Ajoutez ou retirez des utilisateurs selon les besoins pour le cas d'utilisation spécifique
  • Considérez si les visionneurs doivent devenir éditeurs sur la copie

Intégrité des données

  • Vérifiez que les formules et calculs fonctionnent correctement après la copie
  • Assurez-vous que les sources de données des graphiques sont appropriées pour le nouveau contexte
  • Testez tous les rapports automatisés ou intégrations

Considérations de performance

  • Copier de grands tableaux de bord avec de nombreux graphiques peut prendre plusieurs secondes
  • Le recalcul des graphiques se produit de manière asynchrone après la copie
  • Envisagez de copier pendant les heures creuses pour les très grands tableaux de bord
  • Surveillez les ressources système lors de la copie de plusieurs tableaux de bord simultanément

Limitations

  • Impossible de copier des tableaux de bord entre différentes entreprises
  • Les références de formules sont limitées aux données au sein de la même entreprise
  • Certaines intégrations externes peuvent nécessiter une reconfiguration
  • Les autorisations ou rôles personnalisés peuvent nécessiter un ajustement manuel
  • Les données historiques et les analyses ne sont pas préservées dans la copie

Ressources connexes

Assistant IA

Les réponses sont générées par l'IA et peuvent contenir des erreurs.

Comment puis-je vous aider ?

Posez-moi toutes vos questions sur Blue ou cette documentation.

Entrez pour envoyer • Maj+Entrée pour une nouvelle ligne • ⌘I pour ouvrir