This is a unique table that behaves differently from the others.
The main thing to understand is that user scores are are derivative of other events. When a regular event is recorded (say, an event on the "cards" table), 0-2 events are also recorded to user scores.
Only certain events have associated scores. The events which do produce scores are configured with the following 3 criteria:
- The points given to the actor (the user performing the action).
- The points given to the owner (the user whos content was acted upon).
- The points given to the user when actor and owner are the same (a user is acting upon their own content).
For example, the
card_viewed event has the following configuration:
actor: 10 owner: 20 actor_and_owner: 0
If UserA views one of UserB's cards, two score events will be recorded:
user_id='<UserA.id>', role='actor', score_value=10 user_id='<UserB.id>', role='owner', score_value=20
If UserA views their own cards, a score score event is recorded with the role 'actor_and_owner' and a value of zero:
user_id='<UserA.id>', role='actor_and_owner', score_value=0
Note: In the near-future we will remove user score event with a value of zero
|actor_id||The user whose action caused this score event|
|owner_id||The user who 'owns' the content that was 'acted upon', e.g. the card author|
|score_value||The number of score points assigned|
|event||The original event which prompted this score assignment, e.g. card_viewed|
|role||The "role" that the score was assigned to. Either "actor", "owner", or "actor_and_owner"|
|user_id||The user receiving the score|
The following table shows the events which do have associated score values, and the specific scores assigned to each role: