Plugin Configuration
Rewardify includes multiple plugins that integrate with different Joomla extensions. This guide covers all available plugins and how to configure them.
Core Plugins
User - Rewardify
Purpose: Awards points for user registration and login activities.
Required: Yes (for basic functionality)
Events Handled:
- User registration
- User login
- 7-day login streak detection
Configuration
- Go to System → Plugins
- Search for "User - Rewardify"
- Click to open
Settings:
Currently no configurable options - awards points based on Point Rules
Point Rules Triggered:
com_users.register- User registrationcom_users.login- Daily logincom_users.login.streak_7- 7-day consecutive login
How It Works
Registration:
1. User registers on site
2. Plugin detects onUserAfterSave event
3. Checks for "com_users.register" rule
4. Awards points if rule is active
5. Creates point entry in database
Login:
1. User logs in
2. Plugin detects onUserAfterLogin event
3. Checks if user already earned today (rate limit = 1 day)
4. Awards points if not already earned today
5. Checks for login streak
Login Streak:
1. User logs in
2. Plugin checks last 14 login dates
3. Counts consecutive days from today backwards
4. If exactly 7 (or 14, 21...) consecutive days
5. Awards streak bonus points
6. Uses unique reference to prevent duplicates
Troubleshooting
Points not awarded on registration:
- Check rule
com_users.registeris published - Verify plugin is enabled
- Check user's access level matches rule
Login points not working:
- Check rule
com_users.loginis published - Verify rate limit allows daily awards
- Clear Joomla cache
Streak bonus not working:
- User must login exactly 7 consecutive days
- Check rule
com_users.login.streak_7is published - Review point history for duplicate prevention
Content - Rewardify
Purpose: Awards points for article-related activities.
Required: No (only if you want article points)
Events Handled:
- Article creation
- Article reading
- Article deletion
- Article state changes
Configuration
- Go to System → Plugins
- Search for "Content - Rewardify"
- Click to open
Settings:
No configurable options - awards points based on Point Rules
Point Rules Triggered:
com_content.article.create- Create articlecom_content.article.read- View articlecom_content.article.delete- Delete article
How It Works
Creating Article:
1. User creates article via frontend form
2. Plugin detects onContentAfterSave event
3. Checks if article is new (isNew = true)
4. Awards points via "com_content.article.create" rule
Reading Article:
1. User views article
2. Plugin detects onContentPrepare event
3. Awards points via "com_content.article.read" rule
4. Can use rate limit to prevent repeated awards
Deleting Article:
1. Article is deleted
2. Plugin detects onContentBeforeDelete event
3. Deducts points via "com_content.article.delete" rule
4. Typically uses negative points (-5)
Best Practices
Enable for blogs:
- ✅ Create article points (encourage content)
- ❌ Read article points (can be abused)
- ✅ Delete article penalty (discourage deletion)
Use rate limiting:
- Read article: 1 day (once per article per day)
- Create article: No limit (earn for each article)
Troubleshooting
Article points not awarded:
- Check Point Rules are published
- Verify plugin is enabled
- Check if article is created from frontend (plugin targets frontend)
- Review access levels
Points awarded multiple times:
- Enable rate limiting on rules
- Set duplicate assignments = 1
Privacy - Rewardify
Purpose: Provides GDPR compliance features for user data.
Required: Yes (for GDPR compliance)
Features:
- Export user point data
- Delete user point data on account removal
- Privacy policy integration
Configuration
- Go to System → Plugins
- Search for "Privacy - Rewardify"
- Click to open
Settings:
No configurable options - automatic privacy compliance
How It Works
Data Export:
1. User requests data export via Privacy Component
2. Plugin includes all point-related data:
- Total points
- Point history
- Rules triggered
- Dates and references
Data Deletion:
1. User account is deleted
2. Plugin removes associated data:
- Point entries
- User point totals
- Referral information
Compliance
This plugin ensures Rewardify complies with:
- GDPR (EU General Data Protection Regulation)
- CCPA (California Consumer Privacy Act)
- Right to be forgotten
- Data portability
Integration Plugins
Community Builder - Rewardify
Purpose: Awards points for Community Builder profile activities.
Required: Only if you use Community Builder
Events Handled:
- Profile updates
- Avatar uploads
- Profile completion
- User connections
- Wall posts
Configuration
- Go to System → Plugins
- Search for "Community Builder - Rewardify"
- Click to open
- Enable the plugin
Settings:
Currently no plugin-specific settings. Configure point values in Point Rules.
Point Rules Triggered:
com_communitybuilder.profile.update- Update profilecom_communitybuilder.connection.create- New friend connectioncom_communitybuilder.connection.delete- Remove connectioncom_communitybuilder.wall.post- Post on wallcom_communitybuilder.wall.delete- Delete wall post
How It Works
Profile Update:
1. User updates CB profile
2. Plugin detects onAfterUserUpdate event
3. Awards points (if rate limit allows)
4. Typically limited to once per week
Making Connections:
1. User sends connection request
2. Other user accepts
3. Plugin awards points to BOTH users
4. Uses unique reference to prevent duplicates
Wall Posts:
1. User posts on profile wall
2. Plugin detects onAfterUserWallPost event
3. Awards points
4. Can set rate limit if needed
Best Practices
Recommended settings:
- Profile update: 2 points, 7 day rate limit
- Avatar upload: 5 points, once only
- Connection: 3 points each, no limit
- Wall post: 2 points, no limit
HikaShop - Rewardify
Purpose: Awards points for HikaShop e-commerce activities.
Required: Only if you use HikaShop
Events Handled:
- Product purchases
- Order completion
- Product reviews
- Cart actions
Configuration
- Go to System → Plugins
- Search for "HikaShop - Rewardify"
- Click to open
- Enable the plugin
Point Rules Triggered:
com_hikashop.order.create- Complete ordercom_hikashop.product.review- Write reviewcom_hikashop.product.purchase- Buy product
How It Works
Order Completion:
1. Customer completes order
2. Plugin detects order confirmation
3. Awards points based on order value or fixed amount
4. Points added to customer account
Product Review:
1. Customer writes product review
2. Plugin detects review submission
3. Awards review points
4. Can limit to one review per product
HikaShop Payment - Rewardify
Purpose: Allows customers to pay with Rewardify points.
Required: Only if you want point-based payments
Features:
- Use points as payment method
- Convert points to currency
- Partial payment with points
- Point deduction on purchase
Configuration
- Go to System → Plugins
- Search for "HikaShop Payment - Rewardify"
- Click to open
- Configure settings:
Point Conversion Rate:
Example: 100 points = $1.00
Enter: 100 (points per currency unit)
Minimum Points:
Minimum points required to use this payment
Example: 50 points minimum
Maximum Discount:
Maximum percentage of order payable with points
Example: 50% (half with points, half with money)
How It Works
Checkout Process:
1. Customer adds items to cart
2. Proceeds to checkout
3. Selects "Pay with Points" payment method
4. System calculates points needed
5. Checks if customer has enough points
6. Deducts points on order confirmation
Point Deduction:
Order Total: $50
Point Rate: 100 points = $1
Points Needed: 5,000 points
Customer Has: 6,000 points
After Purchase: 1,000 points remaining
Kunena - Rewardify
Purpose: Awards points for Kunena forum activities.
Required: Only if you use Kunena forum
Events Handled:
- Topic creation
- Post replies
- Best answer selection
- Post likes
Configuration
- Go to System → Plugins
- Search for "Kunena - Rewardify"
- Click to open
- Enable the plugin
Point Rules Triggered:
com_kunena.topic.create- Create topiccom_kunena.post.create- Reply to topiccom_kunena.answer.best- Answer marked as best
Best Practices
Forum engagement:
- Create topic: 5 points
- Post reply: 2 points
- Best answer: 10 points
- Post delete: -5 points
JomSocial - Rewardify
Purpose: Awards points for JomSocial social network activities.
Required: Only if you use JomSocial
Similar to Community Builder plugin, but for JomSocial events.
EShop - Rewardify
Purpose: Awards points for EShop e-commerce activities.
Required: Only if you use EShop
Similar to HikaShop plugin, but for EShop events.
Plugin Management
Enabling Plugins
Enable required plugins:
- System → Plugins
- Filter by "rewardify"
- Check Status column
- Click status icon to enable
Priority order:
- ✅ User - Rewardify (core)
- ✅ Privacy - Rewardify (GDPR)
- ✅ Content - Rewardify (if using articles)
- ✅ Integration plugins (if using those extensions)
Plugin Order
Plugins execute in order. For Rewardify, order usually doesn't matter, but you can adjust:
- Go to System → Plugins
- Filter by "rewardify"
- Use drag handles to reorder
- Save ordering
Disabling Plugins
To temporarily stop awarding points:
- Go to System → Plugins
- Find the specific plugin
- Click green checkmark to disable
- Points will not be awarded until re-enabled
Disabling a plugin doesn't remove existing points, only prevents new points from being awarded.
Creating Custom Plugin
For developers who want to integrate custom extensions:
Plugin Structure
namespace Joomla\Plugin\System\MyPlugin\Extension;
use Joomla\Event\SubscriberInterface;
use Rewardify\Component\Rewardify\Administrator\Points\UserPointsFactoryInterface;
final class MyPlugin extends CMSPlugin implements SubscriberInterface {
public static function getSubscribedEvents(): array {
return [
'onMyCustomEvent' => 'awardPoints',
];
}
public function awardPoints($event): void {
$component = $this->getApplication()->bootComponent('com_rewardify');
if ($component instanceof UserPointsFactoryInterface) {
$component->getUserPoints()->assign([
'rule' => 'com_myextension.custom.action',
'userid' => $userId,
'ref' => $referenceId,
'title' => 'Custom Action',
'description' => 'User performed custom action',
]);
}
}
}
See Also
Troubleshooting All Plugins
Plugin Not Working
Universal checklist:
- ✅ Plugin is enabled
- ✅ Plugin has correct order
- ✅ Point rule is published
- ✅ Point value is not zero
- ✅ Access level is correct
- ✅ Rate limit is not blocking
- ✅ Cache is cleared
Finding Which Plugin Triggered
Check point history:
- Components → Rewardify → Points
- Find the point entry
- Look at Rule Name column
- This tells you which plugin awarded it
Testing Plugins
Test each plugin:
- Enable plugin
- Perform the action
- Check user points immediately
- Review point history
Example test for User plugin:
- Create test user account
- Check if registration points awarded
- Login as test user
- Check if login points awarded
Best Practices
1. Enable Only What You Need
Don't enable all plugins:
- ✅ Enable plugins for extensions you use
- ❌ Don't enable HikaShop plugin if you don't have HikaShop
2. Configure Point Rules First
Before enabling plugins:
- Set up point rules
- Test point values
- Configure rate limits
- Then enable plugins
3. Test in Stages
Enable plugins gradually:
- Start with User plugin
- Test registration/login
- Add Content plugin
- Test article points
- Add integration plugins one by one
4. Monitor Performance
Too many active plugins can affect performance:
- Monitor page load times
- Check database queries
- Optimize point rules
- Use caching appropriately
5. Document Custom Configuration
Keep notes on:
- Which plugins are enabled
- Custom point values
- Rate limit settings
- Access level decisions
Next: Customization Guide →