Skip to content

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

TabelBerisiBaris seed di master
ts_dashboarddashboard_code, dashboard_name, dashboard_sort, dashboard_is_installed, modules_parentdashboard_general "DMS & Procurement" (terpasang), dashboard_dms, dashboard_procure, dashboard_cost "Cost Control & Budgeting" (terpasang)
ts_dashletdashboard_code, dashlet_code, dashlet_name, dashlet_sort, dashlet_is_installed12, lihat di bawah
ts_dashlet_filterper orang dan dashlet: date_start, date_end, project_id, plus ts_dashlet_filter_cbs dan ts_dashlet_filter_payment_statusfilter dashlet biaya

Dua belas dashlet yang di-seed:

DashboardKode dashletLabel
dashboard_generaldashlet_general_module_shortcutModule
dashboard_generaldashlet_general_simple_textSimple Text
dashboard_generaldashlet_general_rssRSS
dashboard_dmsdashlet_dms_notificationNotification
dashboard_dmsdashlet_dms_recent_docRecent Document
dashboard_dmsdashlet_dms_doclib_shortcutLibrary
dashboard_procuredashlet_procure_figureProcurement Document Figure Comparison
dashboard_procuredashlet_procure_funnelProcurement Funnel Diagram
dashboard_costdashlet_cost_cumulative_expenditureCumulative Contract Expenditure
dashboard_costdashlet_cost_monthly_expenditureMonthly Contract Expenditure
dashboard_costdashlet_cost_contract_utilisationContract Utilisation
dashboard_costdashlet_cost_budget_vs_expenditureBudget 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:

KeyEfek
dashboard_defaultdashboard mana yang terbuka saat login (default dashboard_general)
enable_refreshable_dashboard, enable_customizable_dashboard, enable_downloadable_dashboardtombol level dashboard
enable_refreshable_dashlet, enable_filterable_dashlet, enable_draggable_dashlet, enable_resizable_dashletkontrol per dashlet
enable_echart_color_accenttema grafik
year_document_figure, year_sales_funnelfilter 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 di ts_dashlet, cabang di member_dashboard.inc.php, dan, kalau juga harus muncul di halaman selamat datang, folder dengan config.xml.
  • Hanya dashboard_general yang 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_dashboard memakai ulang nama kolom report. Grid privilege memilih report_code, report_desc ... order by report_sort dari ts_dashboard, jadi tabel itu membawa dua skema penamaan.

Perbedaan antar instance

Diperiksa pada 2026-09-06.

InstancePerbedaan
JOTREMenambah folder dashlet ProcurementPOStatus.
Jadestone, Medco, TimasSeed, perender dan folder identik dengan master.

Terkait