Skapa en fullständig kopia av en befintlig instrumentpanel inklusive alla diagram, segment och behörigheter


Den copyDashboard mutation skapar en fullständig kopia av en befintlig instrumentpanel, inklusive alla diagram, diagramsegment, värden och användarbehörigheter. Denna operation utför en djup kopiering med nya unika identifierare för alla kopierade element.

Grundläggande exempel

Skapa en kopia av en instrumentpanel med en anpassad 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
      }
    }
  }
}

Avancerat exempel

Kopiera en instrumentpanel utan att specificera en titel (lägger automatiskt till "(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
  }
}

Indata parametrar

CopyDashboardInput

Parameter Typ Obligatorisk Beskrivning
dashboardId String! ✅ Ja ID för instrumentpanelen som ska kopieras
title String Nej Anpassad titel för den kopierade instrumentpanelen. Om ingen anges, läggs "(Kopia)" till den ursprungliga titeln

Svarsfält

Dashboard Response

Mutation returnerar ett komplett Dashboard objekt med alla kopierade data:

Fält Typ Beskrivning
id String! Unik identifierare för den nya instrumentpanelen
uid String! Unik identifierare som används för URL-routing
title String! Titel på den kopierade instrumentpanelen
createdBy User! Den användare som utförde kopieringsoperationen
company Company! Företaget som instrumentpanelen tillhör (samma som originalet)
project Project Projektassociation (samma som originalet, om någon)
charts [Chart!]! Alla diagram kopierade från den ursprungliga instrumentpanelen
dashboardUsers [DashboardUser!]! Användarbehörigheter kopierade från originalet (exklusive kopieringsanvändaren)
createdAt DateTime! När kopian skapades
updatedAt DateTime! När kopian senast modifierades

Beteende för kopiering av instrumentpanel

Djup kopieringsprocess

Den copyDashboard operationen utför en fullständig djup kopiering inklusive:

  1. Instrumentpanelmetadata

    • Skapar en ny instrumentpanel med nytt ID och UID
    • Kopierar titel (eller lägger till "(Kopia)" om ingen anpassad titel anges)
    • Sätter skaparen till den användare som utför kopian
    • Upprätthåller företags- och projektassociationer
  2. Diagram och struktur

    • Kopierar alla diagram med nya ID och UIDs
    • Bevarar diagramtyper, titlar och positioner
    • Upprätthåller diagramkonfiguration och metadata
  3. Diagramsegment och värden

    • Kopierar alla diagramsegment med nya ID och UIDs
    • Bevarar segmenttitlar, formler och konfigurationer
    • Kopierar alla diagramvärden och deras data
  4. Formelreferenser

    • Uppdaterar formelreferenser för att använda nya UIDs
    • Upprätthåller formellogik och beräkningar
    • Säkerställer att kopierade formler refererar till kopierade data
  5. Användarbehörigheter

    • Kopierar alla instrumentpanelens användarbehörigheter från originalet
    • Exkluderar kopieringsanvändaren (de blir skaparen)
    • Bevarar VIEWER och EDITOR rolltilldelningar

Post-kopieringsoperationer

Efter att kopian skapats, publicerar systemet automatiskt:

  • Instrumentpanelens skapandehändelser för realtidsuppdateringar
  • Utlöser diagramresultatberäkning för alla kopierade diagram
  • Uppdaterar eventuella beroende system eller integrationer

Obligatoriska behörigheter

Kopiering av instrumentpanel kräver specifika behörigheter:

Roll Kan kopiera instrumentpanel
Dashboard Creator ✅ Ja
Dashboard EDITOR ✅ Ja
Dashboard VIEWER ❌ Nej
Icke-instrumentpanelsanvändare ❌ Nej

Behörighetskontroll: Användaren måste ha EDITOR-åtkomst till den ursprungliga instrumentpanelen genom antingen:

  • Vara den ursprungliga instrumentpanelens skapare
  • Ha en uttrycklig EDITOR rolltilldelning på instrumentpanelen

Felmeddelanden

Instrumentpanel hittades inte

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

Otillräckliga behörigheter

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

Ogiltig indata

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

Användningsfall

1. Mallinstrumentpaneler

Skapa mallinstrumentpaneler som kan kopieras för nya projekt eller team:

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

2. Backup och versionering

Skapa säkerhetskopior innan betydande ändringar görs:

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

3. Delning mellan team

Kopiera instrumentpaneler mellan team samtidigt som datastukturen bevaras:

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

Bästa praxis

Namngivningskonventioner

  • Använd beskrivande titlar som anger kopians syfte
  • Inkludera teamnamn, datum eller versionsnummer för tydlighet
  • Undvik generiska namn som "Kopia" eller "Ny instrumentpanel"

Behörighetsförvaltning

  • Granska kopierade instrumentpanelers behörigheter efter skapande
  • Lägg till eller ta bort användare vid behov för det specifika användningsfallet
  • Överväg om visare behöver bli redigerare på kopian

Dataintegritet

  • Verifiera att formler och beräkningar fungerar korrekt efter kopiering
  • Kontrollera att datakällor för diagram är lämpliga för den nya kontexten
  • Testa eventuella automatiserade rapporter eller integrationer

Prestandaöverväganden

  • Kopiering av stora instrumentpaneler med många diagram kan ta flera sekunder
  • Diagramberäkning sker asynkront efter kopieringen
  • Överväg att kopiera under lågsäsong för mycket stora instrumentpaneler
  • Övervaka systemresurser när flera instrumentpaneler kopieras samtidigt

Begränsningar

  • Kan inte kopiera instrumentpaneler mellan olika företag
  • Formelreferenser är begränsade till data inom samma företag
  • Vissa externa integrationer kan behöva omkonfigurering
  • Anpassade behörigheter eller roller kan behöva manuell justering
  • Historiska data och analyser bevaras inte i kopian

Relaterade resurser

AI-assistent

Svar genereras med hjälp av AI och kan innehålla misstag.

Hur kan jag hjälpa dig?

Fråga mig vad som helst om Blue eller denna dokumentation.

Tryck Enter för att skicka • Shift+Enter för ny rad • ⌘I för att öppna