@aaronlbpeterman Let's move this convo here. That's a bit odd since there's tests in place that should prevent that. Which version of the extension are you using (should be listed in the header), and can you share a screenshot of your config for the trust level in question?
Trust Levels (Automatic Group Assignment)
- Edited
askvortsov
v0.1.3 so extension is up to date
Screenshots:
Edit
@askvortsov @SKevo
Edit: I've tested it on another FF forum, still got the same result (I've got the rank even when out of boundaries). Can someone test and confirm?
- Edited
I'm going to throw a few wild ideas out there for possible features.
Weighted Scoring
A scoring system which allows the trust level to be created based on a numeric score that is calculated by assigning a value to each enabled metric. This could allow weighing certain metrics more than others depending on what the trust level is for while still allowing each to count towards the same trust level (e.g. 5 points for each best answer, 2 points per like received, 1 point per post). If implemented there would be two options for trust level criteria, the current per metric value/ranges or a total score (sum of all enabled metrics scores).User Rep
This calculated score above per user could even be displayed as "Rep" (or some user chosen string) on the users profile. A user could see their rep, and if the scoring criteria was published by an admin (e.g. 100 rep for trust level 1, 200 rep for trust level 2), then a user would see their progress to the next trust level. If they have no information on what the thresholds were for the trust levels they'd still have a cool Rep score to look at and perhaps encourage them to keep doing well in their community. Perhaps a permission control for who can view this on a users profile (admin, only self, all members..)Give Rep (Achievements/Awards)
Admins could reward users with more rep/points based on actions possibly not tracked by any forum metrics. Perhaps they made some excellent PR's or provided outstanding support to some users on discord so you decide to give them 100 points/rep. Now this one, I am not sure if it would fit into this extension or may even be a better fit for a separate extension (like an Achievement or Award extension) that trust level could just hook into like any of the other metrics and fetch the achievement count or total points given for all. If it were a separate extension, when an achievement/award is given the user could get some cool badge with an assigned value of points which are all visible from their profile under an awards/achievements tab. However, now that I typed this out I am thinking it would be kind of cool to get achievements automatically as well based on different criteria where you could define these milestones (e.g. first post, 100 posts, 1000 posts, or any of the supported metrics) but that is also something that trust levels already has the smarts and logic to be able to do. Maybe this trust levels extension could offer both features (group assignment & achievements) through a toggle which sets the criteria to be for a group assignment or achievement, or maybe this extension can be forked and also serve as an achievement extension??
It would be nice to be able to export all of these metrics of users or view in a table so one could easily see who has the most rep, posts, logins, likes, best answers etc. If I had access to that I could actually take a snapshot at the first of the month, see who had the most likes, or best answers in a month and give an award that provides rep. I am sure people would find other ways to make use of that data. This may also be outside the scope of this extension, perhaps a better fit for an expanded user directory extension or a completely new one.
v0.1.4
- Added a console command to recalculate trust levels for all users on demand (implemented by @JasperVriends, thank you very much!!!)
- Fixed aaronlbpeterman
- Fixed lypdarling
aaronlbpeterman I really like the idea of likes received and the best answers metric. I would brainstorm upon new metric ideas however never saw a full list of metrics available. Any ideas where can I find something like this?
The bundled ones are listed here: https://github.com/askvortsov1/flarum-trust-levels/tree/master/src/Metric (the ones that end in Driver
)
Development Roadmap
I have a lot of plans for this extension, wanted to share a few:
- A UX redesign that will scale better as many metrics are added; each trust level will probably get a page rather than a modal
- In addition to metrics, I want to support "requirements". These are abstract boolean conditions that can be required / not required for a given trust level. For example, "User is not suspended", or "User's email contains some arbitrary string". Each requirement will need to be implemented as a driver, but those drivers will be able to declare their own settings. So for instance, a "requirement" could be "user's email has the domain
X
", and that X could be configured in settings for each trust level. - I absolutely love @ctml 's weighted scoring idea, this is (eventually) happening
- The calculated weight score, as well as the individual metrics for users, will be saved to the database and exportable (That's covered under User Rep + exportability)
- This is going to be a tough one, but "trust level types". Instead of just assigning/deassigning groups, alternative trust level types could suspend/unsuspend users, award/rescind badges (if such an extension is made), or take some other arbitrary action. This would also support custom drivers. Furthermore, these drivers would support listening in on custom events, not just on login. So for example, a moderator warnings integration could run recalculation whenever a new warning is issued, and if some strike threshold is reached, suspend the user being warned. With this implemented, this extension would effectively become a vastly flexible, extensible, and powerful auto-moderator.
I don't plan to implement badges/achievements in this extension, but if a badges/achievements extension comes up, I will gladly add integrations for it here.
askvortsov Thanks! So I guess I should inform @SKevo that fix is available.
aaronlbpeterman I'll update extensions now, but you will need to wait for it to be synced in a bit
SKevo Ok. For the future is it aproperiate way of informing about extension update? Or should I post it in our thread?
aaronlbpeterman the "official" way is through GitHub. Although I've never seen anyone request an update there (GitHub doesn't receive much attention in general, I want to look for ways to put it more on eyes). Maybe it's because that I keep every extension up-to-date once in a while (approx. every week).
You can just ping me anywhere, even on Discord, write me a mail or send a letter - I'll get the message. As for appropriate way, then that's GitHub, but I think that extension update isn't that big deal to be requested in an issue. A simple message will do the trick
- Edited
I would like to point out one potential enhancement. I don't know whether it would be hard to implement but whatever. One genious idea is to let advance from one rank to another (old rank is replaced with new one). Example based on likes:
Liked (50 likes) >> Popular (150 likes) >> Loved One (300 likes)
Edit.
Oh Its actually possible sorry xD
aaronlbpeterman This is made slightly more complex because these trust levels are unordered (not really levels), so a user can have several or none at once.
- Edited
askvortsov What I did is:
Liked: 50 <= x <= 149
Popular: 150 <= x <= 299
Loved One: 300 <= x
It works just fine. When users stops satisfying previous range old rank goes off and new one is on.
- Edited
What is the command to recalculate the memberships?
malago trust levels are recalculated when users log in. I believe the command is php flarum trustlevels: recalculate
askvortsov It works!
One thing I noticed, I am planning to add a lot of trust levels as a way to reward my users with new ranks and the list is growing too much for it to be shown in the dropdown area!
When I click "Select a group", I cannot see the last groups since they are going below the modal height. Any way you can fix this?
Thanks!
v0.2.0
Update for beta 16
malago One thing I noticed, I am planning to add a lot of trust levels as a way to reward my users with new ranks and the list is growing too much for it to be shown in the dropdown area!
When I click "Select a group", I cannot see the last groups since they are going below the modal height. Any way you can fix this?
Thanks!
I have a big UX refactor planned, no guaruntee as to the date yet unfortunately.
[deleted]
I want site administrators not to be included in these groups. what can I do?
[deleted] This currently isn't supported, but I might eventually add support via "conditions"
[deleted]
- Edited
How can I use php flarum trustlevels: recalculate
command. This code did not work in ssh
[deleted]