Update usage metrics: Settings
This issue is about informing the user about what we track, and providing the option to stop the tracking.
Prework was done in: #1023+
What to do?
In #1023 we made the logging jobs injectable. We can make use of that in order to add new menu entries.
-
Add a new SettingsGroup ('Usage analysis') -
In 'Usage analysis': -
Add a SettingsEntry for 'Allow usage analysis' (default: true), if set to false disable the following: -
For every logging job add another boolean entry: -
Show their label -
Show their description -
Show how often the id rotates if it gets transmitted. -
If the Job requires consent ( RccUsageLoggingJob.requiresConsent
) the default should be false, otherwise true.
-
-
-
Update RccUsageLoggingService such that .event$ only emits for a job if both 'Allow usage analysis' is set to true and the job's respective SettingsEntry is also set to true. -
Write unit test to see if the values of the setting entries can actualy be retrieved and RccUsageLoggingService logs excatly the one that are allowed.
To disable the settings entries for the job, you can probably use Setting.formControl. (If this turns out to be especially difficult, please add a new issue and skip).
Rotating Ids: RccUsageLoggingJob.userId
can be one of : 'none' | 'daily' | 'weekly' | 'monthly`. I would like to represent 'none' as 'anonymous' and everything else as 'pseudonymous(rotating daily)/pseudonymous(rotating weekly)..' as a first attempt. Any suggestions for better labeling?
If you find a way to label the rotating id bit, that you like, – go for it. Otherwise add an issue to find a proper labeling :)