View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
4917 | Composr | points | public | 2022-09-02 21:01 | 2022-10-02 00:17 |
Reporter | Chris Graham | Assigned To | PDStig | ||
Priority | normal | Severity | feature | ||
Status | resolved | Resolution | fixed | ||
Summary | 4917: Redesign how points work, for greater transparency | ||||
Description | It's always been the case that points are calculated on the fly, from a number of variables. Sometimes this is via hidden CPFs, sometimes it's just by counting stuff in the database or looking at the passage of time. This is for 2 reasons: 1) On non-Conversr forum drivers we cannot track when new posts happen, or new members join 2) It would be very tedious to list out every single forum post etc someone makes on the ledger I think we could do better though. I think it's important for 2 reasons: i) For accountability we should be able to show EXACTLY how points are earned, not relying on tallies ii) Having point totals fluctuate as configuration options are changes is not good when people can give points to others, you could end up negative through no fault of your own We could consider changing this by introducing a couple of new approaches: a) Assign points for forum posts, and to new members, via nightly Cron hook checks to see what's happened b) Have a concept of a 'low_info' transaction. By default 'low_info' transactions would all be folded together when looking at the ledger. There'd be a toggle to show the full detail. Also, we could implement a feature to download a CSV of the ledger for a particular user, or for all users. Document this as a way of the system providing accountability to users. Also document that the points RSS feed does the same. Making these changes may allow us to calculate points directly from the ledger. We'd import any CPFs from v10 as legacy ledger records, then delete them. This then allows leaderboard generation to be far more efficient, which is another big advantage. Alter that so it can pull stuff via a simple ORDER BY query and not have to read in every member. | ||||
Tags | Roadmap: v11 | ||||
Attach Tags | |||||
Time estimation (hours) | 12 | ||||
Sponsorship open | |||||
|
The tutorial will need combing over after these changes, as there is a lot of caveat wording that would be simplified down. |
|
NTS: The case of cron hooks for forum post activity would only be for non-Conversr forums. Also, we have determined the best course of action would be to continue using CPFs, however: a) CPFs for points would be fudged off of the UI even for super admins to prevent tampering, and b) The values for the CPFs would be re-calculated as appropriate via the records in the ledger; determining the mapping between the ledger record and the appropriate CPF would be done via the code_explanation column. EDIT: only high-level points info will be a CPF: at this time, just points_balance. |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-09-02 21:01 | Chris Graham | New Issue | |
2022-09-03 20:32 | Chris Graham | Tag Attached: Roadmap: v11 | |
2022-09-03 20:32 | Chris Graham | Assigned To | => user4172 |
2022-09-03 20:32 | Chris Graham | Status | Not Assigned => Assigned |
2022-09-03 20:35 | Chris Graham | Description Updated | |
2022-09-03 20:41 | Chris Graham | Description Updated | |
2022-09-11 21:58 | Chris Graham | Note Added: 0007507 | |
2022-09-13 18:10 | PDStig | Note Added: 0007510 | |
2022-09-13 18:11 | PDStig | Note Edited: 0007510 | |
2022-09-13 23:25 | PDStig | Note Edited: 0007510 | |
2022-10-02 00:17 | PDStig | Status | Assigned => Resolved |
2022-10-02 00:17 | PDStig | Resolution | open => fixed |