Penilaian objektif sistem perpustakaan sedia ada PPK (SPPB Β· ILMU Β· SPKK Β· PKAI), kupasan cadangan vendor "AI Library" yang ditemui, dan cadangan tandingan ALESA Library Stack v1 β direka untuk membantu pasukan PPJ membuat keputusan termination & replacement dengan data yang lengkap.
Pusat Pembelajaran Kejiranan (PPK) Putrajaya kini dipacu oleh sistem SPPB (Sistem Pengurusan Perpustakaan Bersepadu) yang terdiri daripada empat komponen: ILMU (LMS teras), SPKK (RFID hardware), PKAI (kawalan akses internet), dan integrasi SAP untuk pembayaran. Audit teknikal langsung terhadap ppk.ppj.gov.my mendapati platform ini dibina di atas Liferay 7.1.3 CE GA4 (build Mei 2019), dengan tindanan Apache 2.4.49 + PHP 7.3.4 di atas Windows Server β semua komponen ini telah tamat tempoh sokongan (EOL) dan mengandungi sekurang-kurangnya satu kerentanan kritikal yang diketahui umum (CVE-2021-41773, RCE path traversal).
Selain itu, satu cadangan vendor pihak ketiga (rujuk Lampiran A) yang dikemukakan sebagai pengganti, mencadangkan pivot drastik kepada konsep "AI Library" berorientasikan pelajar/peperiksaan/gamifikasi β yang tidak selari dengan persona sebenar pengguna PPK (komuniti am Putrajaya, kanak-kanak, warga emas). Cadangan tersebut juga senyap mengenai migrasi data ILMU, sambungan kepada infrastruktur RFID sedia ada, integrasi SAP/PPi, dan modul PKAI.
Berdasarkan tinjauan langsung portal awam ppk.ppj.gov.my, sub-aplikasi katalog di :8080/neuseal, dan rajah seni bina vendor yang dikongsi, struktur SPPB dipetakan seperti berikut:
| # | Modul | Fungsi Utama | Pengguna Utama |
|---|---|---|---|
| 1 | Acquisition | Pengurusan perolehan koleksi & pesanan | Pegawai PPK |
| 2 | Authority Maintenance | Pembetulan & standardisasi rekod katalog | Pustakawan |
| 3 | Circulation | Pinjaman, pulangan, denda, tempahan, sejarah | Pegawai & ahli |
| 4 | Cataloging | Pengkatalogan bahan (MARC/Dublin Core) | Pustakawan |
| 5 | Accounting | Peruntukan kewangan untuk perolehan | Akauntan |
| 6 | Foundation (Membership) | Pendaftaran ahli, kategori, maklumat PPK | Pegawai & ahli |
| 7 | Infotrack / OPAC | Carian katalog online (VuFind di `:8080/neuseal`) | Awam |
| 8 | Receipting | Penerimaan bayaran & cetakan resit | Pegawai |
| 9 | Serials | Majalah, jurnal β perolehan & jadual | Pustakawan |
| 10 | Stock Take | Pengiraan inventori & reconciliation | Pegawai |
| 11 | Document Delivery | Penghantaran dokumen kepada pengguna | Pegawai |
| 12 | IRIS | Indexing keratan akhbar & majalah | Pustakawan |
| 13 | Reporting | Janaan laporan ad-hoc berasaskan field DB | Pegawai |
| # | Komponen | Fungsi | Status Strategi |
|---|---|---|---|
| 1 | Staff Station / Tag Station | Pinjaman, pulangan, tagging UHF, sorting | KEKAL β pelaburan modal sudah berlaku |
| 2 | Smart Gate (Gantry) | Anti-theft di pintu masuk β bunyi penggera jika tag tak deactivate | KEKAL β boleh integrate via API/SIP2 |
| 3 | Book Drop (UHF Mobile) | Pemulangan luar waktu operasi | KEKAL β endpoint TCP/SIP2 standard |
| 4 | UHF Tag | Tag RFID pada setiap bahan (~100k transaksi/tag) | KEKAL β tidak perlu re-tag |
| 5 | Self Check In/Out Kiosk | Layan diri pinjaman/pulangan | KEKAL β webview boleh refresh |
| 6 | Shelf Management | Hand-held reader untuk audit rak | KEKAL |
SIP2 atau NCIP). Mana-mana cadangan vendor yang tidak menyebut perkara ini sama ada (a) tidak memahami konteks, atau (b) merancang penggantian hardware tersembunyi yang akan meningkatkan kos secara mendadak.
Audit ini dijalankan secara passive recon (HTTP HEAD/GET) terhadap perkhidmatan awam ppk.ppj.gov.my. Tiada cubaan eksploit dilakukan. Semua bukti diperoleh daripada response header standard yang vendor sepatutnya konfigurasikan untuk disembunyikan.
Header Liferay-Portal didedahkan terus oleh server:
Liferay-Portal: Liferay Community Edition Portal 7.1.3 CE GA4 (Judson / Build 7102 / May 14, 2019)
Link: </o/api/doc> rel=apiDocumentation dedahkan ada API yang boleh diquery.Sub-app VuFind di :8080/neuseal mendedahkan header berikut:
Server: Apache/2.4.49 (Win64) OpenSSL/1.1.1l PHP/7.3.4 X-Powered-By: PHP/7.3.4 Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
mod_cgi aktif).Server: WEBCMCILMU β mendedahkan kewujudan vendor "CMC" dan kewujudan produk "ILMU" dalam server signature.JSESSIONID Tomcat exposed dalam Set-Cookie tanpa SameSite attribute.FastLoginPortlet & LoginPortlet kedua-duanya aktif β biasanya hanya satu diperlukan.Strict-Transport-Security (HSTS) β pelayar tidak ditegah daripada downgrade ke HTTP.X-Frame-Options: SAMEORIGIN ada, tetapi Content-Security-Policy tiada β risiko clickjacking masih wujud.Cadangan yang dikongsi mengetengahkan 6 super-modul:
| # | Super-Modul | Sub-modul (ringkas) |
|---|---|---|
| 1 | AI Library Core Platform | Workspace Β· User Access Β· Student Profile Β· Catalogue+eBook+Physical Β· Config Β· UI |
| 2 | AI Search, Assistant & Reading Intel | Smart Search Β· AI Assistant Β· Interactive eBook Β· Citation Β· Prompt rules |
| 3 | Student Learning, Exam & Engagement | NLP Discovery Β· Learning Journey Β· Exam Mode Β· Gamification |
| 4 | Booking, Reservation & Library Ops | Reservation Β· Equipment/Facility Β· QR Check-In/Out Β· Work Queue |
| 5 | Admin, Analytics, Copilot & Showcase | Librarian Copilot Β· Admin Portal Β· Analytics Β· Conference Showcase Β· Demo |
| 6 | AWS Env, QA, Docs & Delivery | AWS Architecture+POC Β· Responsible AI Β· QA/SIT/UAT |
| # | Isu | Implikasi |
|---|---|---|
| 1 | Scope mismatch β fokus "Student/Exam" | PPK ialah perpustakaan komuniti am Putrajaya (kanak-kanak, keluarga, warga emas), bukan perpustakaan universiti/sekolah. Modul "Exam Mode + Subject Support + Gamification" tidak menepati persona sebenar. |
| 2 | AWS cloud lock-in | Pemindahan ke AWS membawa risiko (a) data sovereignty di bawah dasar MAMPU, (b) OpEx berulang vs CapEx, (c) keluar daripada ekosistem rangkaian PPJ & ePenyertaan PPJ. |
| 3 | Tiada modul migrasi data ILMU | 13 modul ILMU mengandungi data ahli, katalog, transaksi sejarah bertahun. Cadangan vendor senyap tentang ETL/migration. |
| 4 | Tiada sambungan SPKK / RFID continuity | Hardware UHF Staff Station, Smart Gate, Book Drop sedia ada β bagaimana diintegrate? Tukar baharu? Re-tag 100k+ buku? |
| 5 | Tiada penggantian PKAI | Kawalan akses internet untuk pengguna awam PPK terlepas dari skop. |
| 6 | Tiada integrasi SAP / PPi | Modul Bayaran sedia ada terikat dengan SAP Kod Fi PPJ. Tanpa integrasi ini, bayaran perlu manual atau direkayasa semula. |
| 7 | "Conference Showcase + Demo Doc" sebagai modul billable | Ini deliverable projek, bukan modul produk. Berpotensi scope padding untuk meningkatkan harga. |
| 8 | "Responsible AI Governance" sebagai super-modul | Lazimnya cross-cutting concern, bukan modul stand-alone. Padding lagi. |
| 9 | Tiada Phase 1 baseline parity | Terus lompat ke "AI everything" tanpa membuktikan parity dengan modul-modul ILMU sedia ada. Risiko regressi fungsi operasi harian. |
| 10 | Skop "Roadmap" sebagai modul billable | "Future Roadmap Module" β roadmap ialah dokumen, bukan kod. |
Sebelum memilih pengganti, PPJ perlu kembali kepada keperluan operasi sebenar. Berdasarkan pemerhatian portal awam, audit waktu operasi 4 cawangan, dan profil aktiviti yang dipaparkan (Bengkel Robotik & Dron, Hari Terbuka, MBBY, Bilik Braille), persona pengguna PPK Putrajaya ialah:
| # | Keperluan | Dilayan dalam SPPB? | Dilayan dalam Cadangan Vendor? |
|---|---|---|---|
| 1 | Pendaftaran ahli baru & pembaharuan | Ya | Sebahagian (sebagai "User Access") |
| 2 | Pinjaman / pulangan via UHF Staff Station | Ya | Tidak dinyatakan |
| 3 | Anti-theft Smart Gate | Ya | Tidak dinyatakan |
| 4 | Book Drop luar waktu | Ya | Tidak dinyatakan |
| 5 | OPAC carian katalog | Ya (VuFind) | Ya (AI Smart Search) |
| 6 | Resit & denda | Ya | Sebahagian (sebagai "Booking") |
| 7 | Integrasi bayaran SAP/PPi | Ya | Tidak dinyatakan |
| 8 | Tempahan bilik & kemudahan | Ya (e-borang) | Ya |
| 9 | Stock take inventori RFID | Ya | Tidak dinyatakan |
| 10 | Kawalan akses internet awam (PKAI) | Ya | Tidak dinyatakan |
| 11 | Pelaporan operasi & statistik | Ya | Ya (Analytics) |
| 12 | Sokongan Braille / aksesibiliti | Asas | Tidak dinyatakan |
| 13 | Microsite per-cawangan (Presint 8/9/11/16) | Ya | Tidak jelas |
ALESA mengusulkan satu pendekatan yang tidak membuang misi PPK, tetapi menggantikan platform terasnya dengan stack moden, sambil mengekalkan setiap pelaburan modal yang telah dibuat (RFID hardware, perjanjian SAP, microsite cawangan).
Lihat pinjaman semasa, sejarah, denda, scan ISBN guna kamera, tempah bilik. Mesra warga emas β font besar, kontras tinggi, Bahasa Melayu utuh.
Carian semantik (BM & EN), saranan automatik, "buku serupa", cover preview, lokasi rak tepat dengan peta interaktif cawangan.
Realtime KPI per-cawangan, work queue (denda, tempahan, pulangan tertunda), single-click circulation, audit trail per-transaksi.
"Tolong cari buku tentang ekonomi Islam untuk pelajar Tingkatan 5" β top 5 rekomendasi + lokasi rak + status pinjaman.
Tarikh pulang, peringatan denda, pengumuman aktiviti, koleksi baru. Two-way: ahli boleh balas "lanjut" untuk renew.
Kalendar interaktif, pengesahan automatik, pembayaran terus integrate SAP-PPi, QR code masuk bilik.
Statistik penyertaan, koleksi popular, jam puncak per-cawangan, demografi ahli (anonimized), trend pinjaman bulanan.
Katalog Braille terkhusus, sokongan audio book streaming, screen-reader compatible (WCAG 2.1 AA).
Captive portal moden, login dengan MyKad PPK, quota per-ahli, log audit untuk pematuhan SKMM/CMA.
| Fasa | Tempoh | Deliverable | Risiko Utama |
|---|---|---|---|
| 1 | Discovery & Parity Map (2 minggu) | Audit data ILMU lengkap Β· pemetaan 13 modul Β· UAT script Β· SLA baseline | Akses vendor sedia ada untuk eksport data |
| 2 | Build & Parallel-Run (8 minggu) | 13 modul ILMU rewrite Β· SIP2 bridge Β· SAP connector Β· PWA ahli Β· admin Filament Β· staging env | Keseimbangan kelajuan vs fungsi |
| 3 | UAT & Pilot 1 Cawangan (3 minggu) | Pilot Presint 16 (HQ) Β· 100% parallel-run dengan sistem lama Β· 0 discrepancy zero-tolerance | Adapt pegawai Β· feedback loop |
| 4 | Rollout 4 Cawangan + Cutover (3 minggu) | Presint 8, 9, 11 Β· cutover terurus Β· vendor lama decommission Β· handover dokumentasi | Cutover harus pada minggu tutup PPK (Isnin / cuti) |
Angka di bawah adalah ballpark indicative untuk membantu PPJ menyusun bajet. Final pricing tertakluk kepada perbincangan skop dan RFP rasmi.
| Item | Anggaran (RM) | Catatan |
|---|---|---|
| One-time build (Fasa 1-4, 16 minggu) | RM 380K β 540K | 13 modul + RFID bridge + SAP connector + PWA + admin |
| Lesen tahunan (support + tampung) | RM 60K β 90K /tahun | SLA 99.5% Β· respon 4 jam Β· 1 dedicated developer |
| Hosting on-prem PPJ | RM 0 | Guna DC PPJ sedia ada |
| Hosting Govt Cloud (alternatif) | RM 18K β 36K /tahun | MAMPU-tersenarai sahaja |
| Latihan pegawai 4 cawangan | RM 24K | 2 sesi per cawangan + manual BM/EN |
| Pelan tahunan 3-tahun (total) | ~ RM 600K β 850K | Build + support 3 tahun |
| # | Risiko | Prob | Impak | Mitigasi |
|---|---|---|---|---|
| 1 | Vendor lama enggan serah data lengkap | Tinggi | Tinggi | Aktifkan klausa termination data-handover Β· pacta scribbler PPJ legal |
| 2 | RFID hardware tidak compatible dengan SIP2 | Rendah | Tinggi | Probe lab sebelum Fasa 2 Β· backup plan: kekal Staff Station vendor lama sebagai bridge sementara |
| 3 | Pegawai PPK menentang sistem baru | Sederhana | Sederhana | Co-design workshop Β· pegawai sebagai design partner Β· UAT bersama |
| 4 | Cutover gagal Β· perlu rollback | Rendah | Tinggi | Parallel-run 3 minggu wajib Β· sistem lama freeze (read-only) sehingga D+30 sign-off |
| 5 | Integrasi SAP-PPi terhalang dasar | Sederhana | Sederhana | Engage bahagian kewangan PPJ dari Day 1 Β· spec lock pada Fasa 1 |
| 6 | PDPA β bocor data ahli semasa migrasi | Rendah | Tinggi | Enkripsi at-rest + in-transit Β· ETL pada SFTP isolated Β· DPO sign-off pada setiap dump |
| 7 | Vendor baru (ALESA) gagal scale | Rendah | Sederhana | Single-tenant Laravel terbukti pada >4,000 akaun aktif (rujuk prestasiplus.my) |
| 8 | Pengguna awam keliru dengan UI baru | Sederhana | Rendah | Period transition dengan tooltips Β· video tutorial Β· staf cawangan jadi guide |
| Standard | Keperluan | Cara ALESA Patuh |
|---|---|---|
| PDPA 2010 Β· Sek 7 | Notice + Choice + Access untuk data ahli | Borang consent dalam sign-up Β· ahli boleh request export/delete Β· log perubahan |
| MAMPU Garis Panduan | Sistem kerajaan perlu host on-prem atau Govt Cloud MAMPU-tersenarai | On-prem PPJ DC sebagai default Β· alternatif Govt Cloud (bukan AWS public) |
| SKMM/CMA 588 | Log aktiviti pengguna internet awam (PKAI) | PKAI 2.0 simpan log 12 bulan Β· audit trail SHA-256 hash |
| CGSO ICT Audit | Patching, vulnerability, OWASP Top 10 | CI/CD dengan SAST + DAST scan Β· patching automatik Β· WAF |
| WCAG 2.1 AA | Aksesibiliti untuk OKU (Braille, audio) | Screen-reader compatible Β· navigation keyboard-only Β· ARIA labels |
| MyDigital | Sokong inisiatif kerajaan digital | API terbuka untuk MyGOV portal Β· MyID/MySSO ready |
mod_security WAF rule sebagai stop-gap.