Alur Status Metadata Lengkap
Diperbarui 3 Agustus 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
| Status | Arti | Visibilitas |
|---|---|---|
| DRAFT | Sedang dikerjakan Produsen | Hanya Produsen + Admin |
| QCQE_PROCESS | Menunggu/sedang pemeriksaan | Produsen, Pemeriksa, Admin |
| REVIEW | Menunggu review Walidata | Produsen, Pemeriksa, Walidata, Admin |
| PUBLISHED | Terbit — aktif di katalog publik | Semua orang |
| PRIVATE | Tersembunyi sementara | Hanya pengguna terautentikasi |
| REJECTED | Ditolak, dikembalikan ke Produsen | Produsen + 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:
| Status | Keterangan |
|---|---|
| DRAFT | Disimpan, belum dikirim ke atasan |
| PENDING_ATASAN | Menunggu konfirmasi atasan (STRICT) |
| PENDING_APPROVAL | Siap TTE — menunggu konfirmasi atasan (atau sudah dikonfirmasi, TTE belum jalan) |
| SIGNED | Ditandatangani (TTE berhasil) |
| REJECTED | Ditolak (misal BSRE error) |