I just wanted to share a quick update on something I’ve been working on — a WordPress-native client portal for SuiteCRM.
The goal was to build something similar to the old Joomla portal, but more modern:
Built entirely as a WordPress plugin (shortcodes, REST endpoints, admin settings).
No SuiteCRM customizations required — you just connect via OAuth2.
Uses the SuiteCRM V8 API, with support for both 7.x and 8.x.
Secure behind the WordPress login, with nonce-protected REST calls.
Right now the basics are working: case list with filters & pagination, case detail view, and case updates (including internal vs client replies). Next up is case creation and file attachment polish.
I’m putting together a quick teaser video to show where it’s at. If anyone’s interested in early testing or just getting notified when it’s ready, feel free to reach out.
Would also love any feedback — especially from anyone who’s used the Joomla portal heavily and knows what worked or didn’t.
Displays total, open, closed, escalated, and pending cases at a glance.
Allows quick filtering so users can drill directly into specific case types.
Helps clients and staff stay on top of support workload without scanning full case lists.
2. Layered Security Model
We’ve restructured the plugin so access control is enforced consistently across shortcodes, REST endpoints, and JavaScript rendering. Highlights include:
User ↔ Contact Mapping: WordPress users must be explicitly mapped to a SuiteCRM Contact to view their cases.
Staff/User Validation: WordPress admins and staff are mapped to SuiteCRM Users, and both User ID + email address are validated against SuiteCRM before granting staff-level access.
Case Ownership Checks: Clients can only view case details or updates if their mapped Contact ID has a valid relationship with the case in SuiteCRM.
Graceful Failures: Instead of spinning loaders or raw errors, users without access now see clear messages like “You do not have access to this case. Please contact your administrator.”
Attachment Protection: Even file downloads (attachments on case updates) now respect the same access rules to prevent unauthorized access by guessing IDs.
Together, this makes the portal secure by default, transparent for admins, and much more user-friendly.