- Compatible XF 1.x versions
- 1.4
- 1.5
- License
- MIT Licence
- Visible branding
- No
A collection of improvements to the XenForo Conversation system.
This will automatically uninstall my old add-ons: Unmaintained - Conversation Search by Xon and Unmaintained - Conversation Reply Permissions by Xon
For large forums, please see the "Installing for large forums" section
Uninstalling removes all data!
Search Index however will require a full rebuild to delete the old data!
Features
Adds conversation search, with options to search by recipient
Users must be a member of the conversation to see the conversation in search results.
Does not permit moderators/administrators to see another person's conversations in search results.
Due to XenForo's design, this addon impacts general 'everything' search as per search handler constrains are not invoked resulting in false positives which are removed by XenForo rather than the search subsystem. The Elastic Search Essentials add-on can be used reduce the impact on search results, but requires Elastic Search.
Adds each conversation, and conversation message to the XenForo Search store (MySQL or Elastic Search), which may result in a larger search index.
New Conversation Permissions
Just takes away a user's "reply" button, no banners.
The reply limit is for the entire conversation, but the limit is per user group. Consider when User A & User B are members of a conversation.
User A can have a reply limit of 5. User B can have a reply limit of 10.
Once the conversation has >5 replies, User A can no longer post. Once the conversation has >10 replies, User A and User B can no longer post
Conversation Likes
Adds conversation likes. These Likes generate alerts, and additions to users news feed (with permission checks) as expected.
Conversation Message Edit History
Adds edit history for conversation messages.
Conversation Title Edit History
Adds edit history for conversation's title, and implements a new moderator permission "Manage Conversations by anyone" to allow non-conversation starters to edit a conversation.
Allow conversations with no-one
A global option to allow users to send conversations to just themselves.
Known Issues
Installing for large forums
For large forums, please try manually adding all the columns in a single step.
This took upto 5 minutes for 1.3 million conversation messages (compressed).
Adding Like support & edit support at once:
Or just edit support at once:
Note; both like and edit columns are required!
Permissions
Manual post-installation steps - Rebuild Search Index
The add-on will report (via server errors) if conversation related content types require re-indexing.
Performance impact
Installation
I recommend using Add-on install & upgrade to install this addon.
Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.
Contributions
If you appreciate this addon, please consider a contribution via PayPal. Details will be provide via private conversation.
Please contact me if you wish for different licencing arrangements.
This will automatically uninstall my old add-ons: Unmaintained - Conversation Search by Xon and Unmaintained - Conversation Reply Permissions by Xon
For large forums, please see the "Installing for large forums" section
Uninstalling removes all data!
Search Index however will require a full rebuild to delete the old data!
Features
- Adds conversation search, with options to search by recipient.
- New Conversation Permissions
- Adds an 'IP' button like posts have which allows the IP of the user to be viewed.
- Conversation Likes.
- Conversation Message Edit history
- Conversation Title Edit history
- Allow conversations with no-one (default off)
Adds conversation search, with options to search by recipient
Users must be a member of the conversation to see the conversation in search results.
Does not permit moderators/administrators to see another person's conversations in search results.
Due to XenForo's design, this addon impacts general 'everything' search as per search handler constrains are not invoked resulting in false positives which are removed by XenForo rather than the search subsystem. The Elastic Search Essentials add-on can be used reduce the impact on search results, but requires Elastic Search.
Adds each conversation, and conversation message to the XenForo Search store (MySQL or Elastic Search), which may result in a larger search index.
New Conversation Permissions
Just takes away a user's "reply" button, no banners.
The reply limit is for the entire conversation, but the limit is per user group. Consider when User A & User B are members of a conversation.
User A can have a reply limit of 5. User B can have a reply limit of 10.
Once the conversation has >5 replies, User A can no longer post. Once the conversation has >10 replies, User A and User B can no longer post
Conversation Likes
Adds conversation likes. These Likes generate alerts, and additions to users news feed (with permission checks) as expected.
Conversation Message Edit History
Adds edit history for conversation messages.
Conversation Title Edit History
Adds edit history for conversation's title, and implements a new moderator permission "Manage Conversations by anyone" to allow non-conversation starters to edit a conversation.
Allow conversations with no-one
A global option to allow users to send conversations to just themselves.
Known Issues
- Edit History does not respect/implement any silent editing window.
- This add-on likely will require a higher memory limit (ie <256mb isn't going to cut it) due to extra search results.
Installing for large forums
For large forums, please try manually adding all the columns in a single step.
This took upto 5 minutes for 1.3 million conversation messages (compressed).
Adding Like support & edit support at once:
Code:
ALTER TABLE `xf_conversation_message`
ADD COLUMN `_likes` INT UNSIGNED NOT NULL DEFAULT 0,
ADD COLUMN `like_users` BLOB,
ADD COLUMN `edit_count` int not null default 0,
ADD COLUMN `last_edit_date` int not null default 0,
ADD COLUMN `last_edit_user_id` int not null default 0;
ALTER TABLE `xf_conversation_master`
ADD COLUMN `conversation_edit_count` int not null default 0,
ADD COLUMN `conversation_last_edit_date` int not null default 0,
ADD COLUMN `conversation_last_edit_user_id` int not null default 0;
Code:
ALTER TABLE `xf_conversation_message`
ADD COLUMN `edit_count` int not null default 0,
ADD COLUMN `last_edit_date` int not null default 0,
ADD COLUMN `last_edit_user_id` int not null default 0;
ALTER TABLE `xf_conversation_master`
ADD COLUMN `conversation_edit_count` int not null default 0,
ADD COLUMN `conversation_last_edit_date` int not null default 0,
ADD COLUMN `conversation_last_edit_user_id` int not null default 0;
Note; both like and edit columns are required!
Permissions
- Can Reply to Conversation. - Default - If a group can start a conversation, they can reply.
- Reply Limit for Conversation. - Default - If a group can start a conversation, the reply limit is disabled (ie infinite).
- Like conversation messages. - Default not configured.
- Manage Conversations by anyone. - Default - If a group can edit any conversation posts, this permission is set for them.
Manual post-installation steps - Rebuild Search Index
The add-on will report (via server errors) if conversation related content types require re-indexing.
Performance impact
- 1 extra query per conversation message posted due to indexing, and indexing itself.
- 2 extra columns per conversation message for Like data.
Installation
I recommend using Add-on install & upgrade to install this addon.
Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.
Contributions
If you appreciate this addon, please consider a contribution via PayPal. Details will be provide via private conversation.
Please contact me if you wish for different licencing arrangements.
- Related resources