Buat salinan lengkap dari dasbor yang ada termasuk semua grafik, segmen, dan izin


Mutasi copyDashboard membuat salinan lengkap dari dasbor yang ada, termasuk semua grafik, segmen grafik, nilai, dan izin pengguna. Operasi ini melakukan salinan mendalam dengan pengidentifikasi unik baru untuk semua elemen yang disalin.

Contoh Dasar

Buat salinan dasbor dengan judul kustom:

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

Contoh Lanjutan

Salin dasbor tanpa menentukan judul (secara otomatis menambahkan "(Salin)"):

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

Parameter Input

CopyDashboardInput

Parameter Tipe Diperlukan Deskripsi
dashboardId String! ✅ Ya ID dari dasbor yang akan disalin
title String Tidak Judul kustom untuk dasbor yang disalin. Jika tidak disediakan, menambahkan "(Salin)" ke judul asli

Bidang Respons

Respons Dasbor

Mutasi mengembalikan objek Dashboard lengkap dengan semua data yang disalin:

Bidang Tipe Deskripsi
id String! Pengidentifikasi unik untuk dasbor baru
uid String! Pengidentifikasi unik yang digunakan untuk routing URL
title String! Judul dari dasbor yang disalin
createdBy User! Pengguna yang melakukan operasi salin
company Company! Perusahaan tempat dasbor ini berada (sama dengan yang asli)
project Project Asosiasi proyek (sama dengan yang asli, jika ada)
charts [Chart!]! Semua grafik yang disalin dari dasbor asli
dashboardUsers [DashboardUser!]! Izin pengguna yang disalin dari yang asli (tidak termasuk pengguna yang menyalin)
createdAt DateTime! Waktu salinan dibuat
updatedAt DateTime! Waktu salinan terakhir dimodifikasi

Perilaku Penyalinan Dasbor

Proses Salinan Mendalam

Operasi copyDashboard melakukan salinan mendalam lengkap termasuk:

  1. Metadata Dasbor

    • Membuat dasbor baru dengan ID dan UID baru
    • Menyalin judul (atau menambahkan "(Salin)" jika tidak ada judul kustom)
    • Mengatur pencipta menjadi pengguna yang melakukan salin
    • Mempertahankan asosiasi perusahaan dan proyek
  2. Grafik dan Struktur

    • Menyalin semua grafik dengan ID dan UID baru
    • Mempertahankan jenis grafik, judul, dan posisi
    • Mempertahankan konfigurasi dan metadata grafik
  3. Segmen Grafik dan Nilai

    • Menyalin semua segmen grafik dengan ID dan UID baru
    • Mempertahankan judul segmen, rumus, dan konfigurasi
    • Menyalin semua nilai grafik dan data mereka
  4. Referensi Rumus

    • Memperbarui referensi rumus untuk menggunakan UID baru
    • Mempertahankan logika dan perhitungan rumus
    • Memastikan rumus yang disalin merujuk pada data yang disalin
  5. Izin Pengguna

    • Menyalin semua izin pengguna dasbor dari yang asli
    • Mengecualikan pengguna yang menyalin (mereka menjadi pencipta)
    • Mempertahankan penugasan peran VIEWER dan EDITOR

Operasi Pasca-Salin

Setelah membuat salinan, sistem secara otomatis:

  • Menerbitkan peristiwa pembuatan dasbor untuk pembaruan waktu nyata
  • Memicu perhitungan ulang hasil grafik untuk semua grafik yang disalin
  • Memperbarui sistem atau integrasi yang bergantung

Izin yang Diperlukan

Penyalinan dasbor memerlukan izin tertentu:

Peran Dapat Menyalin Dasbor
Dashboard Creator ✅ Ya
Dashboard EDITOR ✅ Ya
Dashboard VIEWER ❌ Tidak
Pengguna non-dasbor ❌ Tidak

Pemeriksaan Izin: Pengguna harus memiliki akses EDITOR ke dasbor asli melalui salah satu cara berikut:

  • Menjadi pencipta dasbor asli
  • Memiliki penugasan peran EDITOR yang eksplisit pada dasbor

Respons Kesalahan

Dasbor Tidak Ditemukan

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

Izin Tidak Cukup

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

Input Tidak Valid

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

Kasus Penggunaan

1. Dasbor Template

Buat dasbor template yang dapat disalin untuk proyek atau tim baru:

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

2. Cadangan dan Versi

Buat cadangan sebelum melakukan perubahan signifikan:

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

3. Berbagi Lintas Tim

Salin dasbor antar tim sambil mempertahankan struktur data:

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

Praktik Terbaik

Konvensi Penamaan

  • Gunakan judul deskriptif yang menunjukkan tujuan salinan
  • Sertakan nama tim, tanggal, atau nomor versi untuk kejelasan
  • Hindari nama generik seperti "Salin" atau "Dasbor Baru"

Manajemen Izin

  • Tinjau izin dasbor yang disalin setelah pembuatan
  • Tambahkan atau hapus pengguna sesuai kebutuhan untuk kasus penggunaan tertentu
  • Pertimbangkan apakah pemirsa perlu menjadi editor pada salinan

Integritas Data

  • Verifikasi bahwa rumus dan perhitungan berfungsi dengan benar setelah disalin
  • Periksa bahwa sumber data grafik sesuai untuk konteks baru
  • Uji laporan atau integrasi otomatis

Pertimbangan Kinerja

  • Menyalin dasbor besar dengan banyak grafik mungkin memerlukan beberapa detik
  • Perhitungan ulang grafik terjadi secara asinkron setelah salinan
  • Pertimbangkan untuk menyalin selama jam-jam sepi untuk dasbor yang sangat besar
  • Pantau sumber daya sistem saat menyalin beberapa dasbor secara bersamaan

Pembatasan

  • Tidak dapat menyalin dasbor antar perusahaan yang berbeda
  • Referensi rumus terbatas pada data dalam perusahaan yang sama
  • Beberapa integrasi eksternal mungkin perlu dikonfigurasi ulang
  • Izin atau peran kustom mungkin perlu penyesuaian manual
  • Data dan analitik historis tidak dipertahankan dalam salinan

Sumber Daya Terkait

Asisten AI

Respon dihasilkan menggunakan AI dan mungkin mengandung kesalahan.

Bagaimana saya bisa membantu Anda?

Tanyakan apa saja tentang Blue atau dokumentasi ini.

Masukkan untuk mengirim • Shift+Masukkan untuk baris baru • ⌘I untuk membuka