Messaging Supercharger
| Messaging Supercharger | |
|---|---|
| Type | Local plugin |
| Set | N/A |
| Downloads | https://moodle.org/plugins/local_messagingsupercharger |
| Issues | https://github.com/adamjenkins/moodle-local_messagingsupercharger/issues |
| Discussion | https://moodle.org/plugins/local_messagingsupercharger |
| Maintainer(s) | Adam Jenkins (WiseCat) |
Messaging Supercharger is a local plugin that adds the features people expect from a modern chat app to Moodle's messaging: attachments, reactions, mentions, editing, pinned messages, scheduled sending and more. It works in the message drawer and on the messages page, without changing Moodle itself.
Installation
Install the plugin from the Moodle plugins directory, or download the ZIP file and follow Installing plugins. The files go in the folder local/messagingsupercharger. The plugin supports Moodle 4.5 to 5.3. Messaging must be turned on for the site.
Features

- Attachments. Attach files with the paper clip button, by dragging them onto the conversation, or by pasting an image. Uploads start at once and show their progress. Pictures are shown in the conversation; click one to open it full size.
- Rich text. Write a formatted message, with attachments and pictures, in the full editor. What you had typed is carried over.
- Mentions. Type @ in a group conversation to choose a member. The person mentioned gets their own notification ("You are mentioned in a group conversation"), so they can mute a busy group and still hear when someone mentions them.
- Reactions on any message. Pointing at a reaction shows who reacted (screen readers announce it too).
- Edit and delete your own messages within a set time. Edited messages show "Edited" with the time, and everyone in the conversation can see the earlier versions. Delete for everyone uses Moodle's own delete for all.
- Pinned messages, in a strip at the top of the conversation that can be opened and closed.
- Seen by: who has read the latest message in a group conversation. Each person can turn this off in their messaging settings; then they neither show nor see it.
- Scheduled send: write a message now and send it later. Waiting messages appear in the strip at the top of the conversation, where they can be changed or cancelled.
- Message search across all your conversations, including group conversations.
- Resizable drawer: drag the edge of the message drawer to make it wider (or use the arrow keys on the handle); double-click to reset it.
- Link previews (off by default): a title, description and picture for links in messages.
Email: sent once, a little later
For one-to-one conversations, the email about a new message is held back for a short time (two minutes by default) and then sent once, with the message as it is at that moment. A typo fixed quickly never reaches the inbox, and later edits never send another email. The email is not sent if the recipient has already read the message in Moodle (this can be changed), has muted the conversation, or if the message was deleted. Group conversations keep Moodle's own daily email digest. If holding the email back fails for any reason, Moodle sends it straight away as usual.
The Moodle app
Attachments, mentions and formatting are part of the message text, so they also appear in the Moodle app and in email. Reactions, pins, "Seen by", the "Edited" marker and later edits appear only in the web interface.
Settings

In Site administration > Plugins > Local plugins > Messaging Supercharger:
- Features: turn each feature on or off.
- Attachments: Maximum attachment size (never more than the site's limit), Maximum attachments, Allowed attachment types, Attachment storage per user (default 100 MB; can be unlimited) and Keep attachments for (default: as long as the message).
- Editing and email: Edit window (default 15 minutes; 0 means no limit), Email delay (default 2 minutes; 0 lets Moodle send at once) and Skip email if read.
- Link previews: Allowed sites, an optional list of the only sites to preview.
- Refreshing: how often an open conversation updates its reactions, edits, pins and "Seen by".
Capabilities
All are checked in the conversation's context: the course for a course group conversation, otherwise the system, so they can be changed for a course.
- local/messagingsupercharger:sendattachments (Attach files to messages): all authenticated users.
- local/messagingsupercharger:userichtext (Use the rich text editor for messages): all authenticated users.
- local/messagingsupercharger:mention (Mention people in group conversations): all authenticated users.
- local/messagingsupercharger:react (React to messages): all authenticated users.
- local/messagingsupercharger:editownmessage (Edit own messages): all authenticated users.
- local/messagingsupercharger:deleteownmessageforall (Delete own messages for everyone): all authenticated users.
- local/messagingsupercharger:schedulesend (Schedule messages): all authenticated users.
- local/messagingsupercharger:pinmessage (Pin messages in group conversations): teachers, non-editing teachers and managers. In a one-to-one conversation either person can pin; in a group conversation only people with this capability can, because a pin is shown to the whole group.
All of Moodle's own messaging rules still apply: blocking, "contacts only" privacy, messaging turned off, conversation membership and disabled group conversations. They apply to reactions and pins too.
Security
- Attachments are shown only to the members of the conversation (and the person who uploaded them). Anything that is not a picture is always downloaded rather than opened in the browser.
- Every upload is checked on the server: type, size, number of files and the person's storage. Programs, installers and scripts are refused whatever their name, and pictures, PDFs and plain text must really be what their extension says. Uploads are also scanned by the site's antivirus plugins, as Moodle scans other uploads.
- If Keep attachments for is set, an hourly task deletes the attachments of older messages. The message itself stays, and says that its attachments have expired.
- Link previews make the server fetch the linked pages, so they are off by default. When they are on, a preview is fetched once, when the message is sent, only from public web addresses, with strict time and size limits. Moodle's blocked hosts setting applies, and Allowed sites can restrict previews further. Readers' browsers never contact the linked site.
Privacy
The plugin stores attachments, reactions, pins, edits and their earlier versions, scheduled messages and link previews. It implements the Privacy API for all of them (export and deletion, for each user and each context). Deleting a person's data deletes the files they attached, including in group conversations; those messages then list the attachments without the files. Pins they made stay in the conversation without their name. See Data privacy.