Jadestone
INACT untuk Jadestone. Salah satu big five.
Sekilas
| Jira | INA27, Jadestone Implementation. Item lama ada di INA18. |
| Nilai INACT Instance di INA05 | Jadestone |
| Repository | binari-digital/ina-jadestone |
| Twin terenkripsi | binari-digital/ina-jadestone-encrypted |
| GitLab INARTS | inact/inact-jadestone, ditambah twin terenkripsi |
| Branch permanen di origin | main, staging, development |
| Database | MySQL |
| Produksi | Server milik klien sendiri. Menarik main terenkripsi dari INARTS. |
| Staging | jadestone.inactsoft.com |
| Dev (QA) | inact-jadestone-encrypted.bdt.dev di Rumah box |
TODO: versi MySQL produksi.
Repository dan remote
Repository plain punya dua remote: origin di GitHub dan inarts di GitLab INARTS. Setiap deploy push ke keduanya. Twin terenkripsi menyimpan build ionCube. main.php adalah satu-satunya file yang berbeda di antara keduanya, dan sinkronisasi menolak menimpanya.
Environment dan deploy
Deploy berjalan lewat GitHub Actions di runner self-hosted milik Rumah box. Skripnya ada di repository di bawah deploy/. Latar belakangnya ada di Jira INA27-282.
| Push ke | Skrip | Yang terjadi |
|---|---|---|
development | deploy/dev.sh | Sinkron plain ke terenkripsi, push terenkripsi ke GitHub dan INARTS. Push itu memicu consumer di twin terenkripsi, yang menarik ~/www/inact-jadestone-encrypted di Rumah box dan menjalankan phinx migrate. |
staging | deploy/staging.sh | Push staging ke INARTS, lalu ssh ke jadestone.inactsoft.com dan git pull plus phinx migrate di /home/ubuntu/www/inact. Staging menyajikan repository plain, karena twin terenkripsi tidak punya branch staging. |
main | deploy/prod.sh | Sinkron main plain ke main terenkripsi, push ke GitHub dan INARTS. Tidak ada consumer. Klien menarik dari INARTS sendiri. Tidak ada migrasi yang dijalankan di sisi kita. |
Database
| Driver | MySQL |
| Database QA | MySQL di Rumah box sendiri, database inactsoft_jadestone_encrypted |
| Database uji | Host DB dev bersama 192.168.1.52, port 3357, database inact-jadestone-prod-20260820. Snapshot produksi dari 2026-08-20. |
Perbedaan fork ini dari master
Diukur pada 2026-09-05.
| File modul yang berbeda | 96 |
| Modul dengan perubahan terbanyak | routing 22, documents 11, documents_master 9, adms 9, dms_reference 8, adms_reference 8 |
| Library yang berbeda | additional_global_variables.inc.php, inweb.lib.php, reference_function.inc.php, tracking_function.inc.php |
| File top-level yang berbeda | _menu.php, auto_logout.php, setting.php |
| Migrasi | Total 445. 35 hanya di sini, 21 di master belum diambil. Terbaru 2026-08-26. |
File yang hanya ada di fork ini
modules/adms_reference/adms_unit_code.phpmodules/dms_reference/field_code.phpmodules/dms_reference/group_code.phpmodules/documents_master/documents_master_handler_print_overdue_contractor.phpmodules/documents_master/documents_master_handler_print_overdue_contractor_summary.phpmodules/routing/routing_slip_functions.inc.php
File di master yang tidak ada di fork ini
modules/dms_reference/well_site.phpmodules/routing/routing_handler_republish.php
Key inweb_config
| Key | |
|---|---|
| Hanya di fork ini | enable_ref_field_code, enable_ref_group_code |
| Tidak ada di sini | enable_last_login_wins, enable_ldap_browse, enable_ldap_login, enable_well_site, routing_return_format |
Kustomisasi yang sudah didokumentasikan
Belum ada. Halaman fitur datang di fase 3 rencana dokumentasi; setiap fitur yang berbeda di sini akan menautkan kembali ke daftar ini.
Hal yang perlu diwaspadai
- Staging menyajikan repository plain, bukan build terenkripsi. Yang diuji klien di staging tidak sama persis byte per byte dengan yang mereka dapat di produksi.
- Tidak ada Single Session.
enable_last_login_winsdan mekanismeperson_session_tokenada di master dan JOTRE tetapi tidak di sini, baik di kode maupun di tabel config. Diverifikasi 2026-07-29. - Ada checkout plain kedua di
inact-jadestone.bdt.devdi Rumah box. Tidak ada yang men-deploy-nya; consumer hanya menarik root terenkripsi. - Perubahan pada
main.phpmenghentikan deploy. Sinkronisasi menulis.sync-blockeddan menunggu orang untuk meng-encode ulang.