Patch Upgrade v4
Instruksi Umum Upgrade Patch
Section titled “Instruksi Umum Upgrade Patch”-
Backup
Terminal window mysqldump -u root -p nama_database > backup_$(date +%Y%m%d).sql -
Pull kode terbaru
Terminal window git fetch origingit checkout tags/v4.x.xAtau jika menggunakan branch:
Terminal window git pull origin main -
Update dependensi
Terminal window composer install --no-dev -
Jalankan migrasi (jika ada)
Terminal window php yii migrate/up --interactive=0 -
Clear cache
Terminal window php yii cache/flush-all -
Verifikasi
- Buka frontend dan backend
- Pastikan fitur utama berjalan normal
Riwayat Rilis v4
Section titled “Riwayat Rilis v4”Tabel berikut menyediakan daftar rilis patch ILDIS v4 beserta catatan penting.
| Versi | Tanggal Rilis | Changelog | Catatan |
|---|---|---|---|
| v4.6.0 | 28 Mei 2026 | Lihat Release | Footer CMS dinamis, redesign visitor counter, font Inter |
| v4.5.0 | 28 Mei 2026 | Lihat Release | Dropdown tahun pada form dokumen, fix double menu dan password reset |
| v4.4.1 | 28 Mei 2026 | Lihat Release | Perbaikan minor |
| v4.4.0 | 28 Mei 2026 | Lihat Release | Dokumen Pembentukan PUU, user/create non-interaktif, Traefik/SSL di install.sh, nginx logging |
| v4.3.4 | 26 Mei 2026 | Lihat Release | Logging login failure, docs: Traefik/SSL/superadmin spec |
| v4.3.3 | 26 Mei 2026 | Lihat Release | Fix CSP pada halaman login |
| v4.3.2 | 26 Mei 2026 | Lihat Release | Fix deteksi /opt writable pada install.sh |
| v4.3.1 | 26 Mei 2026 | Lihat Release | Fallback direktori jika /opt/ildis tidak writable |
| v4.3.0 | 26 Mei 2026 | Lihat Release | reCAPTCHA opsional di backend, fix Docker+migrasi |
| v4.2.1 | 26 Mei 2026 | Lihat Release | Perbaikan minor |
| v4.2.0 | 25 Mei 2026 | Lihat Release | ⚠ Breaking: PHP ≥8.3, install.sh, visitor counter, Symfony Mailer |
| v4.1.4 | 13 Mei 2026 | Lihat Release | Perbaikan minor |
| v4.1.3 | 13 Mei 2026 | Lihat Release | Fix filter berita yang dipublikasikan |
| v4.1.2 | 12 Mei 2026 | Lihat Release | Perbaikan minor |
| v4.1.0 | — | — | Penambahan dukungan Docker |
ℹ️ Versi yang tidak memiliki link berarti rilis tersebut tidak dipublikasikan dengan GitHub Release page, atau catatan rilis tersebar dalam repository utama.
Catatan Breaking Change
Section titled “Catatan Breaking Change”v4.2.0
Section titled “v4.2.0”- PHP Requirement: Minimum PHP 8.3. Jika server Anda masih menggunakan PHP 7.4, upgrade PHP terlebih dahulu sebelum update ILDIS ke v4.2.0.
- Mailer: SwiftMailer digantikan dengan
yii2-symfonymailer. Pastikan variabelMAILER_DSNtelah dikonfigurasi di file.env.
Panduan Upgrade v4.1 ke v4.2
Section titled “Panduan Upgrade v4.1 ke v4.2”Upgrade ke v4.2.0 memperkenalkan fitur Visitor Counter yang membutuhkan tabel baru di database dan perubahan requirement PHP.
Apa yang Baru — Visitor Counter
Section titled “Apa yang Baru — Visitor Counter”Fitur ini menyediakan:
visitor_log— menyimpan data kunjungan per uservisitor_stats— menyimpan agregasi harian/mingguan/bulanan- Menu “Statistik Pengunjung” di backend admin panel
Apa yang Baru — install.sh (One-Click Install)
Section titled “Apa yang Baru — install.sh (One-Click Install)”v4.2.0 memperkenalkan install.sh yang mendukung:
- Instalasi Docker/Podman otomatis
- Generasi
.envdandocker-compose.yml - Skrip
update.shuntuk update non-teknis
Pilihan Upgrade
Section titled “Pilihan Upgrade”Untuk instalasi baru atau yang sudah pakai migrasi.
php yii migrate/up --interactive=0Atau spesifik ke path migrasi:
php yii migrate/up --interactive=0 --migrationPath=@console/migrationsUntuk database lama dari ildis_v4.sql.
1. Tabel visitor_log:
CREATE TABLE IF NOT EXISTS `visitor_log` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `visitor_fingerprint` VARCHAR(64) NOT NULL, `visitor_cookie_id` VARCHAR(64) NOT NULL, `document_id` VARCHAR(100) DEFAULT NULL, `page_url` VARCHAR(500) NOT NULL, `visit_date` DATE NOT NULL, `visit_time` DATETIME NOT NULL, `is_unique` TINYINT(1) NOT NULL DEFAULT 0, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_visitor_log_fingerprint_date` (`visitor_fingerprint`, `visit_date`), KEY `idx_visitor_log_document_date` (`document_id`, `visit_date`), KEY `idx_visitor_log_visit_time` (`visit_time`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;2. Tabel visitor_stats:
CREATE TABLE IF NOT EXISTS `visitor_stats` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `stat_type` ENUM('daily','weekly','monthly','yearly','all_time') NOT NULL, `stat_date` DATE NOT NULL, `document_id` VARCHAR(100) DEFAULT NULL, `total_visits` INT(10) UNSIGNED NOT NULL DEFAULT 0, `unique_visits` INT(10) UNSIGNED NOT NULL DEFAULT 0, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `idx_visitor_stats_type_date_doc` (`stat_type`, `stat_date`, `document_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;3. Menu backend:
INSERT INTO `menu` (`name`, `route`, `data`, `order`)VALUES ('Statistik Pengunjung', '/visitor-report/index', '{"icon": "chart-bar"}', 999);Verifikasi
Section titled “Verifikasi”Setelah migrasi berhasil:
-
Cek tabel sudah ada:
Terminal window mysql -u root -p -e "SHOW TABLES LIKE 'visitor%';" nama_database -
Cek menu backend — login ke admin panel, seharusnya ada menu “Statistik Pengunjung” di sidebar.
-
Cek visitor tracking aktif — akses frontend, lalu cek browser cookie
__visitor_id. Cookie ini di-set otomatis oleh componentVisitorCounter. -
Opsional: jalankan agregasi manual (untuk mengisi statistik awal):
Terminal window php yii visitor/aggregate --days=1
Setup Cron (Production)
Section titled “Setup Cron (Production)”Untuk agregasi harian otomatis, tambahkan ke crontab:
# Agregasi statistik pengunjung setiap jam 3 pagi0 3 * * * cd /path/to/project && php yii visitor/aggregate >> /var/log/visitor_aggregate.log 2>&1Panduan Upgrade v4.3 ke v4.4
Section titled “Panduan Upgrade v4.3 ke v4.4”v4.4.0 memperkenalkan fitur Dokumen Pembentukan PUU dan peningkatan signifikan pada install.sh.
Apa yang Baru — Dokumen Pembentukan PUU
Section titled “Apa yang Baru — Dokumen Pembentukan PUU”Fitur ini menyediakan:
- Manajemen Dokumen Pembentukan PUU di backend dengan CRUD ter-scoped
- URL berbasis slug untuk halaman publik Dokumen Pembentukan PUU
- Menu sidebar “Dokumen Pembentukan PUU” di bawah “Dokumen Hukum”
- RBAC migration untuk akses controller dan menu entry
Apa yang Baru — install.sh
Section titled “Apa yang Baru — install.sh”Peningkatan signifikan pada skrip instalasi:
- Integrasi Traefik reverse proxy dan SSL otomatis
- Pembuatan superadmin saat instalasi
- Konfigurasi nginx dengan access log dan error log
user/createCLI non-interaktif (mendukung flag--interactive=0)
Pilihan Upgrade
Section titled “Pilihan Upgrade”php yii migrate/up --interactive=0Migrasi ini akan menambahkan:
- Tabel dan RBAC untuk Dokumen Pembentukan PUU
- Menu sidebar untuk Dokumen Pembentukan PUU
Jika menggunakan instalasi Docker/Podman:
./install.sh --updateSkrip akan otomatis menjalankan migrasi setelah pull image baru.
Verifikasi
Section titled “Verifikasi”Setelah upgrade:
-
Cek menu Dokumen Pembentukan PUU — login ke backend, buka sidebar, seharusnya ada menu “Dokumen Pembentukan PUU” di bawah “Dokumen Hukum”.
-
Cek CRUD — buat, baca, update, hapus entri Dokumen Pembentukan PUU untuk memastikan RBAC berjalan.
-
Cek frontend — akses halaman publik Dokumen Pembentukan PUU via URL berbasis slug.
Panduan Upgrade v4.5 ke v4.6
Section titled “Panduan Upgrade v4.5 ke v4.6”v4.6.0 memperkenalkan Footer CMS dan redesign Visitor Counter.
Apa yang Baru — Footer CMS
Section titled “Apa yang Baru — Footer CMS”Fitur ini menyediakan:
footer_sectiondanfooter_link— tabel untuk mengelola section dan link footer secara dinamis dari backend- Menu “Footer Section” dan “Footer Link” di sidebar admin
- Query caching dengan invalidation untuk footer sections
- Seed data bawaan untuk footer section dan footer link
Apa yang Baru — Visitor Counter Redesign
Section titled “Apa yang Baru — Visitor Counter Redesign”- Tampilan visitor counter di frontend di-redesign
- Font diubah ke Inter (menggantikan font sebelumnya)
Pilihan Upgrade
Section titled “Pilihan Upgrade”php yii migrate/up --interactive=0Migrasi ini akan menambahkan:
- Tabel
footer_sectiondanfooter_linkdengan seed data - Menu backend untuk manajemen footer
./install.sh --updateVerifikasi
Section titled “Verifikasi”Setelah upgrade:
-
Cek menu Footer — login ke backend, seharusnya ada menu “Footer Section” dan “Footer Link” di sidebar.
-
Cek frontend footer — buka frontend, seharusnya footer menampilkan section dan link dinamis (bukan hard-coded).
-
Cek visitor counter — buka frontend, seharusnya visitor counter tampil dengan desain baru dan font Inter.
Ringkasan
Section titled “Ringkasan”- Docker/Podman →
./install.sh --updateakan otomatis backup database, pull image baru, dan jalankan migrasi. - Manual → jalankan
php yii migrate/up --interactive=0, atau gunakan SQL manual jika migrasi baseline bermasalah. - Selalu cek tabel riwayat rilis di atas untuk mengetahui apakah versi tertentu membutuhkan migrasi database atau langkah tambahan.