As part of the Tour component PR, I searched for a persistent mechanism for seen tours
(If a user already observed a tour and clicked on
Got it, it shouldn’t be popped out again)
At first, I implemented it as a seen list blob within the user table
But, on secondary thought, why not to extend it to a generic
user preferences table?
Foreman already has a user’s
table preferences table, which store user’s picked columns, how about generalize it ?
Table preferences attributes
name: string, columns: serialized
User Preferences Attributes
name: string, kind: string, value: serialized
Data example for records
- ‘breadcrumbs’, ‘tour’,
- ‘hosts’, ‘table’,
- ‘per_page’, ‘settings’,