Logo Doa & Tahlil Bersama
Masuk

Manual Penggunaan

MANUAL PENGGUNAAN
Aplikasi Doa & Tahlil Bersama

=====================================================================
UNTUK PESERTA
=====================================================================
Masuk
  Gunakan tombol "Masuk dengan Google". Akun peserta langsung aktif
  tanpa menunggu persetujuan.

Melengkapi profil
  Menu Profil. Isi nama, kota, dan nomor ponsel. Nomor ponsel wajib
  bila Anda hendak menjadi pelaksana event.

Lokasi dan privasi
  Tombol "Deteksi lokasi saya" menempatkan Anda pada kelompok peta
  berukuran sekitar 10 km. Koordinat presisi Anda tidak pernah
  dibagikan kepada siapa pun. Publik hanya melihat jumlah peserta per
  kelompok. Nama dan foto hanya terlihat oleh sesama peserta dalam
  kelompok yang sama, dan itu pun dapat Anda matikan.

Foto profil
  Foto ditinjau moderator sebelum tampil kepada peserta lain.

Pasang ke layar utama
  Sangat dianjurkan. Pada iPhone, pengingat hanya berfungsi bila
  aplikasi sudah ditambahkan ke Layar Utama.

Pesan dan feedback
  Menu Pesan memuat seluruh pemberitahuan. Menu Feedback untuk
  mengirim pertanyaan atau masukan, boleh disertai lampiran.

=====================================================================
APA YANG DILIHAT PESERTA
=====================================================================
Peserta hanya melihat empat hal pokok pada bilah samping:

  Daftar Event        memilih dan mengikuti event
  Wakaf               berwakaf uang maupun emas
  Wakaf Saya          riwayat dan tanda terima wakaf sendiri
  Transparansi Wakaf  hasil penghimpunan dan bukti penyalurannya

Ditambah menu pribadi: Beranda, Profil, Pesan, Feedback, dan Baca
Mandiri.

Seluruh menu pengelolaan adalah wewenang Superadmin dan Superstaff.
Pembatasan ini ditegakkan pada matriks otorisasi, bukan sekadar dengan
menyembunyikan menu, sehingga alamatnya pun tidak dapat dibuka
langsung.

Dasbor Peserta seluruhnya berupa kartu yang dapat diklik: jumlah event
akan datang, event yang akan dihadiri, tandai kehadiran, berwakaf,
wakaf saya, dan hasil wakaf. Kartu Tandai Kehadiran menyesuaikan diri:
menampilkan hitungan mundur bila event masih nanti, dan langsung
membuka layar bacaan bila event sedang berlangsung.

=====================================================================
UNTUK ADMIN SITE
=====================================================================
Berpindah site
  Pemilih site berada di bagian paling atas layar. Data antar-site
  terisolasi penuh.

Pengguna
  Menu Pengguna untuk menambah, menyetujui, menangguhkan, dan mereset
  kata sandi. Peran internal berstatus pending sampai disetujui.
  Peran Peserta aktif otomatis.

Otorisasi
  Menu Otorisasi memetakan setiap peran ke kolom C, R, U, D untuk tiap
  transaksi dan proses. Perubahan tercatat pada audit trail. Otorisasi
  Superadmin dikunci dan tidak dapat diubah.

Konfigurasi
  Terbagi dua: Global (berlaku semua site) dan Site aktif. Nilai pada
  tingkat site menimpa nilai global.

Notifikasi
  Setiap template dapat dinyalakan atau dimatikan satu per satu.

Backup dan restore
  Backup dapat disimpan ke tabel atau diunduh sebagai berkas.
  Tersedia opsi mengecualikan data pengguna beserta otorisasinya.
  Restore menimpa isi tabel, jadi buat backup lebih dahulu.

=====================================================================
UNTUK SUPERADMIN
=====================================================================
Freeze transaksi
  Menghentikan seluruh proses transaksional secara serentak.
  Dipakai hanya pada keadaan darurat.

Reset sistem
  Mengosongkan seluruh tabel kecuali definisi peran, otorisasi, site,
  konfigurasi, dan akun Anda sendiri. Audit trail ikut dikosongkan dan
  rantai hash dimulai ulang. Tidak dapat dibatalkan.

Audit trail
  Setiap perubahan mencatat pelaku, nilai lama, dan nilai baru.
  Tombol "Verifikasi rantai" memeriksa apakah riwayat pernah disisipi
  atau diubah.

=====================================================================
MODUL PEMBACAAN MANDIRI
=====================================================================
Membuka bacaan
  Menu Baca Mandiri, lalu pilih liturgi. Tidak perlu akun.

Tiga mode pembacaan
  Audio  : gulir dan sorotan ayat mengikuti bacaan qori.
  Senyap : gulir otomatis dengan kecepatan yang Anda atur, hitungan
           dzikir dilakukan dengan mengetuk layar.
  Manual : tanpa gulir otomatis.

Counter dzikir
  Pada segmen berulang, lingkaran penghitung muncul di bawah layar.
  Ketuk di mana saja untuk menambah hitungan. Tombol minus dan plus
  untuk mengoreksi bila salah hitung. Saat target tercapai, aplikasi
  berpindah sendiri ke segmen berikutnya.

Profil setelan
  Seluruh preferensi tersimpan di perangkat Anda, bukan di server.
  Anda dapat membuat beberapa profil, misalnya satu untuk membaca
  sendiri di rumah dan satu lagi berukuran huruf besar untuk orang tua.
  Gunakan Ekspor untuk memindahkan profil ke perangkat lain.

  Karena profil tidak tersimpan di server, ekspor adalah satu-satunya
  cadangan Anda. Pada iPhone, pasang aplikasi ke Layar Utama agar data
  tidak dihapus otomatis setelah tujuh hari tidak dipakai.

Membaca tanpa jaringan
  Teks diunduh sekali lalu disimpan di perangkat, jadi dapat dibaca
  kembali tanpa internet. Audio tetap memerlukan jaringan.

=====================================================================
UNTUK PENGELOLA KONTEN
=====================================================================
Menyusun versi bacaan
  Administrasi > Liturgi > Versi > Segmen. Isi judul, teks Arab,
  transliterasi, terjemahan, jumlah pengulangan, dan bobot.

Bobot segmen
  Bobot menentukan porsi sebuah segmen dalam perhitungan persentase.
  Al-Fatihah diberi bobot lebih besar daripada satu kali tasbih agar
  progres terasa wajar.

Memisahkan ayat
  Pisahkan antar ayat dengan baris baru pada kolom teks Arab. Aplikasi
  memakai pemisah itu untuk menyorot ayat satu per satu.

Validasi dan penerbitan
  Versi tidak dapat diterbitkan sebelum ditandai tervalidasi disertai
  catatan pemeriksa. Setelah diterbitkan, teks dibekukan menjadi paket
  berversi dan segmennya terkunci. Untuk mengubah isi, buat versi baru
  dengan nomor semver yang lebih tinggi. Ini menjaga agar bacaan yang
  sedang berjalan pada perangkat siapa pun tidak berubah di tengah.

=====================================================================
EVENT BERJAMAAH
=====================================================================
Mendaftarkan event (terbuka untuk umum)
  Menu Event > Buat Event. Terbuka bagi siapa pun yang sudah masuk,
  tidak terbatas pada peran tertentu.

  Syaratnya: pelaksanaan paling jauh 30 hari ke depan dan paling dekat
  2 hari dari sekarang, serta nomor ponsel sudah terverifikasi pada
  Profil.

  Yang menjaga slot bukan pembatasan peran, melainkan pengaman
  penyalahgunaan: satu event aktif per pengguna, dua event per 30 hari,
  dan jeda 60 hari bagi yang dua kali tidak hadir. Tanpa itu, membuka
  pendaftaran untuk umum sama saja mengundang penguncian slot yang lalu
  ditinggalkan.

  Event terbatas berbasis undangan tidak ikut terbuka. Kewenangannya
  terpisah dan dapat diatur melalui menu Otorisasi.

  Tersedia dua slot per hari untuk setiap site: satu sesi pagi dan
  satu sesi sore.

  Bila pengelola mengizinkannya, hari ini pun dapat dipilih. Yang
  menjaga agar tidak terlalu mendadak adalah tenggang persiapan
  minimum, biasanya satu jam, sehingga peserta lain masih sempat
  bersiap. Jam yang sudah lewat tidak ditampilkan. Satu sesi hanya dapat diisi satu event. Slot dibuka
  H-30 dan ditutup H-2.

  Pemenang slot ditentukan oleh urutan penyimpanan di basis data. Slot
  yang tampak kosong di layar bisa saja sudah diambil beberapa detik
  sebelumnya, dan aplikasi akan memberi tahu bila itu terjadi.

Menunjuk wakil
  Wakil dapat memulai event bila Anda berhalangan, tetapi baru setelah
  tenggat yang dikonfigurasi terlampaui. Ini menjaga agar wakil tidak
  memulai lebih dulu saat Anda masih dalam perjalanan.

Mengubah waktu
  Hanya untuk event berstatus terjadwal dan lebih dari 24 jam sebelum
  pelaksanaan. Seluruh pengingat peserta otomatis dijadwalkan ulang.

Memimpin bacaan
  Buka layar pelaksanaan, tekan Mulai pada waktunya. Tombol ini sengaja
  harus ditekan manusia. Selama bacaan, tekan Tandai Imam setiap
  berpindah segmen. Progres Anda menjadi acuan, bukan pemaksa: tampilan
  peserta tidak dipindahkan tanpa persetujuan mereka.

Bila pelaksana tidak hadir
  Aplikasi tidak membatalkan event. Setelah tenggat terlampaui, peserta
  ditawari membaca secara mandiri. Jamaah sudah menyiapkan waktu dan
  hadir; layar kosong bukan jawaban yang pantas.

Mengikuti sebagai peserta
  Menu Event, pilih event, tekan Ikuti. Pengingat dikirim sesuai
  konfigurasi menit sebelum mulai. Saat berlangsung, tekan Masuk ke
  bacaan. Tombol Ikuti Imam memindahkan tampilan Anda ke segmen yang
  sedang dibaca imam.

Peta sebaran
  Tab Peta menampilkan kelompok peserta dalam radius sekitar 10 km.
  Koordinat presisi Anda tidak pernah dikirim ke perangkat siapa pun,
  dan kelompok yang berisi kurang dari tiga orang tidak menampilkan
  nama kota.

=====================================================================
WAKAF
=====================================================================
Untuk wakif
  Menu Wakaf. Pilih nominal, setujui akad, lalu ikuti instruksi
  pembayaran. Berwakaf sepenuhnya sukarela dan tidak pernah menjadi
  syarat memakai fitur apa pun.

  Dana Anda masuk langsung ke rekening atau QRIS nazhir terdaftar,
  bukan ke rekening aplikasi. Karena itu status berubah menjadi
  terkonfirmasi setelah nazhir atau petugas keuangan mencocokkan
  penerimaannya, bukan otomatis setelah Anda membayar.

  Setelah dikonfirmasi Anda menerima tanda terima bertanda tangan
  digital yang dapat diperiksa siapa pun melalui tautannya, tanpa perlu
  login. Bila isi tanda terima pernah diubah, pemeriksaan akan
  menyatakannya tidak sah.

Untuk pengelola
  Nazhir       : daftarkan nazhir beserta nomor STBPN, QRIS, dan
                 rekening. Verifikasi dilakukan manual dengan
                 mencocokkan nomor STBPN ke pangkalan data Badan Wakaf
                 Indonesia. Tidak ada pemeriksaan otomatis.
  Alokasi      : persentase wajib berjumlah tepat 100 dan minimal dua
                 pihak. Layar menampilkan contoh pembagian Rp 100.000
                 lengkap dengan sisa pembulatannya.
  Donasi Masuk : konfirmasi penerimaan disertai rujukan bukti. Rujukan
                 wajib diisi agar setiap konfirmasi dapat ditelusuri.
  Penyaluran   : catat penyaluran, lalu unggah buktinya. Penyaluran
                 baru masuk ledger setelah buktinya ada, dan buktinya
                 langsung tampil di halaman transparansi publik.
  Ledger       : double-entry dan tidak dapat diubah. Koreksi dilakukan
                 melalui jurnal balik yang merujuk baris aslinya.

Membaca laporan saldo
  Saldo di sana bukan uang yang dipegang aplikasi. Aplikasi tidak
  memegang dana sama sekali. Yang ditampilkan adalah selisih antara
  dana tercatat teralokasi dan dana yang sudah dibuktikan tersalur
  untuk setiap nazhir.

=====================================================================
PERKAKAS PRODUKSI KONTEN
=====================================================================
Ketiga menu berikut ada untuk mengerjakan tiga hal yang selama ini
menghambat rilis: naskah yang sudah disahkan, rekaman qori, dan
kepastian API nazhir.

Impor naskah liturgi
  Administrasi > Liturgi > Versi > Segmen > Impor. Menerima JSON dan
  CSV, sehingga naskah dari penasihat syariah dapat dimasukkan sekali
  jalan tanpa diketik ulang.

  Pada kolom teks Arab, pisahkan antar ayat dengan \n. Aplikasi memakai
  pemisah itu untuk menyorot ayat satu per satu; tanpa itu seluruh
  surah diperlakukan sebagai satu unit.

  Impor tidak menggantikan validasi. Versi tetap berstatus draft dan
  belum tervalidasi setelah impor.

Qori dan lisensi
  Setiap qori wajib memiliki catatan dasar lisensi sebelum audionya
  dapat didaftarkan. Isikan nomor kontrak, cakupan hak, dan masa
  berlakunya. Ini bukan formalitas: rekaman qori dilindungi hak cipta
  dan hak pelaku pertunjukan, dan untuk dzikir tahlil standar NU
  rekaman siap pakai tidak tersedia sehingga harus direkam sendiri.

Audio dan Peta Waktu
  Menampilkan berapa banyak segmen yang sudah siap dan berapa yang
  belum, dihitung dari data. Mode Audio pada pembaca baru berfungsi
  penuh setelah seluruh segmen memiliki audio beserta peta waktunya.

Studio Peta Waktu
  Putar audio, lalu tekan Ketuk atau Enter pada setiap batas ayat atau
  pengulangan. Satu ketukan mengakhiri unit berjalan sekaligus memulai
  berikutnya. Kecepatan dengar dapat diperlambat untuk batas yang
  rapat; ini hanya alat bantu penandai, bukan setelan jamaah.

  Setiap unit dapat didengarkan ulang, digeser 0,1 detik, atau diulang
  dari titik tertentu. Studio memeriksa sendiri adanya tumpang tindih,
  nomor bolong, unit terlalu pendek, dan ekor yang belum tertandai.
  Ctrl+S menyimpan; hasilnya juga dapat diunduh sebagai JSON.

Uji API Nazhir
  Memeriksa apakah endpoint nazhir benar-benar mengembalikan status
  pembayaran, nominal, dan rujukan. Yang diperiksa bukan sekadar
  endpoint hidup, melainkan kelengkapan kontraknya. Selama salah satu
  medan tidak ada, rekonsiliasi otomatis tidak boleh dinyalakan dan
  konfirmasi wakaf tetap manual.

=====================================================================
KEAMANAN AKUN
=====================================================================
Verifikasi dua langkah
  Menu Profil > Verifikasi dua langkah. Pindai kode QR dengan Google
  Authenticator, Authy, atau sejenisnya, lalu masukkan kode enam angka.

  Simpan kode cadangan yang ditampilkan. Kode itu hanya muncul satu
  kali dan masing-masing hanya dapat dipakai sekali, untuk berjaga bila
  perangkat Anda hilang.

  Superadmin dan Admin Site wajib mengaktifkannya dan tidak dapat
  menonaktifkannya, karena akun itulah yang dapat membekukan transaksi
  dan mengosongkan tabel.

Verifikasi nomor ponsel
  Menu Profil. Kode enam angka dikirim melalui surel dan message centre
  selama kanal WhatsApp belum diaktifkan. Nomor wajib terverifikasi
  sebelum Anda dapat mendaftarkan event.

Data pribadi Anda
  Unduh data saya  : menghasilkan satu berkas JSON berisi seluruh data
                     Anda. Koordinat presisi sengaja tidak diikutkan.
  Hapus akun       : identitas, profil, koordinat, keikutsertaan event,
                     dan pesan dihapus. Catatan wakaf tetap ada tetapi
                     diputus dari identitas Anda, karena ledger keuangan
                     wajib tetap utuh dan dapat diaudit.

=====================================================================
TANDAI IMAM DAN SAMAKAN
=====================================================================
Dua tombol pada layar pelaksanaan yang sering ditanyakan.

  Tandai Imam   Hanya tampil bagi pelaksana. Menandai bagian yang
                sedang ia bacakan, sehingga jamaah tahu di mana
                bacaan berada. Tanda ini acuan, bukan pemaksa.

  Samakan       Tampil bagi peserta, dan HANYA ketika posisi bacaannya
                berbeda dari imam. Labelnya menyebut selisihnya,
                misalnya "Imam di depan 4 bagian". Menekannya
                memindahkan bacaan peserta ke bagian imam.

Bacaan peserta tidak pernah dipindahkan sendiri oleh aplikasi. Orang
membaca dengan tempo berbeda, dan memaksa layar melompat di tengah
ayat justru memutus bacaannya. Karena itu penyelarasan selalu
menunggu peserta menekannya sendiri.

  Akhiri        Menghentikan bacaan berjamaah untuk seluruh peserta.
                Progres mereka tetap tersimpan.

=====================================================================
MENGARAHKAN KARTU WAKAF PADA DASBOR
=====================================================================
Sistem > Konfigurasi, kelompok wakaf, kunci
Wakaf_Mashlahat_melalui_Uang.

Kosong berarti kartu menuju halaman wakaf bawaan aplikasi. Diisi
alamat lengkap berawalan https berarti kartu langsung menuju platform
nazhir, dibuka pada tab baru dan diberi tanda panah keluar.

Berguna bagi site yang menghimpun wakaf langsung melalui platform
nazhir, sehingga tidak perlu melewati halaman perantara yang isinya
hanya mengulang keterangan yang sama.

=====================================================================
MENGARAHKAN HALAMAN TRANSPARANSI
=====================================================================
Sistem > Konfigurasi, kelompok wakaf, kunci link_transparansi.

Kosong berarti memakai halaman transparansi bawaan aplikasi. Diisi
alamat lengkap berawalan https berarti seluruh tautan Transparansi
Wakaf mengarah ke sana, dibuka pada tab baru.

Berguna bila laporan penyaluran yang sesungguhnya berada pada platform
nazhir. Menyalinnya ke aplikasi ini akan membuat angkanya tertinggal
dari sumbernya tanpa ada yang menyadari, dan transparansi yang datanya
basi lebih buruk daripada tidak ada.

Halaman bawaan tetap dapat dibuka langsung melalui /transparansi,
sehingga catatan yang sudah tercatat di aplikasi tidak hilang.

=====================================================================
EVENT TERBATAS
=====================================================================
Menu Event Terbatas. Dapat dibuat kapan saja tanpa menunggu slot, tidak
tampil pada daftar maupun peta publik, dan hanya dapat diikuti melalui
tautan undangan.

Setiap event dapat menerbitkan beberapa tautan undangan, masing-masing
dengan label dan batas pemakaian sendiri, sehingga undangan untuk
keluarga dan untuk tetangga dapat dibedakan dan dicabut terpisah.
Tautan dapat dibagikan langsung ke WhatsApp.

Undangan kedaluwarsa beberapa jam setelah event berakhir.

=====================================================================
MODERASI KONTEN
=====================================================================
Menu Moderasi Konten. Foto profil baru tidak pernah tampil kepada
pengguna lain sebelum ditinjau. Foto yang ditolak dihapus dari
penyimpanan, bukan sekadar ditandai.

Nama penerima doa dimoderasi setelah tayang, karena menahannya lebih
dulu akan mengosongkan daftar doa tepat ketika ia paling dibutuhkan.

=====================================================================
TANDAI IMAM DAN SAMAKAN
=====================================================================
Dua tombol pada layar pelaksanaan yang sering ditanyakan.

  Tandai Imam   Hanya tampil bagi pelaksana. Menandai bagian yang
                sedang ia bacakan, sehingga jamaah tahu di mana
                bacaan berada. Tanda ini acuan, bukan pemaksa.

  Samakan       Tampil bagi peserta, dan HANYA ketika posisi bacaannya
                berbeda dari imam. Labelnya menyebut selisihnya,
                misalnya "Imam di depan 4 bagian". Menekannya
                memindahkan bacaan peserta ke bagian imam.

Bacaan peserta tidak pernah dipindahkan sendiri oleh aplikasi. Orang
membaca dengan tempo berbeda, dan memaksa layar melompat di tengah
ayat justru memutus bacaannya. Karena itu penyelarasan selalu
menunggu peserta menekannya sendiri.

  Akhiri        Menghentikan bacaan berjamaah untuk seluruh peserta.
                Progres mereka tetap tersimpan.

=====================================================================
MENGARAHKAN KARTU WAKAF PADA DASBOR
=====================================================================
Sistem > Konfigurasi, kelompok wakaf, kunci
Wakaf_Mashlahat_melalui_Uang.

Kosong berarti kartu menuju halaman wakaf bawaan aplikasi. Diisi
alamat lengkap berawalan https berarti kartu langsung menuju platform
nazhir, dibuka pada tab baru dan diberi tanda panah keluar.

Berguna bagi site yang menghimpun wakaf langsung melalui platform
nazhir, sehingga tidak perlu melewati halaman perantara yang isinya
hanya mengulang keterangan yang sama.

=====================================================================
MENGARAHKAN HALAMAN TRANSPARANSI
=====================================================================
Sistem > Konfigurasi, kelompok wakaf, kunci link_transparansi.

Kosong berarti memakai halaman transparansi bawaan aplikasi. Diisi
alamat lengkap berawalan https berarti seluruh tautan Transparansi
Wakaf mengarah ke sana, dibuka pada tab baru.

Berguna bila laporan penyaluran yang sesungguhnya berada pada platform
nazhir. Menyalinnya ke aplikasi ini akan membuat angkanya tertinggal
dari sumbernya tanpa ada yang menyadari, dan transparansi yang datanya
basi lebih buruk daripada tidak ada.

Halaman bawaan tetap dapat dibuka langsung melalui /transparansi,
sehingga catatan yang sudah tercatat di aplikasi tidak hilang.

=====================================================================
EVENT TERBATAS
=====================================================================
Selain event umum yang memakai dua slot harian milik site, setiap
peserta dapat membuat event terbatas berbasis undangan melalui menu
Event > Event Terbatas.

Bedanya:
  Event umum      Memakai satu dari dua slot harian. Terlihat semua
                  orang pada daftar event dan peta sebaran.
  Event terbatas  Tidak memakai slot harian sama sekali, sehingga
                  tidak mengurangi kesempatan jamaah lain. Hanya
                  pemegang tautan undangan yang dapat masuk, dan tidak
                  pernah tampil pada daftar maupun peta publik.

Batasnya diatur melalui event.max_active_limited_events, bawaan 3
event aktif bersamaan per pengguna. Isi 0 untuk tanpa batas.

Undangan utama dibuat otomatis bersama eventnya. Pelaksana dapat
menerbitkan undangan tambahan dengan batas pemakaian sendiri, dan
mencabutnya kapan saja. Hanya pelaksana event itu yang dapat
melakukannya.

=====================================================================
LITURGI DAN VERSI, APA BEDANYA
=====================================================================
Liturgi adalah jenis bacaannya: Tahlil Standar NU, Ratib Al-Haddad,
dan seterusnya. Ia hanya wadah berisi nama, jenis, dan keterangan.
Liturgi tidak memuat teks apa pun.

Versi adalah naskahnya yang sesungguhnya: susunan segmen, teks Arab,
transliterasi, terjemahan, jumlah pengulangan, dan bobot. Satu liturgi
dapat memiliki banyak versi, misalnya v1.0.0 dan v1.1.0 hasil
perbaikan.

Yang dibaca jamaah selalu sebuah versi, bukan liturgi. Event pun
menyimpan nomor versi, bukan nama liturgi, sehingga bacaan yang sudah
berlangsung tidak berubah ketika naskahnya diperbaiki kemudian. Itulah
sebabnya keduanya dipisah.

Menyunting:
  Liturgi        Tombol Ubah pada daftar. Nama, jenis, keterangan, dan
                 status aktif dapat diubah kapan saja.
  Versi draft    Seluruh kolom dapat diubah, termasuk semver dan kode.
  Versi terbit   Nama tampilan, tradisi, dan sumber rujukan tetap
                 dapat diperbaiki. Liturgi induk, kode versi, dan
                 semver terkunci, karena ketiganya menyusun nama
                 berkas paket yang sudah tersimpan di perangkat
                 pembaca.
  Isi naskah     Melalui halaman Segmen, hanya untuk versi draft.

=====================================================================
MENGHAPUS LITURGI DAN VERSI
=====================================================================
Menghapus berbeda dari mengarsipkan. Arsip menyimpan riwayat, hapus
membuangnya untuk selamanya.

Yang tidak dapat dihapus:
  - Versi yang sedang diterbitkan. Tarik ke draft atau arsipkan dulu.
  - Versi yang pernah dipakai event, berapa pun umurnya. Event
    menyimpan nomor versi sebagai bagian riwayatnya, sehingga
    menghapus versinya akan membuat catatan ibadah masa lalu menunjuk
    ke sesuatu yang tidak ada. Untuk keadaan ini gunakan Arsipkan.
  - Liturgi yang salah satu versinya memenuhi dua keadaan di atas.

Konfirmasi diminta dengan mengetik: HAPUS untuk versi, dan kode
liturgi untuk liturgi. Kode dipilih supaya orang membaca baris mana
yang sedang dihapus.

Daftar liturgi menandai sendiri mana yang aman dihapus, lengkap dengan
jumlah versi terbit dan jumlah event yang memakainya.

Setiap penghapusan tercatat pada Audit Trail beserta isi ringkas apa
yang dihapus: nama, semver, status, dan jumlah segmen.

=====================================================================
MENYALIN VERSI
=====================================================================
Pada halaman segmen atau daftar versi, tekan Salin. Ada dua tujuan.

  Ke versi baru        Membuat versi baru berisi segmen yang sama.
                       Liturgi tujuan boleh berbeda, sehingga susunan
                       yang sudah ada dapat dipakai sebagai titik awal
                       ratib atau tradisi lain. Semver wajib unik pada
                       liturgi tujuan.

  Ke versi draft ada   Menambahkan di belakang segmen yang sudah ada,
                       atau mengganti seluruhnya bila dicentang. Hanya
                       versi draft yang dapat menjadi tujuan; versi
                       terbit terkunci.

Yang TIDAK ikut disalin adalah penandaan validasi. Salinan selalu
lahir sebagai draft yang belum tervalidasi, dan catatan validasinya
menyebut dari versi mana ia disalin.

Alasannya: yang disahkan penasihat syariah adalah naskah pada versi
tertentu, bukan susunannya secara umum. Menurunkan tanda validasi ke
salinan akan membuat gerbang itu kehilangan artinya, terutama karena
salinan justru dibuat untuk diubah.

=====================================================================
MENGUBAH VERSI YANG SUDAH TERBIT
=====================================================================
Versi yang sudah diterbitkan segmennya dikunci, agar bacaan yang
sedang berjalan pada perangkat siapa pun tidak berubah di tengah
jalan. Ada tiga tindakan pada halaman segmen.

  Terbitkan ulang  Menulis ulang berkas paket dari isi basis data.
                   Isi teks tidak berubah. Dipakai bila berkas
                   paketnya hilang dari server.

  Tarik ke draft   Membuka kembali segmennya agar dapat disunting.
                   Penandaan validasi ikut dicabut, sehingga naskah
                   wajib diperiksa penasihat syariah lagi sebelum
                   diterbitkan.

  Arsipkan         Memensiunkan versi untuk selamanya, dipakai bila
                   sudah ada versi pengganti.

Menarik dan mengarsipkan ditolak bila versinya masih dipakai event
yang belum selesai. Batalkan atau selesaikan event itu lebih dulu.
Hanya Superadmin yang dapat memaksanya, dan pilihan itu sengaja
disembunyikan dari peran lain.

Untuk perubahan naskah pada versi yang sudah dipakai jamaah, cara
yang dianjurkan tetap membuat versi baru dengan nomor semver lebih
tinggi, bukan menarik yang lama.

=====================================================================
RESET SISTEM
=====================================================================
Sistem > Reset Sistem, hanya untuk Superadmin, dan hanya berjalan bila
kunci keamanan.enable_system_reset disetel menjadi 1 pada Konfigurasi.
Matikan kembali setelah selesai.

Tiga tingkat, dari yang paling ringan:

  1. Hapus Transaksi
     Membuang event, keikutsertaan, wakaf, ledger, penyaluran, pesan,
     dan feedback. Pengguna, naskah liturgi, dan konfigurasi tetap
     utuh. Inilah yang biasanya dibutuhkan setelah masa uji coba.

  2. Kembalikan Liturgi ke Bawaan
     Membuang seluruh liturgi, versi, segmen, dan berkas paketnya,
     lalu memasang ulang contoh bawaan beserta kerangka ratib.
     Ditolak selagi masih ada event, karena event menyimpan nomor
     versi sebagai bagian riwayatnya. Jalankan tingkat 1 lebih dulu.

  3. Reset Penuh
     Mengosongkan hampir seluruh tabel termasuk pengguna lain dan
     audit trail. Hampir selalu ada pilihan yang lebih tepat di atas.

Reset tidak pernah menghapus tabel, hanya isinya. Halaman ini
menampilkan jumlah baris tiap tabel sebelum Anda menekan apa pun, dan
setiap tindakan tercatat pada Audit Trail.

=====================================================================
MIGRASI BASIS DATA
=====================================================================
Sistem > Migrasi Basis Data, hanya untuk Superadmin.

Setiap kali memperbarui berkas aplikasi, buka halaman ini. Bila ada
migrasi yang belum diterapkan, jalankan. Berkas baru saja tidak cukup:
sebagian perubahan menyentuh isi basis data, dan tanpa dijalankan,
fiturnya akan tampak tidak berfungsi.

Seluruh berkas migrasi aman dijalankan berulang dan setiap
penerapannya tercatat pada Audit Trail.

=====================================================================
AUDIT KELENGKAPAN
=====================================================================
  php cli/audit.php

Memeriksa hal-hal yang mudah lolos dari pembacaan kode: tautan ke rute
yang tidak terdaftar, tabel yang dibuat tetapi tidak pernah dipakai,
kolom yang tidak pernah diisi, objek otorisasi yang tidak pernah
diperiksa, dan kebutuhan wajib yang belum tergarap.

Jalankan setiap kali menambah modul. Keluar dengan kode 1 bila ada
temuan kritis, sehingga dapat dipasang pada pipeline rilis.