Inspired by the XF1 add-on "Post Ratings", and the prevalence of "Reactions" as an alternative to the single dimensional Likes.
Post Installing
This add-on will require configuration, only a default "Like" is added after installing.
Tools => Import Data => Import from XF1 Post Ratings
Content => Content Rating => Rating Types => Add Default Rating Types
This adds "Facebook Style" ratings of;
Like
Love
Haha
Wow
Sad ?
Angry
Content => Content Rating => Rating Types =>Add New Rating Type.
Installing/Uninstalling on a large forum
It is strongly recommended to use the CLI installer/uninstaller.
Features
XF1 "Post Ratings" importer
Whitelist/blacklist ratings by user group, lock to starting poster, and limit to forums (for threads)
Content Ratings/Reactions on Posts and Conversations.
Integrates with alerts & news feed where applicable.
Rating Types;
Support flexible image icon selection;
Emoji
Sprite Images
Images (with high definition alternative image)
css fonts
Templates (for inline SVG)
A Rating type can be usable or visible;
Visible & usable - everyone can use and see
Not visible & usable - only the person giving the rating can see their own rating, allowing a "private rating".
Visible & not usable - everyone can see, not may not use it.
Not Visible & not usable, - no one may see or use it.
Supported Content types:
Posts
Conversation Messages
Profile Posts
Profile Post Comments
Rating Categories
For example; positive/negative/neutral categories
If a category shows on the profile/memberbit/postbit & how stats are presented.
Statistics integration
User Criteria integration
Selectable "default rating" to display as the menu icon, can be Random, or None.
Large number of style properties to customize look and feel.
Horizontal rating selection
Touch support
Display highest ratings on thread rating list (disabled by default)
Global option to enable/disable
Style property options to customize
Rating Categories automatic actions when a category hits some threshold ;
Report content
Moderate content
Soft-delete content
Allow arbitrary number of rating type/rating type category user criteria
Implementation notes
Designed for performance, only minimal data is fetched when interacting with the rating system
Overrides XF2's rebuild behaviour to instead be incremental rather than count all ratings on a piece of content.
As MySQL's InnoDB table structure does not feature prefix compression, a content type/id pair is very inefficient space-wise.
Uses per-content tables which are dynamically managed to store count totals, and automagically links these to the right places for use.
If a content's table is "too large" to extend (ie when adding a rating type) without downtime, that content has the rating type disabled for it and the required manual SQL for the administrator to run provided.
"too large " table size threshold is an adjustable, may be to fully automatic or fully manual for adding columns.