Crear una copia completa de un tablero existente, incluyendo todos los gráficos, segmentos y permisos


La copyDashboard mutación crea una copia completa de un tablero existente, incluyendo todos los gráficos, segmentos de gráficos, valores y permisos de usuario. Esta operación realiza una copia profunda con nuevos identificadores únicos para todos los elementos copiados.

Ejemplo Básico

Crea una copia de un tablero con un título personalizado:

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

Ejemplo Avanzado

Copia un tablero sin especificar un título (se añade automáticamente "(Copia)"):

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

Parámetros de Entrada

CopyDashboardInput

Parámetro Tipo Requerido Descripción
dashboardId String! ✅ Sí ID del tablero a copiar
title String No Título personalizado para el tablero copiado. Si no se proporciona, se añade "(Copia)" al título original

Campos de Respuesta

Respuesta del Tablero

La mutación devuelve un objeto completo Dashboard con todos los datos copiados:

Campo Tipo Descripción
id String! Identificador único para el nuevo tablero
uid String! Identificador único utilizado para el enrutamiento de URL
title String! Título del tablero copiado
createdBy User! El usuario que realizó la operación de copia
company Company! La empresa a la que pertenece el tablero (igual que el original)
project Project Asociación de proyecto (igual que el original, si existe)
charts [Chart!]! Todos los gráficos copiados del tablero original
dashboardUsers [DashboardUser!]! Permisos de usuario copiados del original (excluyendo al usuario que copia)
createdAt DateTime! Cuándo se creó la copia
updatedAt DateTime! Cuándo se modificó por última vez la copia

Comportamiento de Copiado de Tableros

Proceso de Copia Profunda

La copyDashboard operación realiza una copia profunda completa que incluye:

  1. Metadatos del Tablero

    • Crea un nuevo tablero con un nuevo ID y UID
    • Copia el título (o añade "(Copia)" si no hay título personalizado)
    • Establece el creador como el usuario que realiza la copia
    • Mantiene las asociaciones de empresa y proyecto
  2. Gráficos y Estructura

    • Copia todos los gráficos con nuevos IDs y UIDs
    • Preserva los tipos de gráficos, títulos y posiciones
    • Mantiene la configuración y metadatos del gráfico
  3. Segmentos de Gráficos y Valores

    • Copia todos los segmentos de gráficos con nuevos IDs y UIDs
    • Preserva los títulos de los segmentos, fórmulas y configuraciones
    • Copia todos los valores de los gráficos y sus datos
  4. Referencias de Fórmulas

    • Actualiza las referencias de fórmulas para usar nuevos UIDs
    • Mantiene la lógica y cálculos de las fórmulas
    • Asegura que las fórmulas copiadas hagan referencia a los datos copiados
  5. Permisos de Usuario

    • Copia todos los permisos de usuario del tablero original
    • Excluye al usuario que copia (se convierte en el creador)
    • Preserva las asignaciones de roles de VISUALIZADOR y EDITOR

Operaciones Posteriores a la Copia

Después de crear la copia, el sistema automáticamente:

  • Publica eventos de creación de tableros para actualizaciones en tiempo real
  • Dispara el recálculo de resultados de gráficos para todos los gráficos copiados
  • Actualiza cualquier sistema o integración dependiente

Permisos Requeridos

La copia de tableros requiere permisos específicos:

Rol Puede Copiar Tablero
Dashboard Creator ✅ Sí
Dashboard EDITOR ✅ Sí
Dashboard VIEWER ❌ No
Usuario no tablero ❌ No

Verificación de Permisos: El usuario debe tener acceso de EDITOR al tablero original a través de:

  • Ser el creador del tablero original
  • Tener una asignación de rol de EDITOR explícita en el tablero

Respuestas de Error

Tablero No Encontrado

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

Permisos Insuficientes

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

Entrada Inválida

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

Casos de Uso

1. Tableros de Plantilla

Crea tableros de plantilla que se puedan copiar para nuevos proyectos o equipos:

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

2. Copias de Seguridad y Versionado

Crea copias de seguridad antes de realizar cambios significativos:

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

3. Compartición entre Equipos

Copia tableros entre equipos mientras mantienes la estructura de datos:

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

Mejores Prácticas

Convenciones de Nomenclatura

  • Usa títulos descriptivos que indiquen el propósito de la copia
  • Incluye nombres de equipos, fechas o números de versión para mayor claridad
  • Evita nombres genéricos como "Copia" o "Nuevo Tablero"

Gestión de Permisos

  • Revisa los permisos del tablero copiado después de la creación
  • Agrega o elimina usuarios según sea necesario para el caso de uso específico
  • Considera si los visualizadores necesitan convertirse en editores en la copia

Integridad de Datos

  • Verifica que las fórmulas y cálculos funcionen correctamente después de la copia
  • Comprueba que las fuentes de datos de los gráficos sean apropiadas para el nuevo contexto
  • Prueba cualquier informe o integración automatizada

Consideraciones de Rendimiento

  • Copiar tableros grandes con muchos gráficos puede tardar varios segundos
  • El recálculo de gráficos ocurre de manera asíncrona después de la copia
  • Considera copiar durante horas de menor actividad para tableros muy grandes
  • Monitorea los recursos del sistema al copiar múltiples tableros simultáneamente

Limitaciones

  • No se pueden copiar tableros entre diferentes empresas
  • Las referencias de fórmulas están limitadas a datos dentro de la misma empresa
  • Algunas integraciones externas pueden necesitar reconfiguración
  • Los permisos o roles personalizados pueden necesitar ajustes manuales
  • Los datos históricos y análisis no se preservan en la copia

Recursos Relacionados

Asistente IA

Las respuestas son generadas por IA y pueden contener errores.

¿Cómo puedo ayudarte?

Pregúntame cualquier cosa sobre Blue o esta documentación.

Enter para enviar • Shift+Enter para nueva línea • ⌘I para abrir