Skip to main content

title: “Documents — Manajemen Dokumen” description: “Manajemen dokumen terpusat dengan Cloudinary upload, image compression, 6 kategori, search, sharing, versioning, approval workflow, dan access control di SNISHOP ERP.”

Documents — Manajemen Dokumen

Documents Halaman Documents adalah pusat penyimpanan dan manajemen seluruh dokumen bisnis kamu. Dibangun di atas Documents.jsx (377 baris) dengan integrasi Cloudinary untuk upload file dan image compression untuk optimasi ukuran file sebelum upload. Sistem ini mendukung 6 kategori dokumen, pencarian full-text, filter berdasarkan kategori, organising dokumen ke dalam folder, versioning dokumen, sharing dokumen ke user tertentu, penguncian dokumen, tanggal kedaluwarsa, dan access control melalui ERPAccessGuard.

Fitur Utama

  • Upload & Compression — Upload file ke Cloudinary dengan kompresi otomatis untuk gambar
  • 6 Kategori Dokumen — Klasifikasi dokumen ke dalam kategori yang terstruktur
  • Folder Organisation — Kelompokkan dokumen ke dalam folder virtual
  • Versioning — Lacak versi dokumen secara otomatis
  • Sharing & Collaboration — Bagikan dokumen ke user tertentu berdasarkan email
  • Document Locking — Kunci dokumen untuk mencegah perubahan tidak sah
  • Expiry Tracking — Tandai dokumen dengan tanggal kedaluwarsa
  • Tagging System — Tambahkan tag untuk klasifikasi tambahan
  • Search & Filter — Cari dokumen berdasarkan nama, deskripsi, kategori, dan tag
  • Access Control — Permission berbasis role melalui ERPAccessGuard

Arsitektur Komponen

Entity Relationship Diagram

Entity Schema — Document

Entity Schema — ApprovalRequest

Sub-field: approval_history[]

Entity Schema — ApprovalWorkflow

Sub-field: approval_levels[]

Entity Schema — WorkspaceMember

Sub-field: permissions

6 Kategori Dokumen

Enum Reference — Document.category

Enum Reference — ApprovalRequest.overall_status

Enum Reference — ApprovalWorkflow.document_type

Enum Reference — WorkspaceMember.role

Document Lifecycle — State Diagram

Penjelasan State

Upload Pipeline

Image Compression Details

File Type Support

Sharing & Collaboration Flow

Aturan Sharing

Version Control Flow

Aturan Versioning

Approval Workflow Flow

Search & Filter

Access Control

RBAC Permission Table

Permission Detail

Stats Dashboard

Folder Organisation

Dokumen dapat diorganisir ke dalam folder virtual menggunakan field folder. Folder bersifat flat (tidak ada sub-folder bersarang) dan ditentukan oleh nama string.

Contoh Struktur Folder

Document Locking & Expiry

Penguncian Dokumen

Field is_locked digunakan untuk mencegah perubahan pada dokumen penting. Dokumen yang terkunci:
  • Tidak dapat di-update versinya
  • Metadata tidak dapat diubah
  • Tetap dapat dilihat dan di-download
  • Hanya role Owner dan Admin yang dapat mengunci/membuka kunci

Tanggal Kedaluwarsa

Field expiry_date menandai kapan dokumen dianggap tidak berlaku lagi:
  • Dokumen kedaluwarsa tetap tersimpan tetapi ditandai dengan badge khusus
  • Dapat difilter untuk menampilkan dokumen yang sudah/sedang kedaluwarsa
  • Berguna untuk kontrak, sertifikat, dan dokumen legal yang memiliki masa berlaku
  • Tidak otomatis dihapus — perlu tindakan manual untuk arsip atau hapus

Integrasi Lintas Modul

Flow Penggunaan

Cara Akses

Dari sidebar, klik menu Productivity > Documents.

Flow Penggunaan Detail

  1. Buka halaman Documents dari sidebar — lihat statistik dokumen di atas
  2. Gunakan filter kategori untuk menyaring dokumen berdasarkan jenis
  3. Gunakan search bar untuk mencari dokumen berdasarkan judul, deskripsi, atau tag
  4. Gunakan filter folder untuk melihat dokumen dalam folder tertentu
  5. Klik “Upload Dokumen” untuk mengupload file baru
  6. Pilih file dari komputer (drag & drop atau browse)
  7. Sistem otomatis compress jika file berupa gambar
  8. Isi judul, kategori, folder, tag, dan deskripsi dokumen
  9. Klik Upload — file diupload ke Cloudinary dan metadata disimpan
  10. Dokumen baru muncul di daftar dengan thumbnail preview
  11. Klik dokumen untuk preview detail, download, share, atau delete
  12. Gunakan lock untuk mengunci dokumen penting agar tidak diubah
  13. Set expiry_date untuk dokumen yang memiliki masa berlaku

Tips

  • Gunakan kategori yang konsisten — supaya dokumen mudah ditemukan saat dibutuhkan, terutama saat audit atau review legal
  • Beri judul dokumen yang deskriptif — contoh: “Kontrak Supplier PT ABC - 2026” lebih baik daripada “kontrak_final_revisi3.pdf”
  • Upload sertifikat dan izin edar ke kategori other atau buat kategori khusus supaya mudah diakses saat ada inspeksi
  • Manfaatkan deskripsi untuk menambahkan konteks: nomor kontrak, tanggal berlaku, pihak terkait
  • Gunakan folder untuk mengelompokkan dokumen berdasarkan proyek, departemen, atau periode waktu
  • Tambahkan tag untuk klasifikasi silang — satu dokumen bisa memiliki banyak tag meskipun hanya satu kategori
  • Set expiry_date pada kontrak dan sertifikat supaya kamu diingatkan sebelum dokumen kedaluwarsa
  • Lock dokumen penting yang sudah final untuk mencegah perubahan tidak sengaja
  • Share dokumen via email daripada mengirim file berulang — semua orang akses versi yang sama
  • Review dokumen secara berkala — hapus atau arsipkan dokumen yang sudah tidak relevan
  • File gambar otomatis di-compress — tidak perlu compress manual sebelum upload, sistem sudah menangani optimasi ukuran
  • Gunakan versioning — upload versi baru daripada menimpa file lama, supaya ada jejak perubahan