Penilaian arkitektur sistem SPPB sedia ada di PPK Putrajaya, dan cadangan tandingan ALESA Library Stack v1 sebagai pengganti. Untuk perbincangan dalaman pasukan PPJ & Encik Zaim.
| Komponen | Versi Sedia Ada | Versi Terkini | Tarikh EOL / CVE | Risiko |
|---|---|---|---|---|
| Liferay Portal | 7.1.3 CE GA4 (Mei 2019) | 7.4 LTS (2024) | EOL 2019 | Kritikal ยท CVE tertumpuk |
| Apache HTTPD | 2.4.49 | 2.4.62 | CVE-2021-41773 (CVSS 7.5) | Path traversal ยท RCE |
| PHP | 7.3.4 | 8.3.x | EOL Dis 2021 | Multiple CVEs |
| OpenSSL | 1.1.1l | 3.0+ | EOL Sep 2023 | CVE tertumpuk |
| Bootstrap | 4.1.1 | 5.3.x | Bootstrap 4 sunset | No security patches |
| HSTS Header | Tiada | โ | โ | HTTP downgrade possible |
| CSP Header | Tiada | โ | โ | Clickjacking |
| SSL Cert Chain | Incomplete | โ | โ | Mobile / API fail |
| Info Disclosure | Server: WEBCMCILMU | โ | โ | Vendor + versi expose |
| Pain Point Sedia Ada | Impak Operasi | Cara ALESA Library v1 Selesaikan | Bukti |
|---|---|---|---|
| Liferay EOL ยท risiko keselamatan | Tiada tampung CVE ยท audit MAMPU akan fail | Laravel 11.51 + Filament 3 (stable LTS) ยท auto-update via Composer ยท monthly security review | CVE-free baseline |
| UI 2019 โ pegawai PPK rasa berat | Setiap operasi ambik banyak klik ยท tiada keyboard shortcut | Filament 3 admin moden ยท Livewire reactive ยท keyboard shortcut ยท search global โ+K | Demo live di lib.pasa.my/admin |
| Tiada portal mobile untuk ahli | Ahli kena datang fizikal untuk lihat pinjaman/denda | PWA MyPPK ยท scan ISBN guna kamera ยท push notif WA ยท install di home screen | Wireframe di Manual ยง12-16 |
| Notifikasi denda manual | Pegawai hantar SMS satu-satu ยท ramai miss | WhatsApp WAHA auto-queue ยท 7 templat ยท 24-jam preview ยท bulk send ยท opt-in PDPA | Phase 2 Mei-Jun 2026 |
| Carian katalog kata-kunci sahaja | Pengguna susah cari buku ikut topik | AI Semantic Search ยท embedding vector ยท top-5 match dengan confidence score | Prototaip di Manual ยง6 |
| Laporan eksekutif statik | Pengarah perlu ambik masa interpret data | AI Generative Insights ยท 5 cadangan strategik auto-jana setiap bulan | Live di /admin/reports |
| Vendor lock-in (CMC) | Tiada akses kepada source ยท tiada IP ownership | Laravel open-source-extensible ยท code escrow PPJ ยท IP boleh dipindah | Klausa kontrak ALESA |
| Tiada audit log per-transaksi | Insiden 2021 credential confusion sukar trace | Activity Log Spatie ยท setiap CRUD audit ยท 7 tahun retain ยท WHO did WHAT WHEN | Tabular log table |
| Portal | Liferay 7.1.3 CE GA4 (2019) |
| OPAC | VuFind 2.x ยท port 8080 |
| Bahasa | Java + PHP 7.3 |
| Web Server | Apache 2.4.49 (Win64) |
| OS | Windows Server |
| DB | MySQL/MariaDB (versi tak jelas) |
| Hardware Bridge | Proprietary (vendor) |
| Mobile | Tiada PWA |
| AI | Tiada |
| Notifikasi | Manual SMS |
| Hosting | Vendor data center |
| IP Ownership | Vendor (PPJ tiada akses code) |
| Audit Log | Terhad (vendor log) |
| Pematuhan MAMPU | Status tidak disahkan |
| Portal | Laravel 11.51 + Filament 3.2 |
| OPAC | Meilisearch sub-50ms |
| Bahasa | PHP 8.2.30 LTS |
| Web Server | LiteSpeed Apache ยท HTTP/3 |
| OS | Linux AlmaLinux |
| DB | MariaDB 10.11 LTS |
| Hardware Bridge | SIP2 standard (open) |
| Mobile | PWA ยท iOS + Android install |
| AI | Semantic search ยท Chatbot ยท Insights |
| Notifikasi | WhatsApp auto + SMS fallback |
| Hosting | On-prem PPJ DC (atau Govt Cloud) |
| IP Ownership | PPJ (escrow agreement) |
| Audit Log | Lengkap ยท 7 tahun retain ยท SHA-256 hash |
| Pematuhan MAMPU | PDPA ยท MyDigital ยท MAMPU baseline |
| Hardware | Lokasi | Fungsi | Sambungan ke Vendor Lama | Sambungan ke ALESA | Status Migrasi |
|---|---|---|---|---|---|
| UHF Staff Station | 4 unit (1/cawangan) | Pinjaman, pulangan, tagging | Proprietary CMC API | SIP2 TCP port 6001 | โ Kekal ยท setting IP only |
| Smart Gate (Gantry) | 4 set di pintu | Anti-theft alarm | Proprietary | SIP2 query book.status | โ Kekal ยท setting IP only |
| Book Drop UHF | 4 unit luar | Pulangan luar waktu | Proprietary | SIP2 checkin endpoint | โ Kekal ยท setting IP only |
| Self Check-In Kiosk | 8 unit dalaman | Layan diri | HTML embedded | Webview ke /kiosk/checkout | โ Kekal ยท webview update |
| Hand-held Reader | 4 unit (1/cawangan) | Stock Take audit | Desktop sync software | WiFi auto-sync REST API | โ Kekal ยท firmware tetap |
| UHF Tag (~98,431) | Setiap bahan koleksi | Pengenalan unik | EPC SGTIN-96 standard | Sama EPC standard | โ Tiada re-tag |
| Receipt Printer | 1 per kaunter | Cetak resit termal | Vendor driver | ESC/POS standard | โ Kekal |
| Kad Pengenalan Ahli | ~12,847 kad sedia edar | Identifikasi ahli | Barcode atau Mifare | Sama format | โ Kekal |
| # | Modul ILMU Sedia Ada | Anggaran Rekod | Skema Pengganti dalam ALESA | Strategi ETL | Risiko |
|---|---|---|---|---|---|
| 1 | Acquisition | ~12K PO sejarah | `acquisitions` + `purchase_orders` | SQL dump โ transform โ load | Rendah |
| 2 | Authority Maintenance | Standardisasi katalog | `book_authorities` (pengarang, penerbit) | Dedup + canonical form | Sederhana |
| 3 | Circulation | ~3K active loans + sejarah | `loans` + `loan_history` | Snapshot sebelum cutover | Sederhana |
| 4 | Cataloging | 98,431 koleksi | `books` dengan MARC fields | MARC21 export โ import | Rendah |
| 5 | Accounting | Bajet perolehan | `budget_allocations` | CSV export โ import | Rendah |
| 6 | Foundation (Membership) | 12,847 ahli aktif | `members` | SQL dump ยท double-validate IC + email | Tinggi (PDPA) |
| 7 | Infotrack / OPAC | Search index | Meilisearch reindex dari `books` | Reindex pada Fasa 2 | Rendah |
| 8 | Receipting | Sejarah resit | `receipts` + audit_logs | SQL dump ยท simpan PDF arkib | Sederhana |
| 9 | Serials | ~4,521 berkala | `books` dengan category='berkala' | Sub-set dari cataloging | Rendah |
| 10 | Stock Take | Sejarah audit | `stock_takes` + `discrepancy_logs` | SQL dump | Rendah |
| 11 | Document Delivery | Rekod penghantaran | `document_deliveries` | SQL dump | Rendah |
| 12 | IRIS | Indexing keratan akhbar | `articles` + Meilisearch | Reindex | Rendah |
| 13 | Reporting | Saved query templates | Filament reports + saved filters | Re-build dari spec | Rendah |
| Item | ALESA Library v1 | Vendor "AI Library" cadangan | Vendor LMS On-the-Shelf |
|---|---|---|---|
| One-time build (16 minggu) | RM 380K โ 540K | RM 800K โ 1.8M (anggaran) | RM 1.2M โ 2.5M (Symphony, Koha komersial) |
| Lesen tahunan / maintenance | RM 60K โ 90K (SLA 99.5%) | 15-25% setup + AWS bil | 15-25% setup tahunan |
| Hosting tahunan | RM 0 (on-prem PPJ) atau RM 18K โ 36K (Govt Cloud) | RM 36K โ 84K (AWS) | Bergantung lokasi |
| Pelaburan modal hardware | RM 0 (kekal sedia ada) | Tidak jelas | Berkemungkinan replace |
| Latihan pegawai 4 cawangan | RM 24K (2 sesi/cawangan) | Tidak jelas | RM 30K โ 50K |
| IP Code Ownership | PPJ (escrow agreement) | Vendor | Vendor |
| Migration vendor lock-out | Tiada (open Laravel + standard SIP2) | Tinggi (AWS + vendor AI) | Sederhana |
| 3-tahun total ownership | ~ RM 600K โ 850K | ~ RM 1.2M โ 2.5M | ~ RM 1.7M โ 3.5M |
| Kriteria PPJ | Vendor On-the-Shelf (Symphony, Koha komersial) | Vendor "AI Library" (cadangan AWS) | ALESA Library v1 (Laravel + Filament) |
|---|---|---|---|
| Fit-for-purpose (komuniti PPK, bukan universiti) | Generik ยท perlu kustomisasi | Fokus pelajar/exam (mismatch) | Direka untuk PPK Putrajaya |
| Kekal RFID hardware (RM 500K sedia ada) | Sebahagian (bergantung integrasi) | Tidak dinyatakan | 100% kekal ยท SIP2 bridge |
| Integrasi SAP-PPi | Perlu custom | Tidak dinyatakan | Spec sudah dipetakan |
| Bahasa Melayu native | EN-default ยท BM kena translate | EN-default | BM native (rojak rasmi) |
| Hosting on-prem (MAMPU) | Bergantung vendor | AWS public (data sovereignty risk) | On-prem PPJ atau Govt Cloud |
| AI augmentative (bukan ganti pustakawan) | Tiada | AI replace-mode | Pustakawan in-the-loop |
| IP Code Ownership PPJ | Vendor | Vendor | PPJ via escrow |
| Sokongan tempatan (KL/Putrajaya) | Bergantung vendor (sering luar) | Bergantung | ALESA tempatan |
| Kos 3-tahun | RM 1.7M โ 3.5M | RM 1.2M โ 2.5M | RM 600K โ 850K |
| Migration risk vendor enggan serah data | Sama | Sama (+AWS migration) | Sama, tetapi backup plan jelas |
Bagaimana ALESA Library v1 berdiri berbanding empat platform LMS popular di pasaran global. Setiap pilihan ada konteks kekuatan tersendiri โ perbandingan ini fokus pada keperluan PPK Putrajaya (komuniti ยท RFID kekal ยท MAMPU on-prem ยท BM native ยท IP escrow).
| Kriteria PPJ | WILMU (Incumbent) Knowledge Link ยท Web Integrated Library Mgmt Sys |
Koha Open-source ยท skala luas |
Alma Ex Libris ยท akademik premium |
Libib SaaS ringan ยท kecil/sekolah |
Symphony SirsiDynix ยท multi-cawangan |
ALESA Library v1 Laravel + Filament ยท PPK-fit |
|---|---|---|---|---|---|---|
| Model lesen | Komersial ยท per-modul + maintenance tahunan | Free (GPL) | Komersial ยท langganan tahunan | Free tier + Pro SaaS | Komersial ยท lesen kekal + maintenance | Custom-build ยท IP PPJ via escrow |
| Hosting & data sovereignty | On-prem PPJ (Windows Server) | Self-host (boleh on-prem MAMPU) | Cloud Ex Libris (luar negara) | SaaS US (Libib.com) | On-prem atau SirsiDynix cloud | On-prem PPJ / Govt Cloud MY |
| Sasaran asal | Perpustakaan awam/gov MY (MOD, MBPJ, Sabah, PPJ etc) | Awam/akademik umum | Universiti besar (R1 research) | Sekolah kecil ยท katalog rumah | Rangkaian besar multi-cawangan | Perpustakaan komuniti PPK |
| Kekal RFID SPKK (RM 500K) | SIP2 native ยท SPKK 4 cawangan | SIP2 / NCIP sokong | SIP2 sokong | Tiada SIP2 | SIP2 native | SIP2 bridge ยท 100% kekal |
| Integrasi SAP-PPi / PKAI | Native (SAP-PPi + PKAI sedia hidup) | Perlu plugin custom (Perl) | API ada ยท kena vendor work-order | Tiada API komprehensif | SOA ยท custom integration billable | Webhook + connector dipetakan |
| BM native / dwibahasa | BM native ยท operasi sehari-hari | BM community translation | EN-dominant ยท BM separa | EN sahaja | EN-dominant ยท BM separa | BM rasmi ยท rojak konteks |
| Sokongan tempatan (MY) | CMC tempatan ยท sokongan langsung | Vendor reseller MY (terhad) | Pejabat regional SG/AU | Email US time-zone | Reseller MY ada | ALESA Kluang/KL ยท respond <4j |
| Kustomisasi modul | Vendor-gated ยท setiap perubahan billable | Source terbuka ยท perl/template | Kustomisasi terhad ยท vendor-gated | Tetapan sahaja | API + scripting | Source PHP penuh diserah |
| AI augmentative (bukan ganti pustakawan) | Tiada | Tiada native | Discovery AI ยท cloud-only | Tiada | Add-on Enterprise (billable) | Semantic search ยท WhatsApp asisten ยท HITL |
| Pematuhan MAMPU (data residency MY) | Compliant (on-prem ยท data residency MY) | Boleh (self-host) | Tidak (cloud luar) | Tidak | Boleh (on-prem mode) | Built-for-MAMPU dari hari pertama |
| Anggaran kos 3-tahun (PPJ scale) | RM 1.8M โ 3.2M (sambung lesen + Liferay/Apache upgrade + custom mods) |
RM 450K โ 900K (installation + custom dev + maintenance) |
RM 2.5M โ 5M (langganan + onboarding) |
RM 80K โ 200K (tetapi tidak sesuai PPK skala) |
RM 1.8M โ 3.5M (lesen + maintenance + integrasi) |
RM 600K โ 850K (build + 36-bulan maintenance) |
Tiga keputusan menanti PPJ. Tiada urgency artificial โ tetapi setiap minggu vendor sedia ada masih live, terdapat risiko keselamatan yang berterusan. Kami sudi support setiap langkah.