Rilis 2026.09.2.1
Catatan rilis dan panduan pembaruan versi 2026.09.2.1 untuk deployment on-premise AlurKerja. Memuat 6 berkas migrasi database (5 tabel baru, CHECK normalisasi drive), layanan opsional microsite, dan prosedur upgrade.
Ringkasan
Rilis 2026.09.2.1 menghadirkan pembaruan komponen inti AlurKerja serta penambahan skema database untuk mendukung manajemen versi form BPMN dinamis, pelacakan migrasi rilis, insight hasil simulasi berbasis AI, dan fitur favorit tenant.
Poin-poin utama pada rilis ini:
- 6 Berkas Migrasi Database (5 Tabel Baru & 1 CHECK Constraint): Menambahkan tabel
bpm_bpmn_forms,bpm_deployed_bpmn_forms,migrations,simulation_result_insight, dantenant_favorites. - Potensi Bloker Data Lama pada Tabel
drive: Terdapat penambahan constraintdrive_file_type_normalized_chkyang memvalidasi format kolomfile_type. Baris data lama yang berisi huruf kapital, spasi tepi, atau string kosong harus dinormalisasi sebelum migrasi dijalankan agar tidak membatalkan transaksi. - Tanpa Environment Variable Baru Wajib: Rilis ini tidak menambahkan environment variable baru yang bersifat wajib pada core backend service.
- Service Baru Opsional:
onprem-microsite: Arsitektur barualurkerja-microsite-v2(berbasis SPA React/Vite menggantikan Next.js) mulai tersedia bagi deployment on-premise yang mengaktifkan fitur microsite.
Seluruh perubahan skema pada rilis ini bersifat aditif (tidak ada tabel atau kolom yang dihapus). Image versi sebelumnya tetap kompatibel berjalan di atas skema database 2026.09.2.1.
Detail yang berubah
1. Perubahan Skema Database
Rilis 2026.09.2.1 menyertakan 6 berkas migrasi (5 berkas DDL aktif dan 1 berkas review_manual):
| Berkas Migrasi | Objek yang Dibuat / Diubah | Keterangan |
|---|---|---|
20260910090000_create_bpm_tables | bpm_bpmn_forms, bpm_deployed_bpmn_forms | Manajemen versi form BPMN dinamis per tenant/proses, checksum form, dan pemetaan deployment. Termasuk 2 sequence dan 5 indeks (3 unique). |
20260910090100_create_migrations | migrations | Tabel pelacak migrasi bawaan framework (id, migration, batch). |
20260910090200_create_simulation_result_insight | simulation_result_insight | Penyimpanan insight AI untuk hasil simulasi proses (PK gabungan result_id dan lang). |
20260910090300_create_tenant_favorites | tenant_favorites | Daftar tenant yang ditandai favorit oleh user. |
20260910090400_add_constraints_and_indexes_to_existing_tables | Constraint drive_file_type_normalized_chk pada tabel drive | Menyentuh data lama. Memvalidasi agar nilai file_type hanya berupa lowercase bersih atau NULL. |
20260910090500_review_manual | Catatan selisih skema & satu DDL no-op | Berisi catatan review manual serta satu perintah ALTER TABLE bpm_bpmn_forms ALTER COLUMN form_content TYPE text yang bersifat no-op (kolom sudah bertipe text). |
2. Bloker Data Lama: CHECK drive_file_type_normalized_chk
Pada migrasi bagian 5/6, ditambahkan constraint berikut ke tabel public.drive:
ALTER TABLE public.drive ADD CONSTRAINT drive_file_type_normalized_chk
CHECK (file_type IS NULL
OR (file_type <> '' AND file_type = btrim(lower(file_type))));PostgreSQL akan memvalidasi seluruh baris data yang sudah ada di tabel drive. Jika ditemukan baris dengan:
- Huruf kapital (misalnya
'PDF','PNG') - Spasi di awal atau akhir (misalnya
'pdf ') - String kosong (
'')
Maka eksekusi migrasi akan gagal dengan error:
ERROR: check constraint "drive_file_type_normalized_chk" of relation "drive" is violated by some rowSeluruh transaksi migrasi akan di-rollback. Oleh karena itu, langkah normalisasi data wajib dijalankan sebelum menerapkan DDL rilis ini.
3. Service Baru Opsional: onprem-microsite
Bagi instalasi on-premise yang menyediakan fitur portal publik atau microsite bagi tenant, rilis ini memperkenalkan service onprem-microsite berbasis image alurkerja-microsite-v2.
Service ini membaca dua environment variable opsional untuk verifikasi lisensi:
MICROSITE_LICENSE_CHECK_ENABLED: Mengaktifkan validasi lisensi microsite.MICROSITE_LICENSE_SUPPORT_EMAIL: Email kontak dukungan jika lisensi memerlukan pembaruan.
Layanan ini opsional. Jika deployment Anda tidak menggunakan modul microsite, service ini tidak perlu didaftarkan ke docker-compose.yml atau manifest Kubernetes. Rincian integrasi mendalam dan panduan deployment microsite mandiri akan diterbitkan menyusul oleh tim platform AlurKerja.
Langkah yang harus dilakukan
Tahap 1 — Normalisasi Data drive.file_type (Pra-Migrasi)
Periksa apakah ada data pada tabel public.drive yang melanggar aturan constraint baru.
1. Pengecekan data:
SELECT id, tenant_id, name, file_type, NULLIF(btrim(lower(file_type)), '') AS menjadi
FROM public.drive
WHERE file_type IS NOT NULL
AND (file_type = '' OR file_type <> btrim(lower(file_type)))
ORDER BY id;- Jika kueri menghasilkan 0 baris: tabel
drivesudah bersih, lanjutkan ke Tahap 2. - Jika kueri menghasilkan baris: jalankan update normalisasi di bawah ini.
2. Jalankan normalisasi (di dalam transaksi):
BEGIN;
UPDATE public.drive
SET file_type = NULLIF(btrim(lower(file_type)), '')
WHERE file_type IS NOT NULL
AND (file_type = '' OR file_type <> btrim(lower(file_type)));
COMMIT;Tindakan ini hanya menyeragamkan string ekstensi berkas menjadi huruf kecil dan mengubah string kosong menjadi NULL, tanpa menghapus atau mengubah isi file.
Tahap 2 — Terapkan Migrasi Skema Database
Pilih metode penerapan migrasi sesuai dengan kondisi database Anda saat ini:
Jika database Anda sudah menerapkan rilis 2026.09.1.1, jalankan 6 file rilis 2026.09.2.1 dalam satu transaksi:
psql -v ON_ERROR_STOP=1 --single-transaction \
-h <DB_HOST> -p <DB_PORT> -U <DB_USER> -d <DB_NAME> \
-f sql/upgrade_2026.09.1.1_to_2026.09.2.1.sqlJika database Anda melompati rilis dari 2026.08.4.1 langsung ke 2026.09.2.1, gunakan berkas kumulatif yang mencakup rilis 2026.08.4.2, 2026.08.5.5, 2026.09.1.1, dan 2026.09.2.1 (14 berkas termuat):
psql -v ON_ERROR_STOP=1 --single-transaction \
-h <DB_HOST> -p <DB_PORT> -U <DB_USER> -d <DB_NAME> \
-f sql/upgrade_2026.08.4.1_to_2026.09.2.1.sqlEksekusi berkas migrasi satu per satu secara berurutan:
MIG_DIR="sql/migrations/2026.09.2.1"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090000_create_bpm_tables.up.sql"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090100_create_migrations.up.sql"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090200_create_simulation_result_insight.up.sql"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090300_create_tenant_favorites.up.sql"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090400_add_constraints_and_indexes_to_existing_tables.up.sql"
psql -v ON_ERROR_STOP=1 -h <DB_HOST> -U <DB_USER> -d <DB_NAME> -f "$MIG_DIR/20260910090500_review_manual.up.sql"Tahap 3 — Rollout Image Komponen Baru
Lakukan pembaruan image komponen aplikasi ke rilis 2026.09.2.1.
Sangat disarankan melakukan rollout secara bertahap sesuai hierarki dependensi:
- Tahap 1 (Proxy):
proxy - Tahap 2 (Identitas & Tenant):
auth,tenant - Tahap 3 (Backend Services):
bpm,integration,notification,report,compro-be,simulation-be - Tahap 4 (Workflow Engine):
camunda - Tahap 5 (Frontend Apps):
studio,compro,simulation,apps,microsite
Contoh perintah rollout:
NS=alurkerja
# Contoh restart tahap backend
kubectl -n $NS rollout restart deploy/deployment-bpm-be
kubectl -n $NS rollout restart deploy/deployment-report-be
kubectl -n $NS rollout status deploy/deployment-bpm-be --timeout=300sUntuk prosedur orkestrasi otomatis K8s yang lengkap, ikuti panduan Runbook Upgrade Kubernetes.
# Tarik image terbaru untuk seluruh service
docker compose pull
# Naikkan container dengan image baru
docker compose up -dTahap 4 — Verifikasi Pasca-Upgrade
1. Verifikasi Objek Skema Database:
Pastikan tabel baru dan constraint berhasil dibuat:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name IN (
'bpm_bpmn_forms',
'bpm_deployed_bpmn_forms',
'migrations',
'simulation_result_insight',
'tenant_favorites'
);
SELECT conname
FROM pg_constraint
WHERE conname = 'drive_file_type_normalized_chk';Kueri harus mengembalikan kelima nama tabel dan nama constraint drive_file_type_normalized_chk.
2. Verifikasi Fungsional Singkat (Smoke Test):
- Login ke aplikasi menggunakan akun administrator atau pengguna biasa.
- Buat dan buka satu proses BPMN di Studio, lakukan perubahan, dan simpan.
- Unggah file dokumen baru ke Drive dan pastikan file dapat diunduh kembali.
- Tandai salah satu tenant sebagai favorit di halaman pemilih tenant (jika menggunakan multi-tenant switcher).
Kalau gagal — rollback
1. Rollback Image Aplikasi
Bila terjadi kegagalan fungsi aplikasi pada image 2026.09.2.1:
- Kubernetes: Turunkan tag image deployment kembali ke tag atau digest rilis sebelumnya (
2026.09.1.1atau2026.08.4.1). Catatan: jika menggunakan tag:latest, perintahkubectl rollout undotidak akan bekerja efektif; Anda harus mengarahkan image ke sha256 digest versi sebelumnya. - Docker Compose: Tentukan tag rilis sebelumnya pada
.envataudocker-compose.yml, lalu jalankandocker compose up -d.
2. Status Skema Database
Database tidak perlu di-rollback. Seluruh tabel baru (bpm_*, simulation_result_insight, tenant_favorites, migrations) tidak akan mengganggu container versi lama yang tidak mengaksesnya. Constraint pada drive juga aman dipertahankan karena data lama sudah dinormalisasi menjadi huruf kecil yang valid.
Jika tim database mengharuskan rollback skema penuh dalam kondisi darurat, gunakan berkas .down.sql yang tersedia pada folder sql/migrations/2026.09.2.1/ secara berurutan terbalik (mulai dari nomor 090500 hingga 090000) setelah membuat backup database terlebih dahulu.
Checklist ringkas
Persiapan & Pra-Migrasi
- Backup full database PostgreSQL selesai dibuat.
- Pengecekan data
file_typepada tabelpublic.drivesudah dijalankan. - Normalisasi
drive.file_typedijalankan jika ada huruf besar/spasi/string kosong.
Migrasi Database
- 6 Berkas migrasi 2026.09.2.1 berhasil dijalankan tanpa error.
- 5 Tabel baru terverifikasi ada:
bpm_bpmn_forms,bpm_deployed_bpmn_forms,migrations,simulation_result_insight,tenant_favorites. - Constraint
drive_file_type_normalized_chkterverifikasi aktif.
Rollout & Deployment
- Image rilis 2026.09.2.1 berhasil ditarik (pull).
- Rollout bertahap dijalankan (Proxy -> Auth/Tenant -> Backend -> Camunda -> Frontend).
- Seluruh pod/container berstatus
RunningdanReady.
Smoke Test Pasca-Upgrade
- Login pengguna berhasil.
- Buka dan simpan diagram/form proses di Studio.
- Upload & download file pada modul Drive berjalan normal.
Database Migration
Runbook penggunaan sistem migration AlurKerja — generate migration dari selisih skema (schema-diff) lalu apply ke database tujuan dengan runner release-aware ala Laravel. Termasuk cara pengecekan dan expected result dari simulasi end-to-end.
Rilis 2026.09.1.1
Catatan rilis dan panduan pembaruan versi 2026.09.1.1 untuk deployment on-premise AlurKerja. Rilis image tanpa perubahan skema baru, konfigurasi queue processor report-service, dan prasyarat migrasi 2026.08.4.2 & 2026.08.5.5.
