Utwórz pełną kopię istniejącego dashboardu, w tym wszystkie wykresy, segmenty i uprawnienia


Mutacja copyDashboard tworzy pełną kopię istniejącego dashboardu, w tym wszystkie wykresy, segmenty wykresów, wartości i uprawnienia użytkowników. Operacja ta wykonuje głęboką kopię z nowymi unikalnymi identyfikatorami dla wszystkich skopiowanych elementów.

Podstawowy Przykład

Utwórz kopię dashboardu z niestandardowym tytułem:

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

Zaawansowany Przykład

Skopiuj dashboard bez określenia tytułu (automatycznie dodaje "(Kopia)"):

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

Parametry Wejściowe

CopyDashboardInput

Parametr Typ Wymagany Opis
dashboardId String! ✅ Tak ID dashboardu do skopiowania
title String Nie Niestandardowy tytuł dla skopiowanego dashboardu. Jeśli nie podano, dodaje "(Kopia)" do oryginalnego tytułu

Pola Odpowiedzi

Odpowiedź Dashboardu

Mutacja zwraca kompletny obiekt Dashboard ze wszystkimi skopiowanymi danymi:

Pole Typ Opis
id String! Unikalny identyfikator dla nowego dashboardu
uid String! Unikalny identyfikator używany do routingu URL
title String! Tytuł skopiowanego dashboardu
createdBy User! Użytkownik, który wykonał operację kopiowania
company Company! Firma, do której należy dashboard (taka sama jak oryginalna)
project Project Powiązanie projektu (takie samo jak oryginalne, jeśli istnieje)
charts [Chart!]! Wszystkie wykresy skopiowane z oryginalnego dashboardu
dashboardUsers [DashboardUser!]! Uprawnienia użytkowników skopiowane z oryginału (z wyłączeniem użytkownika kopiującego)
createdAt DateTime! Kiedy kopia została utworzona
updatedAt DateTime! Kiedy kopia została ostatnio zmodyfikowana

Zachowanie Kopiowania Dashboardu

Proces Głębokiej Kopii

Operacja copyDashboard wykonuje pełną głęboką kopię, w tym:

  1. Metadane Dashboardu

    • Tworzy nowy dashboard z nowym ID i UID
    • Kopiuje tytuł (lub dodaje "(Kopia)", jeśli nie podano niestandardowego tytułu)
    • Ustawia twórcę na użytkownika wykonującego kopię
    • Utrzymuje powiązania z firmą i projektem
  2. Wykresy i Struktura

    • Kopiuje wszystkie wykresy z nowymi ID i UID
    • Zachowuje typy wykresów, tytuły i pozycje
    • Utrzymuje konfigurację wykresów i metadane
  3. Segmenty Wykresów i Wartości

    • Kopiuje wszystkie segmenty wykresów z nowymi ID i UID
    • Zachowuje tytuły segmentów, formuły i konfiguracje
    • Kopiuje wszystkie wartości wykresów i ich dane
  4. Odniesienia do Formuł

    • Aktualizuje odniesienia do formuł, aby używały nowych UID
    • Utrzymuje logikę i obliczenia formuł
    • Zapewnia, że skopiowane formuły odnoszą się do skopiowanych danych
  5. Uprawnienia Użytkowników

    • Kopiuje wszystkie uprawnienia użytkowników dashboardu z oryginału
    • Wyklucza użytkownika kopiującego (staje się twórcą)
    • Utrzymuje przypisania ról VIEWER i EDITOR

Operacje Po Kopii

Po utworzeniu kopii system automatycznie:

  • Publikuje zdarzenia tworzenia dashboardu dla aktualizacji w czasie rzeczywistym
  • Uruchamia ponowne obliczenie wyników wykresów dla wszystkich skopiowanych wykresów
  • Aktualizuje wszelkie zależne systemy lub integracje

Wymagane Uprawnienia

Kopiowanie dashboardu wymaga określonych uprawnień:

Rola Może Kopiować Dashboard
Dashboard Creator ✅ Tak
Dashboard EDITOR ✅ Tak
Dashboard VIEWER ❌ Nie
Użytkownik nie będący dashboardem ❌ Nie

Sprawdzenie Uprawnień: Użytkownik musi mieć dostęp EDITOR do oryginalnego dashboardu poprzez:

  • Bycie twórcą oryginalnego dashboardu
  • Posiadanie wyraźnego przypisania roli EDITOR na dashboardzie

Odpowiedzi na Błędy

Dashboard Nie Znaleziony

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

Niedostateczne Uprawnienia

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

Nieprawidłowe Wejście

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

Przykłady Zastosowania

1. Dashboardy Szablonowe

Twórz dashboardy szablonowe, które można kopiować dla nowych projektów lub zespołów:

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

2. Kopie Zapasowe i Wersjonowanie

Twórz kopie zapasowe przed wprowadzeniem istotnych zmian:

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

3. Współdzielenie Między Zespołami

Kopiuj dashboardy między zespołami, zachowując strukturę danych:

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

Najlepsze Praktyki

Konwencje Nazewnictwa

  • Używaj opisowych tytułów, które wskazują na cel kopii
  • Uwzględnij nazwy zespołów, daty lub numery wersji dla jasności
  • Unikaj ogólnych nazw, takich jak "Kopia" lub "Nowy Dashboard"

Zarządzanie Uprawnieniami

  • Przejrzyj uprawnienia skopiowanego dashboardu po utworzeniu
  • Dodawaj lub usuwaj użytkowników w zależności od konkretnego przypadku użycia
  • Rozważ, czy widzowie muszą stać się edytorami w kopii

Integralność Danych

  • Zweryfikuj, że formuły i obliczenia działają poprawnie po skopiowaniu
  • Sprawdź, czy źródła danych wykresów są odpowiednie dla nowego kontekstu
  • Przetestuj wszelkie zautomatyzowane raporty lub integracje

Rozważania Wydajnościowe

  • Kopiowanie dużych dashboardów z wieloma wykresami może zająć kilka sekund
  • Ponowne obliczenie wykresów odbywa się asynchronicznie po skopiowaniu
  • Rozważ kopiowanie w godzinach poza szczytem dla bardzo dużych dashboardów
  • Monitoruj zasoby systemowe podczas kopiowania wielu dashboardów jednocześnie

Ograniczenia

  • Nie można kopiować dashboardów między różnymi firmami
  • Odniesienia do formuł są ograniczone do danych w tej samej firmie
  • Niektóre zewnętrzne integracje mogą wymagać ponownej konfiguracji
  • Niestandardowe uprawnienia lub role mogą wymagać ręcznej regulacji
  • Dane historyczne i analizy nie są zachowywane w kopii

Powiązane Zasoby

Asystent AI

Odpowiedzi są generowane przy użyciu sztucznej inteligencji i mogą zawierać błędy.

Jak mogę Ci pomóc?

Zapytaj mnie o cokolwiek dotyczącego Blue lub tej dokumentacji.

Wciśnij Enter, aby wysłać • Shift+Enter, aby dodać nową linię • ⌘I, aby otworzyć