Perfex Client Hub documentation

Perfex Client Hub adds a client-facing hub to Perfex CRM with two parts. Client Files is a private file hub for every customer and project: folders, uploads of any size, versions, previews, tags, per-folder access, share links, upload requests and storage quotas. Feedback & Roadmap gives your customers boards for ideas, bug reports and questions, with voting, comments, statuses, a public roadmap, a changelog and an embeddable widget.

Both parts show up for your customers in the Perfex client portal, and the public pages (share links, upload links, roadmap, changelog, boards) work without an account. You can switch each part, each public page and each customer on or off.

Installation

Requirements

Install

  1. Back up the CRM database and files.
  2. Extract the download perfex-client-hub-1.0.0.zip on your computer. Inside are the installable perfex_client_hub-1.0.0.zip, this documentation, the changelog and the licenses.
  3. In Perfex, open Setup › Modules, upload the inner perfex_client_hub-1.0.0.zip, then install and activate Perfex Client Hub.
  4. Open Client Hub in the sidebar. The Overview shows where files are stored and whether that folder is private.
What activation does: creates the module's tables and settings, the staff permissions, two contact permissions, 16 email templates (type Client Hub), one board "Feature Requests" for customers, and the private storage folder. It does not modify Perfex core files. Nothing is shown to customers until you create folders or boards they may see.

Permissions

Staff rights are set in Setup › Staff › Roles (or per staff member). Administrators can do everything.

FeatureCapabilityAllows
Client Hub — FilesView (global)Files of every customer and project.
View own customers and projectsFiles of customers they are customer admin of and projects they are a member of.
Upload and create foldersUpload files and new versions, create folders.
EditRename, move, tag, describe, change folder access.
DeleteMove to trash, delete for good.
Share links and upload requestsCreate and revoke share links, send upload requests.
Client Hub — FeedbackViewRead every board, post and internal note.
Post and vote for customersPost, vote on behalf of a customer, reply in public.
Moderate, change status, mergeStatuses, merging, moderation queue, links to tickets, tasks and projects, edits.
Manage boards, roadmap and changelogBoards, statuses, the changelog, the widget, feedback settings.
Client Hub — SettingsChange settingsThe settings page, customers' quotas and switches, the activity log export.

Customer contacts: with Settings › General › Contacts set to All contacts, every active contact can use the parts that are on. Set it to By contact permission to use the two contact permissions Client Hub files and Client Hub feedback on each contact's profile. Project folders also need Perfex's own Projects contact permission.

Files and tables

WhereWhat
modules/perfex_client_hub/The module, with its interface font and the Lucide icons. Nothing is loaded from a CDN.
perfex-client-hub-storage/<key>/ next to the Perfex folder (default)Uploaded files under random names (blobs/), unfinished uploads (tmp/) and thumbnails (cache/, safe to delete). <key> is different for every installation and database.
Tables pch_*Folders, files, versions, tags, access entries, share links, upload requests, boards, posts, votes, comments, statuses, changelog, subscriptions, notifications, activity and settings per customer.

First steps

  1. Open Client Hub › Settings. Check Storage (the folder should be private), set the largest file, the quota per customer and the file types you accept.
  2. Open Files, pick a customer and create its first folders — for example Contracts (customer can view) and From the client (customer can upload).
  3. Upload a few files. Contacts of that customer see them under Shared Files in the portal and get an email.
  4. Open Upload Requests and ask a contact for files.
  5. Open Feedback › Boards, adjust the board "Feature Requests" or add a public one, and share its address. Turn on the public roadmap and changelog in Settings › Public Pages when you are ready.
The Client Hub overview with counters, new files from customers, open upload requests and links to every part
Overview: counters, new files from customers, open requests, feedback and storage.

Client files

Client Hub › Files lists the customers you may see; open one to see its files. Every customer has a customer space, and every project a project space (switch at the top of the folder tree). The same view is on the customer profile and in the project as a Files tab.

Customer files: folder tree, access chip and photo thumbnails
Files of a customer: a folder of product photos with its access rule.

Uploading

Versions and previews

The details panel of a file with its preview and versions
File details with versions.

Folder access

Who Can Open on a folder sets its rules. Sub-folders follow the folder above unless you give them their own rules.

RuleOptions
Customer contactsNo one (staff only), All contacts or Chosen contacts, each at Can view and download, Can upload or Can edit. A chosen contact can get more than the rest.
StaffEveryone who may see the customer or project (by their Files rights), plus staff members or roles you add, at view, upload, edit or manage. Only the people listed makes a folder private to administrators and the listed staff.

New root folders start with Settings › Files › New folders (open to all contacts, view only, by default). Contacts can trash files they uploaded themselves when they may upload to that folder; they never manage folders. Staff without access get "not found", so folder names are not revealed.

Share links

Share a file or a folder with anyone: Share in the file's details or the ⋯ menu.

The share dialog with expiry, password and download limit
Share dialog.
The public page of a folder link
What the recipient sees: only the shared folder.

Upload requests

Ask a customer for files: Upload Requests › New Request, or Request files in a folder's toolbar.

The upload page of a request
The page a client opens from the request email.

Storage and quotas

Where files are kept

  1. define('PCH_STORAGE_PATH', '/home/acme/hub-files'); in application/config/app-config.php — your choice (a sub-folder per installation is added).
  2. Otherwise perfex-client-hub-storage/ in the folder above Perfex — outside the web root on most hosts.
  3. If neither can be written, uploads/perfex_client_hub/ with an unguessable name, .htaccess and web.config deny rules. On nginx add the rule shown in Settings › Storage:
location ^~ /uploads/perfex_client_hub/ {
    deny all;
}

Settings › Storage shows the folder, whether it is inside the web root, free space and how to move it. Downloads can be handed to the web server with X-Sendfile (Apache) or X-Accel-Redirect (nginx) for very large files.

Quotas

Client portal

Contacts find the hub in the customer menu — as Shared Files and Feedback, or one Client Hub item (Settings › Notifications & Portal).

The Client Hub home of a contact in the client portal
Portal home of a contact.

Notifications and emails

Feedback boards

Client Hub › Feedback has the Inbox, Moderation, Boards, Statuses and Settings.

Board visibilityWho sees it
PublicEveryone, also signed out (when Feedback is on). Posting can be open to anyone, contacts or staff only.
CustomersSigned-in contacts with feedback access — all customers, or one customer only.
PrivateStaff only (an internal ideas board).

Each board has a name, description, icon and colour, the kinds it accepts (idea, bug report, question), categories, extra fields per kind, votes and comments on or off, whether it appears on the roadmap, moderation (none, visitors, everyone) and the widget.

The feedback inbox with votes, statuses and revenue impact
Inbox, sorted by votes.

Posts and bug reports

A post for staff with discussion, internal note, status and votes
A post for staff: status with a note for followers, votes with customers, discussion and an internal note.

Voting

Statuses and merging

Moderation and spam

Roadmap

The staff roadmap with Planned, In Progress and Done columns
Staff roadmap: drag a card to change its status.

Changelog

The public changelog page
Public changelog with the subscribe box.

Widget

Show a public board on your own website: open the board in Feedback › Boards, switch on the widget, list the websites that may show it (for example https://www.example.com) and copy the snippet:

<script src="https://crm.example.com/perfex_client_hub/widget/js/YOUR-KEY" async></script>

AI helpers

With Perfex AI Staff active and Settings › Integrations › AI helpers on, Client Hub uses AI Staff's provider, budgets and usage log. AI only proposes; staff press Apply or Dismiss, and Apply checks the staff member's own rights.

Integrations

Settings

SectionWhat
GeneralFiles and Feedback on or off, in the portal or not, which contacts may use them, the default theme of staff pages.
FilesLargest file, upload part size, accepted types, quotas, versions to keep, trash days, access of new folders, X-Sendfile.
SharingShare links and request links on or off, default and longest link, password required, uploads through links.
StorageWhere files are, whether the folder is private, free space, moving it, nginx rules.
CustomersUsage per customer, own quota, files or feedback off for one customer.
Public PagesPublic roadmap and changelog, widget, visitor votes and posts, blocked words, requests per minute, search engines.
BrandingName, logo, accent colour, footer and theme (light, dark, automatic) of public pages.
Notifications & PortalCustomer menu, summary day and hour, email grouping, request reminders, email templates.
IntegrationsAI helpers and automatic duplicate checks, Deliverables filing, invoice and estimate PDFs, Sentinel downloads.
DataActivity log with filters and CSV export, how long activity and AI proposals are kept.
RecoveryThe main switch and the ways back (below).

Each section saves on its own. Feedback limits and visitor rules are also on Feedback › Settings.

Client Hub settings
Settings.

Safe mode

Turning the client side off hides the portal menu, answers portal pages with "unavailable", closes every public page and stops the cron. Staff pages stay open (with a notice) so you can switch it back. Files and data are kept.

SwitchHow
One partSettings › General: Files or Feedback off; per customer in Settings › Customers.
One kind of public pageSettings › Sharing / Public Pages: share links, request links, roadmap, changelog, widget.
Main switchSettings › Recovery › Turn off Client Hub.
DISABLE fileCreate an empty file modules/perfex_client_hub/DISABLE; delete it to switch on again. Works without signing in.
Constantdefine('PCH_SAFE_MODE', true); in application/config/app-config.php.
DeactivateSetup › Modules › Deactivate: menu items, tabs, bells and public pages are gone at once.

Security and storage notes

SaaS

With a multi-tenant module that gives each tenant its own database, every tenant has its own data and its own storage folder (the folder name carries a key per tenant and database, so a copied site never reads or deletes the original's files). The shared-database mode of some SaaS modules is not supported: Client Hub stays off inside such tenants.

Deactivate and uninstall

Deactivating removes the menu items, tabs, portal pages, public pages and the hub's bells at once. Data and files are kept; activate again to continue.

Uninstalling (after deactivating) deletes all hub data: the pch_ tables and settings, the pch-* email templates, the contact and staff permissions, and this installation's storage folder with every file. Download what you want to keep first (folders as ZIP).

Troubleshooting

SymptomCheck
No Client Hub in the sidebarModule active; the role has a Client Hub right; not a shared-database SaaS tenant.
"The file storage is not writable"Settings › Storage: make the folder writable for the web server, or set PCH_STORAGE_PATH.
Contacts do not see Shared FilesFiles on and in the portal; contact access (all or the contact permission); the folder is open to contacts; project folders need the Projects permission; the customer's files are not switched off.
Uploads stopLargest file and quotas in Settings; free disk space; accepted types. A proxy that limits request size must allow the part size (8 MB).
No emailsPerfex cron runs (at least every 5 minutes); the pch-* template is active; the contact's choice is not Off or Summary.
Public roadmap shows "not available"Settings › Public Pages: roadmap on; at least one public board on the roadmap; no safe mode.
Widget does not appearWidget on (board and Settings); your website is in the board's list, with https and without a path.
Large downloads are slow or cutUse X-Sendfile / X-Accel-Redirect in Settings › Files.

FAQ

Does it replace Perfex's own customer files?

No. They stay as they are; the hub has its own folders.

Can a customer see another customer's files?

No. Contacts only see folders of their own customer that are open to them; everything else answers "not found".

Can I move the files to another server or disk?

Yes. Settings › Storage explains it: copy the folder, set PCH_STORAGE_PATH, check the page.

Do share links work after the file gets a new version?

Yes. A link points to the file, so it always gives the newest version.

Is it translated?

Yes: English, Spanish, Portuguese (Brazil), French, German, Italian, Dutch, Turkish and Russian.

How do I get support?

Send the module, Perfex and PHP versions and a screenshot through SellMyCode support — never passwords.

Changelog

Current version 1.1.2 (17 Oct 2026). Release notes of every version, newest first: perfexcrm.app/client-hub/changelog/.

1.0.0 — 2026-10-12

The full list is in changelog.txt in the download.