askvortsov/flarum-trust-levels
Automatically assign groups based on activity.
Maintainers
Package info
github.com/askvortsov1/flarum-trust-levels
Type:flarum-extension
pkg:composer/askvortsov/flarum-trust-levels
Requires
- flarum/core: ^0.1.0-beta.16
- illuminate/console: *
Requires (Dev)
- flarum/likes: ^0.1.0
- flarum/testing: ^0.1.0
- fof/best-answer: *
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT d34a941ae42b1bb4b5adf2e598b1fa100f0ef6aa
- Alexander Skvortsov <askvortsov.woop@flarum.org>
README
👁 License
👁 Latest Stable Version
A Flarum extension.
- Trust levels allow you to automatically manage group membership based on users' activity.
- Each trust level defines criteria that must be met (e.g. discussions started, posts made, etc), and a group.
- Users are automatically added to groups for all the trust levels that they qualify for when they log in.
- Other extensions (or local extenders) can add their own "metric drivers"
Inspired by Discourse's trust level system.
Please Note
- Since these groups are managed automatically, we recommend maintaining a separate set of groups for trust levels.
- If you delete a trust level, you should also delete the associated group; otherwise, users in that trust level will remain in that group.
- To prevent errors, you cannot update a trust level's group after it has been created.
- Any metrics left disabled will not be counted. If all metrics are disabled for a given trust level, ALL users will receive that level.
- If a group is managed by multiple trust levels, the user will be added to the group as long as they are in at least one of the trust levels.
Extensibility
This extension is extremely flexible, and can be extended to add custom metric drivers! If your extension or community has some custom metrics that are important for automatically managing groups, you can make a custom metric driver by implementing Askvortsov\TrustLevels\Metric\MetricDriverInterface, and registering that driver via the Askvortsov\TrustLevels\Extend\TrustLevel extender.
TODO:
- Add support for more metrics:
- Posts read
- Time spent on forum
- Days visited
- Days since account creation
- Etc
- Add support for dated metrics (discussions created in the past X days)
- Develop a data collection extension, which could cache things such as like counts, to improve performance on large forums
Screenshots
👁 Admin
👁 Set Metrics
👁 Edit User
Installation
composer require askvortsov/flarum-trust-levels
Updating
composer update askvortsov/flarum-trust-levels
