Journal
Per-record threaded comments for collaboration and audit trails. Journal entries are tied to specific fields on a record — like commenting on a particular cell in a spreadsheet.
Creating journal entries
- Admin/SPA: Open a record → click the journal icon on any field → type your note
- REST:
POST /pfm/v1/{entity}/{sys_id}/journalwithfield_nameandbody - Internal flag: Mark entries as
is_internalto hide them from non-admin users
Journal fields
Journal is a virtual field type — it doesn't create a physical column on the record table. Data lives in wp_pfm_journal_entries. You can add multiple journal fields per entity; they share the same timeline.
What journal entries support
- Rich text (HTML with KSES sanitisation)
- Pasted screenshots (data:image URIs for PNG/JPEG/GIF/WebP)
- Image-only entries (no text required)
Permissions
- Any user with read access to the record can see non-internal entries
- Only admins see entries marked
is_internal - Users can delete only their own entries; admins can delete any
Cleanup
Journal entries are automatically cleaned up when:
- A record is deleted (all its journal entries are removed)
- An entity is deleted (all journal entries for that entity are removed)
Events
Creating a journal entry fires the pfm.journal.created event. Subscribe a workflow to react to new journal entries.