Skip to content
fahmikipPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIMDOK — Sistem Dokumentasi Dokumen

Aplikasi Google Apps Script untuk dokumentasi digital KPU Kabupaten Aceh Selatan. File disimpan dalam subfolder kategori di Google Drive; metadata, pengguna, kategori, dan audit aktivitas disimpan di Google Spreadsheet.

Instalasi

  1. Buat Google Spreadsheet kosong. Langkah ini opsional karena setupApplication() juga dapat membuat spreadsheet otomatis.
  2. Buka script.google.com, buat project baru, lalu tambahkan seluruh file .gs dan .html dari folder ini dengan nama yang sama.
  3. Aktifkan tampilan manifest melalui Project Settings → Show appsscript.json, lalu salin isi appsscript.json bila ingin memakai scope eksplisit.
  4. Jika memakai spreadsheet yang sudah dibuat, isi SPREADSHEET_ID pada Config.gs. Jika dikosongkan, setup membuat database baru.
  5. Jika memakai folder Drive yang sudah ada, isi ROOT_FOLDER_ID pada Config.gs. Jika dikosongkan, setup mencari atau membuat folder DOKUMENTASI DOKUMEN.
  6. Pilih fungsi setupApplication() di editor dan klik Run. Setujui izin Spreadsheet, Drive, dan identitas pengguna.
  7. Buka Executions atau log hasil run. Fungsi setup mengembalikan spreadsheetId, folderId, dan adminEmail. ID juga disimpan aman di Script Properties.

Admin pertama

setupApplication() otomatis menambahkan akun yang menjalankan setup sebagai Admin. Jika email tidak tersedia, buka sheet Pengguna dan tambahkan baris dengan kolom:

email@domain.go.id | Nama Admin | Admin | Aktif | tanggal

Email harus sama persis dengan akun yang membuka Web App (perbandingan tidak peka huruf besar/kecil).

Deployment Web App

  1. Klik Deploy → New deployment → Web app.
  2. Pilih Execute as: User accessing the web app agar pemeriksaan Session.getActiveUser() dan izin Drive mengikuti pengguna. Untuk lingkungan yang seluruh file-nya dikelola satu akun layanan, Execute as: Me dapat dipakai, tetapi uji visibilitas email dan akses file dengan teliti.
  3. Pada Google Workspace internal, pilih Who has access: Anyone within [organisasi/domain]. Jangan gunakan akses publik bila arsip bersifat internal.
  4. Klik Deploy, setujui izin, lalu buka URL deployment.
  5. Setelah perubahan kode, gunakan Deploy → Manage deployments → Edit → New version.

Akses file

Default akses diatur melalui halaman Pengaturan atau properti DEFAULT_SHARING_ACCESS:

  • PRIVATE: hanya akun yang diberi akses Drive.
  • ANYONE_WITH_LINK: siapa saja yang memiliki link dapat melihat.

Dokumen berstatus Rahasia selalu dipaksa tetap pribadi. Google Workspace dapat memblokir ANYONE_WITH_LINK; pada kondisi itu aplikasi tetap menyimpan file, tetapi administrator Workspace perlu menyesuaikan kebijakan atau membagikan file kepada akun/domain tertentu.

Pengujian

  1. Login sebagai Admin dan tambahkan kategori. Pastikan subfolder muncul di folder utama Drive.
  2. Upload satu PDF atau gambar, lalu cek baris baru di sheet Dokumen.
  3. Uji pencarian judul, filter kategori/status/tanggal, pagination, dan reset filter.
  4. Buka menu aksi: Detail, Preview, Buka di Drive, Salin Link, dan Unduh.
  5. Setelah Salin Link, pastikan sheet Log_Aktivitas memuat SALIN_LINK tanpa tab baru terbuka.
  6. Uji Edit, Ganti File, dan Hapus sebagai Admin; pastikan menu tersebut tidak tampil untuk role Pengguna.
  7. Nonaktifkan akun uji di halaman Pengguna dan pastikan aksesnya ditolak.

Jika email pengguna kosong

Session.getActiveUser().getEmail() dapat kosong untuk akun konsumen, deployment publik, atau kebijakan domain tertentu. Gunakan akun Google Workspace pada domain yang sama, deploy untuk pengguna dalam organisasi, dan pilih Execute as: User accessing the web app. Administrator Workspace mungkin perlu mengizinkan scope profil/email. Setelah mengubah deployment, buat versi baru dan login ulang dengan akun yang sudah tercatat di sheet Pengguna.

Mengganti Spreadsheet atau Folder

  • Cara awal: isi CONFIG.SPREADSHEET_ID dan CONFIG.ROOT_FOLDER_ID, lalu jalankan setupApplication().
  • Jika aplikasi sudah pernah disiapkan, nilai Script Properties lebih diutamakan. Buka Project Settings → Script Properties, ubah SPREADSHEET_ID atau ROOT_FOLDER_ID, lalu jalankan setupApplication() lagi.
  • Spreadsheet tujuan harus memiliki atau dapat dibuatkan empat sheet: Dokumen, Kategori, Pengguna, dan Log_Aktivitas.
  • Folder tujuan harus dapat ditulis oleh identitas yang mengeksekusi Web App.

Catatan operasional

  • Batas upload Apps Script dan durasi eksekusi tetap mengikuti kuota akun Google Workspace.
  • Tombol keluar menjelaskan bahwa sesi aplikasi mengikuti sesi Google; logout dilakukan pada akun Google/browser.
  • Jangan menghapus atau mengubah urutan header sheet secara manual.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages