Erstellen Sie eine vollständige Kopie eines bestehenden Dashboards, einschließlich aller Diagramme, Segmente und Berechtigungen


Die copyDashboard Mutation erstellt eine vollständige Kopie eines bestehenden Dashboards, einschließlich aller Diagramme, Diagrammsegmente, Werte und Benutzerberechtigungen. Diese Operation führt eine tiefe Kopie mit neuen eindeutigen Identifikatoren für alle kopierten Elemente durch.

Grundlegendes Beispiel

Erstellen Sie eine Kopie eines Dashboards mit einem benutzerdefinierten Titel:

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
      }
    }
  }
}

Fortgeschrittenes Beispiel

Kopieren Sie ein Dashboard, ohne einen Titel anzugeben (automatisch wird "(Kopie)" angehängt):

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
  }
}

Eingabeparameter

CopyDashboardInput

Parameter Typ Erforderlich Beschreibung
dashboardId String! ✅ Ja ID des zu kopierenden Dashboards
title String Nein Benutzerdefinierter Titel für das kopierte Dashboard. Wenn nicht angegeben, wird "(Kopie)" zum ursprünglichen Titel hinzugefügt

Antwortfelder

Dashboard-Antwort

Die Mutation gibt ein vollständiges Dashboard Objekt mit allen kopierten Daten zurück:

Feld Typ Beschreibung
id String! Eindeutiger Identifikator für das neue Dashboard
uid String! Eindeutiger Identifikator, der für die URL-Routing verwendet wird
title String! Titel des kopierten Dashboards
createdBy User! Der Benutzer, der die Kopieroperation durchgeführt hat
company Company! Das Unternehmen, dem das Dashboard gehört (gleich wie das Original)
project Project Projektzuordnung (gleich wie das Original, falls vorhanden)
charts [Chart!]! Alle Diagramme, die vom ursprünglichen Dashboard kopiert wurden
dashboardUsers [DashboardUser!]! Benutzerberechtigungen, die vom Original kopiert wurden (außer dem kopierenden Benutzer)
createdAt DateTime! Wann die Kopie erstellt wurde
updatedAt DateTime! Wann die Kopie zuletzt geändert wurde

Verhalten beim Kopieren von Dashboards

Tiefer Kopierprozess

Die copyDashboard Operation führt eine vollständige tiefe Kopie durch, einschließlich:

  1. Dashboard-Metadaten

    • Erstellt ein neues Dashboard mit neuer ID und UID
    • Kopiert den Titel (oder hängt "(Kopie)" an, wenn kein benutzerdefinierter Titel angegeben ist)
    • Setzt den Ersteller auf den Benutzer, der die Kopie durchführt
    • Beibehaltung der Unternehmens- und Projektzuordnungen
  2. Diagramme und Struktur

    • Kopiert alle Diagramme mit neuen IDs und UIDs
    • Bewahrt Diagrammtypen, Titel und Positionen
    • Beibehaltung der Diagrammkonfiguration und Metadaten
  3. Diagrammsegmente und Werte

    • Kopiert alle Diagrammsegmente mit neuen IDs und UIDs
    • Bewahrt Segmenttitel, Formeln und Konfigurationen
    • Kopiert alle Diagrammwerte und deren Daten
  4. Formelreferenzen

    • Aktualisiert Formelreferenzen, um neue UIDs zu verwenden
    • Beibehaltung der Formel-Logik und Berechnungen
    • Stellt sicher, dass kopierte Formeln auf kopierte Daten verweisen
  5. Benutzerberechtigungen

    • Kopiert alle Benutzerberechtigungen des Dashboards vom Original
    • Schließt den kopierenden Benutzer aus (er wird zum Ersteller)
    • Bewahrt die Rollenzuweisungen VIEWER und EDITOR

Nach-Kopie-Operationen

Nach der Erstellung der Kopie veröffentlicht das System automatisch:

  • Ereignisse zur Erstellung des Dashboards für Echtzeit-Updates
  • Auslösung der Neuberechnung der Diagrammergebnisse für alle kopierten Diagramme
  • Aktualisierung aller abhängigen Systeme oder Integrationen

Erforderliche Berechtigungen

Das Kopieren von Dashboards erfordert spezifische Berechtigungen:

Rolle Kann Dashboard kopieren
Dashboard Creator ✅ Ja
Dashboard EDITOR ✅ Ja
Dashboard VIEWER ❌ Nein
Nicht-Dashboard-Benutzer ❌ Nein

Berechtigungsprüfung: Der Benutzer muss EDITOR-Zugriff auf das ursprüngliche Dashboard haben, entweder durch:

  • Der ursprüngliche Ersteller des Dashboards zu sein
  • Eine explizite EDITOR-Rollen-Zuweisung auf dem Dashboard zu haben

Fehlerantworten

Dashboard nicht gefunden

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

Unzureichende Berechtigungen

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

Ungültige Eingabe

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

Anwendungsfälle

1. Vorlagen-Dashboards

Erstellen Sie Vorlagen-Dashboards, die für neue Projekte oder Teams kopiert werden können:

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

2. Backup und Versionierung

Erstellen Sie Backups, bevor Sie wesentliche Änderungen vornehmen:

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

3. Teamübergreifendes Teilen

Kopieren Sie Dashboards zwischen Teams, während die Datenstruktur beibehalten wird:

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

Best Practices

Benennungsrichtlinien

  • Verwenden Sie beschreibende Titel, die den Zweck der Kopie anzeigen
  • Fügen Sie Teamnamen, Daten oder Versionsnummern zur Klarheit hinzu
  • Vermeiden Sie generische Namen wie "Kopie" oder "Neues Dashboard"

Berechtigungsmanagement

  • Überprüfen Sie die Berechtigungen des kopierten Dashboards nach der Erstellung
  • Fügen Sie Benutzer nach Bedarf für den spezifischen Anwendungsfall hinzu oder entfernen Sie sie
  • Überlegen Sie, ob Zuschauer zu Editoren der Kopie werden müssen

Datenintegrität

  • Überprüfen Sie, ob Formeln und Berechnungen nach dem Kopieren korrekt funktionieren
  • Stellen Sie sicher, dass die Datenquellen der Diagramme für den neuen Kontext geeignet sind
  • Testen Sie alle automatisierten Berichte oder Integrationen

Leistungsüberlegungen

  • Das Kopieren großer Dashboards mit vielen Diagrammen kann mehrere Sekunden dauern
  • Die Neuberechnung der Diagramme erfolgt asynchron nach der Kopie
  • Ziehen Sie in Betracht, während der Nebenzeiten für sehr große Dashboards zu kopieren
  • Überwachen Sie die Systemressourcen, wenn mehrere Dashboards gleichzeitig kopiert werden

Einschränkungen

  • Dashboards können nicht über verschiedene Unternehmen hinweg kopiert werden
  • Formelreferenzen sind auf Daten innerhalb desselben Unternehmens beschränkt
  • Einige externe Integrationen müssen möglicherweise neu konfiguriert werden
  • Benutzerdefinierte Berechtigungen oder Rollen müssen möglicherweise manuell angepasst werden
  • Historische Daten und Analysen werden in der Kopie nicht beibehalten

Verwandte Ressourcen

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen