Maak een volledige kopie van een bestaand dashboard, inclusief alle grafieken, segmenten en machtigingen
De copyDashboard
mutatie maakt een volledige kopie van een bestaand dashboard, inclusief alle grafieken, grafieksegmenten, waarden en gebruikersmachtigingen. Deze operatie voert een diepe kopie uit met nieuwe unieke identificatoren voor alle gekopieerde elementen.
Basisvoorbeeld
Maak een kopie van een dashboard met een aangepaste 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
}
}
}
}
Geavanceerd Voorbeeld
Kopieer een dashboard zonder een titel op te geven (voegt automatisch "(Kopie)" toe):
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
}
}
Invoervelden
CopyDashboardInput
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
dashboardId |
String! | ✅ Ja | ID van het dashboard dat gekopieerd moet worden |
title |
String | Nee | Aangepaste titel voor het gekopieerde dashboard. Als niet opgegeven, voegt "(Kopie)" toe aan de oorspronkelijke titel |
Antwoordvelden
Dashboard Antwoord
De mutatie retourneert een complete Dashboard
object met alle gekopieerde gegevens:
Veld | Type | Beschrijving |
---|---|---|
id |
String! | Unieke identificator voor het nieuwe dashboard |
uid |
String! | Unieke identificator die wordt gebruikt voor URL-routering |
title |
String! | Titel van het gekopieerde dashboard |
createdBy |
User! | De gebruiker die de kopieeroperatie heeft uitgevoerd |
company |
Company! | Het bedrijf waartoe het dashboard behoort (zelfde als origineel) |
project |
Project | Projectassociatie (zelfde als origineel, indien aanwezig) |
charts |
[Chart!]! | Alle grafieken gekopieerd van het originele dashboard |
dashboardUsers |
[DashboardUser!]! | Gebruikersmachtigingen gekopieerd van origineel (exclusief kopieer gebruiker) |
createdAt |
DateTime! | Wanneer de kopie is gemaakt |
updatedAt |
DateTime! | Wanneer de kopie voor het laatst is gewijzigd |
Gedrag bij het Kopiëren van Dashboards
Diepe Kopie Proces
De copyDashboard
operatie voert een volledige diepe kopie uit, inclusief:
-
Dashboard Metadata
- Maakt een nieuw dashboard met een nieuwe ID en UID
- Kopieert de titel (of voegt "(Kopie)" toe als er geen aangepaste titel is)
- Stelt de maker in op de gebruiker die de kopie uitvoert
- Behoudt bedrijfs- en projectassociaties
-
Grafieken en Structuur
- Kopieert alle grafieken met nieuwe ID's en UID's
- Behoudt grafiektype, titels en posities
- Behoudt grafiekconfiguratie en metadata
-
Grafieksegmenten en Waarden
- Kopieert alle grafieksegmenten met nieuwe ID's en UID's
- Behoudt segmenttitels, formules en configuraties
- Kopieert alle grafiekwaarden en hun gegevens
-
Formule Referenties
- Werkt formule referenties bij om nieuwe UID's te gebruiken
- Behoudt formule logica en berekeningen
- Zorgt ervoor dat gekopieerde formules naar gekopieerde gegevens verwijzen
-
Gebruikersmachtigingen
- Kopieert alle dashboard gebruikersmachtigingen van origineel
- Sluit de kopieer gebruiker uit (zij worden de maker)
- Behoudt VIEWER en EDITOR roltoewijzingen
Post-Kopie Operaties
Na het maken van de kopie, publiceert het systeem automatisch:
- Publiceert dashboard creatie evenementen voor realtime updates
- Activeert herberekening van grafiekresultaten voor alle gekopieerde grafieken
- Werkt eventuele afhankelijke systemen of integraties bij
Vereiste Machtigingen
Het kopiëren van dashboards vereist specifieke machtigingen:
Rol | Kan Dashboard Kopiëren |
---|---|
Dashboard Creator | ✅ Ja |
Dashboard EDITOR | ✅ Ja |
Dashboard VIEWER | ❌ Nee |
Niet-dashboard Gebruiker | ❌ Nee |
Machtiging Controle: De gebruiker moet EDITOR toegang hebben tot het originele dashboard door ofwel:
- De oorspronkelijke dashboard maker te zijn
- Een expliciete EDITOR roltoewijzing op het dashboard te hebben
Fout Antwoorden
Dashboard Niet Gevonden
{
"errors": [{
"message": "Dashboard was not found.",
"extensions": {
"code": "DASHBOARD_NOT_FOUND"
}
}]
}
Onvoldoende Machtigingen
{
"errors": [{
"message": "You don't have permission to access this dashboard",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Ongeldige Invoer
{
"errors": [{
"message": "Dashboard ID is required",
"extensions": {
"code": "VALIDATION_ERROR"
}
}]
}
Gebruikscases
1. Sjabloon Dashboards
Maak sjabloondashboards die kunnen worden gekopieerd voor nieuwe projecten of teams:
mutation CreateProjectDashboard {
copyDashboard(input: {
dashboardId: "template_dashboard_id"
title: "Project Alpha - Sales Dashboard"
}) {
id
title
}
}
2. Back-up en Versiebeheer
Maak back-ups voordat u aanzienlijke wijzigingen aanbrengt:
mutation BackupDashboard {
copyDashboard(input: {
dashboardId: "production_dashboard"
title: "Production Dashboard - Backup 2024-01-15"
}) {
id
title
createdAt
}
}
3. Cross-Team Delen
Kopieer dashboards tussen teams terwijl de datastructuur behouden blijft:
mutation ShareDashboardWithTeam {
copyDashboard(input: {
dashboardId: "marketing_dashboard"
title: "Marketing Dashboard - Sales Team Copy"
}) {
id
title
dashboardUsers {
role
user {
email
}
}
}
}
Beste Praktijken
Naamgevingsconventies
- Gebruik beschrijvende titels die het doel van de kopie aangeven
- Voeg teamnamen, datums of versienummers toe voor duidelijkheid
- Vermijd generieke namen zoals "Kopie" of "Nieuw Dashboard"
Machtigingsbeheer
- Controleer de machtigingen van het gekopieerde dashboard na creatie
- Voeg gebruikers toe of verwijder ze indien nodig voor de specifieke use case
- Overweeg of kijkers redacteuren moeten worden op de kopie
Gegevensintegriteit
- Controleer of formules en berekeningen correct werken na het kopiëren
- Controleer of de gegevensbronnen van grafieken geschikt zijn voor de nieuwe context
- Test eventuele geautomatiseerde rapporten of integraties
Prestatieoverwegingen
- Het kopiëren van grote dashboards met veel grafieken kan enkele seconden duren
- Herberekening van grafieken gebeurt asynchroon na de kopie
- Overweeg om te kopiëren tijdens daluren voor zeer grote dashboards
- Houd systeembronnen in de gaten bij het gelijktijdig kopiëren van meerdere dashboards
Beperkingen
- Kan geen dashboards kopiëren tussen verschillende bedrijven
- Formule referenties zijn beperkt tot gegevens binnen hetzelfde bedrijf
- Sommige externe integraties moeten mogelijk opnieuw worden geconfigureerd
- Aangepaste machtigingen of rollen moeten mogelijk handmatig worden aangepast
- Historische gegevens en analyses worden niet behouden in de kopie
Gerelateerde Bronnen
- Dashboard Overzicht - Algemene dashboardconcepten
- Dashboard Hernoemen - Wijzig dashboardtitels
- Dashboard Gebruikers - Beheer dashboardmachtigingen
- Grafieken API - Werk met individuele grafieken