Dashboard dan dashlet
Halaman pendaratan setelah login. Dashboard adalah kumpulan dashlet yang diberi nama, widget kecil yang masing-masing meng-query satu hal: jumlah inbox routing, dokumen terbaru, grafik biaya. Dashboard mana yang ada, dashlet mana yang dimuatnya, siapa yang boleh melihatnya dan bagaimana tampilannya semuanya adalah data.
Cara halaman ini diverifikasi
Ditulis dari master pada 2026-09-06 dan dibandingkan dengan big five di hari yang sama. Tidak ada halaman sebelumnya.
Registrinya
| Tabel | Berisi | Baris seed di master |
|---|---|---|
ts_dashboard | dashboard_code, dashboard_name, dashboard_sort, dashboard_is_installed, modules_parent | dashboard_general "DMS & Procurement" (terpasang), dashboard_dms, dashboard_procure, dashboard_cost "Cost Control & Budgeting" (terpasang) |
ts_dashlet | dashboard_code, dashlet_code, dashlet_name, dashlet_sort, dashlet_is_installed | 12, lihat di bawah |
ts_dashlet_filter | per orang dan dashlet: date_start, date_end, project_id, plus ts_dashlet_filter_cbs dan ts_dashlet_filter_payment_status | filter dashlet biaya |
Dua belas dashlet yang di-seed:
| Dashboard | Kode dashlet | Label |
|---|---|---|
dashboard_general | dashlet_general_module_shortcut | Module |
dashboard_general | dashlet_general_simple_text | Simple Text |
dashboard_general | dashlet_general_rss | RSS |
dashboard_dms | dashlet_dms_notification | Notification |
dashboard_dms | dashlet_dms_recent_doc | Recent Document |
dashboard_dms | dashlet_dms_doclib_shortcut | Library |
dashboard_procure | dashlet_procure_figure | Procurement Document Figure Comparison |
dashboard_procure | dashlet_procure_funnel | Procurement Funnel Diagram |
dashboard_cost | dashlet_cost_cumulative_expenditure | Cumulative Contract Expenditure |
dashboard_cost | dashlet_cost_monthly_expenditure | Monthly Contract Expenditure |
dashboard_cost | dashlet_cost_contract_utilisation | Contract Utilisation |
dashboard_cost | dashlet_cost_budget_vs_expenditure | Budget vs Expenditure |
Di setiap database QA yang dibaca pada 2026-09-06 hanya dashboard_general yang terpasang. Seed-nya identik di kelima fork.
Cara dashboard dirender
main.php?page=member&cmd=dashboard meng-include member_dashboard.inc.php. Template member_dashboard.htm menata dashlet terpasang dari dashboard yang dipilih dan memuat masing-masing lewat AJAX dengan getDashletContent=<dashlet_code>. Include itu menjawab panggilan tersebut: mencari dashboard milik dashlet, membaca filter orang itu dari ts_dashlet_filter (getDashletFilter()), dan bercabang per kode dashlet. Dashlet biaya me-join ts_dashlet_filter_cbs dan ts_dashlet_filter_payment_status untuk membatasi angkanya.
Perilaku yang terlihat diatur config, dibaca di template:
| Key | Efek |
|---|---|
dashboard_default | dashboard mana yang terbuka saat login (default dashboard_general) |
enable_refreshable_dashboard, enable_customizable_dashboard, enable_downloadable_dashboard | tombol level dashboard |
enable_refreshable_dashlet, enable_filterable_dashlet, enable_draggable_dashlet, enable_resizable_dashlet | kontrol per dashlet |
enable_echart_color_accent | tema grafik |
year_document_figure, year_sales_funnel | filter tahun per pengguna, dibaca member.dashlet.php dari preferensi JSON |
Lihat inweb_config, dashboard.
Folder dashlets/
Delapan belas folder di bawah dashlets/, masing-masing widget mandiri: config.xml (id, title, url, idfile, pos, isconfigurable), file PHP yang menjalankan query dengan Inweb_Template-nya sendiri, dan tampilan .htm. Contoh: Notification (jumlah inbox routing), RecentDoc, Module, Rss, Simple, Procurement, DocumentsRegister, AssetRegister, Hse, GraphCpcf, Execution, GeneralActivities, dan grafik biaya (ContractExpediturePerMonth, CumulativeMonthlyContractExpenditure, ContractUtilisationPerAssetGroup, AssetExpediturePerMonth, AssetExpediturePerAssetGroup, CumulativeMonthlyAssetExpenditure).
Folder-folder inilah yang ditemukan halaman selamat datang lama (member_home.inc.php, dicapai saat cmd bukan dashboard) dengan memindai dashlets/*/config.xml. Dashboard yang digerakkan registri tidak memindai folder; ia bercabang pada dashlet_code di dalam member_dashboard.inc.php. Kedua mekanisme aktif, itulah sebabnya sebuah dashlet bisa ada sebagai folder tetapi bukan sebagai baris registri, atau sebaliknya.
Privilege
Dashboard punya tipe privilege sendiri, dashboard, di ts_privileges_resource, diperiksa oleh havePrivilegesDashboardResource(). Admin memberikannya di Reference, Group Privileges, tab Dashboard (group_privileges.php?show=dashboard): resource group terhadap dashboard terpasang. Grup admin melewatinya. Mekanismenya sama dengan Reporting, dengan priv_type diset ke dashboard.
Filter
Reference, Dashlet Filter (dashlet_filter.php) mengedit baris ts_dashlet_filter: rentang tanggal dan project per orang dan dashlet, dan untuk dashlet biaya pilihan CBS dan pilihan status pembayaran. Dashlet membaca barisnya sendiri saat dimuat.
Hal yang perlu diwaspadai
- Dua sistem dashboard. Yang berbasis registri (
cmd=dashboard) dan yang memindai folder (halaman selamat datang). Menambah dashlet butuh baris dits_dashlet, cabang dimember_dashboard.inc.php, dan, kalau juga harus muncul di halaman selamat datang, folder denganconfig.xml. - Hanya
dashboard_generalyang menyala dalam praktik. Dashboard biaya di-seed sebagai terpasang tetapi tidak ada situs QA yang memilikinya; dashlet-nya bergantung pada modul budget yang juga harus terpasang. ts_dashboardmemakai ulang nama kolom report. Grid privilege memilihreport_code, report_desc ... order by report_sortdarits_dashboard, jadi tabel itu membawa dua skema penamaan.
Perbedaan antar instance
Diperiksa pada 2026-09-06.
| Instance | Perbedaan |
|---|---|
| JOTRE | Menambah folder dashlet ProcurementPOStatus. |
| Jadestone, Medco, Timas | Seed, perender dan folder identik dengan master. |
Terkait
- Reporting: registri saudara dengan tipe privilege
report. - inweb_config: flag-flagnya.