Documents
Part of the IP4CMS portal. β All module guides
What it's for β the Documents module is your tenant's document library. It lets you upload and store files (PDFs, images, Word and Excel files, plain-text and CSV), organise them into a folder tree, and retrieve, preview, download or email them later. The same engine also holds the files attached to individual records elsewhere in the portal β a member's ID copy, a property's certificate, a customer's contract β so this module is both the shared filing cabinet and the place to browse files held against specific entities.
Where to find it β open Documents from the main navigation. The default screen is the Documents library (a folder tree for the tenant as a whole). A second screen, Entity documents (Documents β Entity), lets you browse files attached to specific records such as members or locations. Document types are defined separately under Settings β Document Types.
Before you start
- The Documents module must be enabled on your tenant's licence. If it is off, the library screen will not load and the menu item is hidden.
- You need the right permissions (see Permissions & access below). At minimum you need
document:readto open the library; uploading, editing and deleting each need their own permission. - Files are capped at 10 MB each, and only these formats are accepted: PDF, JPEG, PNG, GIF, Word (.doc/.docx), Excel (.xls/.xlsx), plain text and CSV. Anything else is rejected at upload.
Key tasks
Define document types and folders
Document types classify every file (for example "Member ID", "Title Deed", "Statement"). They are managed under Settings β Document Types, not on the library screen, but every document belongs to exactly one type, so it is worth setting these up first.
To create a type:
- Go to Settings β Document Types and choose New document type.
- Fill in the fields:
- Name β the human-readable label (e.g. "Member ID Copy"). Required, up to 255 characters.
- Code β a short unique code in capitals, digits and underscores only (e.g.
MEMBER_ID). Required. - Description β optional free text.
- Modules β tick the modules this type applies to (Members, Locations, Events, and so on). Only modules enabled on your licence appear.
- Status β Active or Inactive (when editing). Inactive types stay on existing files but are not offered for new uploads.
- Save. A type can also carry a default send message template and a delivery mode (attachment, secure link, or both) that govern how files of that type are emailed.
Folders organise the library visually and are created on the library screen itself:
- On the Documents library screen, choose New folder (or the new-folder action on an existing folder to nest one inside it).
- Enter a Name (required, up to 255 characters) and save.
- The folder appears in the tree. Click a folder to expand it and load its sub-folders and files. Use the row actions menu on a folder to rename or delete it. Deleting a folder does not delete the files inside it β those files simply return to the top level.
Upload and organise documents
- On the Documents library screen, choose Upload document (or the upload action on a folder, to drop the file straight into that folder).
- In the upload window:
- File β click to browse, or drag-and-drop a file onto the drop zone. The title is auto-filled from the file name; you can change it.
- Title β required, up to 255 characters.
- Choose Upload. The file is stored and appears in the tree.
To reorganise or change a file later, open its row actions menu:
- Edit lets you change the Title and, optionally, replace the underlying file with a new one (the record and its history are kept; only the stored file changes).
- Delete removes the document.
Retrieve and download documents
- Browse the folder tree, or type into the search box to find a file by title across the whole library. Search shows a flat list; clear it to return to the tree.
- From a file's row actions menu:
- Preview opens the file in a new browser tab (good for PDFs and images).
- Download saves the file to your computer under its original file name.
- Send emails the document to a recipient (see below).
- Each row shows the file type, size and date so you can confirm you have the right file before opening it.
Sending a document by email β choose Send on a file (needs the document:update permission). Fill in any of Recipient email, Recipient phone, Recipient name, and optionally pick a message template. The portal emails the file as an attachment and/or a secure download link, depending on the document type's delivery mode.
Work with member (and other entity) documents
Files attached to specific records are reached through Documents β Entity:
- Choose the entity type to browse β Members, Locations, Customers, Vehicles, Properties or News stands.
- Use the search box to filter by title or file name. Results are paged (30 per page) and sorted by most recently updated.
- Each result shows which record it belongs to. Choose Manage on a file to open the full document manager for that record, where you can upload, preview, download, replace, delete and set permissions on its files exactly as you would in the library.
Member files also appear on the member's own profile, and there is a legacy member-documents view that still works even where the generic Documents module is not enabled.
How the data connects
Every document is stored against a context β a context type (tenant, member, location, customer, vehicle, property, event, news standβ¦) and the ID of that record. The main Documents library holds files in the tenant context (the shared filing cabinet); the Entity documents screen and the per-record managers hold files against individual entities. This is why a member's uploaded ID copy, a property's certificate and a library policy PDF all live in the same underlying store but show up in different places.
Other modules write into this same store automatically β for example, issuing a certificate creates a document record of the matching type and points it at the original file already in storage. Document types link to modules, so each module only offers the types relevant to it.
Files themselves are not kept in the database. They are uploaded to your tenant's configured object storage (the cloud storage adapter resolved for your tenant), under a path keyed by tenant, context type and context ID. The database row keeps the metadata β title, type, file name, size, MIME type, folder, who uploaded it and when. Download and preview generate access to the stored file on demand; "Send" can attach the file or hand out a temporary signed link.
Permissions & access
The Documents module enforces four permissions, all gated behind the module being licensed:
document:readβ view the library, open folders, search, preview and download. Required just to enter the screens.document:uploadβ upload new files and create folders.document:updateβ edit titles, replace files, rename folders, set document permissions, and send documents by email.document:deleteβ delete documents and delete folders.
Legacy member-document endpoints use separate members:document:* permissions where the generic module is not in use.
Individual documents can also carry a required role: open a file's Permissions action and set the role a user must hold to access it. This is used by the member/customer-facing portal to decide which library files a given person can see.
Tips & gotchas
- 10 MB and format limits are hard. Larger files or unsupported formats are rejected at upload with no partial save. Split or compress oversized files first.
- Search looks at titles (and file names on the entity screen), not file contents. Give files clear, descriptive titles so they can be found later.
- Deleting a folder is safe for files. The folder goes; its files drop back to the top level rather than being deleted. To remove files, delete them individually.
- Replacing a file keeps the record. Use Edit β replace file when a document is superseded β the title, type and links stay intact, so anything pointing at the document keeps working.
- Every file needs a document type. If your team can't pick the right type at upload, add it under Settings β Document Types first; inactive types won't appear for new files.
- Auto-generated files live here too. Certificates and similar outputs appear in the library/entity views automatically β don't re-upload them by hand.
- "Send" needs the update permission and a usable template/delivery mode. If sending fails, check the document type's delivery mode and that a suitable email template exists.