Dokumentasi

Alur Status Metadata Lengkap

Diperbarui 20 Juli 2026

Alur Status Metadata Lengkap

Halaman ini menjelaskan setiap status yang dapat dimiliki sebuah metadata, transisi yang mungkin terjadi, dan siapa yang dapat melakukannya.

Daftar Status

StatusArtiVisibilitas
DRAFTSedang dikerjakan ProdusenHanya Produsen + Admin
QCQE_PROCESSMenunggu/sedang pemeriksaanProdusen, Pemeriksa, Admin
REVIEWMenunggu review WalidataProdusen, Pemeriksa, Walidata, Admin
PUBLISHEDTerbit — aktif di katalog publikSemua orang
PRIVATETersembunyi sementaraHanya pengguna terautentikasi
REJECTEDDitolak, dikembalikan ke ProdusenProdusen + Admin

Diagram Transisi Lengkap

DRAFT
  │
  ├─[Produsen: Submit]──────────────────────► QCQE_PROCESS
  │                                                │
  │                                 ┌──────────────┼──────────────────────┐
  │                                 │              │                      │
  │                          [Pemeriksa:    [Pemeriksa:           [Pemeriksa:
  │                           Form QC/QE]  Upload PDF]            Lewati]
  │                                 │              │                      │
  │                        kirim ke atasan   langsung ke REVIEW    langsung ke REVIEW
  │                                 │
  │                     Mode STRICT:│ PENDING_ATASAN
  │                     Mode PARALEL:│ PENDING_APPROVAL (+ REVIEW)
  │                                 │
  │                         [Atasan konfirmasi email]
  │                                 │
  │                            auto-TTE
  │                                 │
  │                                 ▼
  │                             REVIEW ◄────────────── (dari Upload/Lewati)
  │                                 │
  │                      ┌──────────┴──────────┐
  │                      │                     │
  │               [Walidata: Setujui]   [Walidata: Tolak]
  │                      │                     │
  │                   PUBLISHED          REJECTED ───► DRAFT (Produsen edit ulang)
  │                      │
  │             ┌─────────────────┐
  │             │                 │
  │      [Walidata: Toggle]  [Tetap publik]
  │             │
  │           PRIVATE
  │             │
  │      [Walidata: Toggle kembali]
  │             │
  └─────────────► PUBLISHED

Detail Tiap Transisi

DRAFT → QCQE_PROCESS

  • Siapa: Produsen (role PRODUSEN)
  • Syarat: field wajib terisi (judul, abstrak, BBOX, topik, ≥1 kontak custodian)
  • Efek: notifikasi ke Pemeriksa instansi (email + in-app), opsional lampiran SPD
  • Proteksi concurrent: sistem mengunci metadata saat submit untuk mencegah double-submit

QCQE_PROCESS → REVIEW (via Form QC/QE)

  • Siapa: Pemeriksa
  • Syarat: minimal 1 draft QC atau QE tersimpan; data atasan terisi
  • Alur STRICT: status QC/QE → PENDING_ATASAN → (atasan konfirmasi) → PENDING_APPROVAL → (auto-TTE) → REVIEW
  • Alur PARALEL: metadata langsung ke REVIEW; status QC/QE → PENDING_APPROVAL → (atasan konfirmasi kapan pun) → auto-TTE
  • Proteksi TOCTOU: kunci row MetadataRecord dengan SELECT FOR UPDATE di dalam transaksi untuk cegah race concurrent submission

QCQE_PROCESS → REVIEW (via Upload PDF atau Lewati)

  • Siapa: Pemeriksa
  • Langsung: tidak ada step atasan

REVIEW → PUBLISHED

  • Siapa: Walidata (role WALIDATA atau ADMIN)
  • Syarat: QA diisi dan dikonfirmasi atasan (atau langsung disetujui)
  • Efek: metadata terbit, sinkron CSW + GeoNode, PDF QA di-generate dan disimpan di MinIO

REVIEW → REJECTED

  • Siapa: Walidata
  • Syarat: catatan penolakan wajib diisi
  • Efek: Produsen dan Pemeriksa mendapat notifikasi

REJECTED → QCQE_PROCESS

  • Siapa: Produsen (submit ulang setelah memperbaiki)

PUBLISHED ↔ PRIVATE

  • Siapa: Walidata (atau Admin)
  • Kapan saja setelah PUBLISHED
  • Tidak menghapus data; metadata tetap ada di DB dan bisa dikembalikan ke PUBLISHED

QCQE_PROCESS → DRAFT (kembalikan)

  • Siapa: Pemeriksa (mengembalikan ke Produsen sebelum QC/QE selesai)
  • Syarat: catatan alasan wajib diisi

Status Internal QCQERecord

Selain status MetadataRecord, setiap dokumen QC/QE/QA memiliki status tersendiri:

StatusKeterangan
DRAFTDisimpan, belum dikirim ke atasan
PENDING_ATASANMenunggu konfirmasi atasan (STRICT)
PENDING_APPROVALSiap TTE — menunggu konfirmasi atasan (atau sudah dikonfirmasi, TTE belum jalan)
SIGNEDDitandatangani (TTE berhasil)
REJECTEDDitolak (misal BSRE error)