View Issue Details

IDProjectCategoryView StatusLast Update
4917Composrpointspublic2022-10-02 00:17
ReporterChris Graham Assigned ToPDStig  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Summary4917: Redesign how points work, for greater transparency
DescriptionIt'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.
TagsRoadmap: v11
Attach Tags
Time estimation (hours)12
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Activities

Chris Graham

2022-09-11 21:58

administrator   ~7507

The tutorial will need combing over after these changes, as there is a lot of caveat wording that would be simplified down.

PDStig

2022-09-13 18:10

administrator   ~7510

Last edited: 2022-09-13 23:25

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.

Issue History

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