We need to log whenever someone access but not necessarily every time they see that information. For instance, if I were clicking between IP A and B repeatedly on Special:RecentChanges to see if someone were a sockpuppet, I don't want to spam the log table with every single click. Since we don't know how people will be using this tool necessasrily, we've settled on logging the access once a day and seeing how we like that. We want to be able to adjust that number of necessary. Since there's a logic check before writing to the log table and since both the popup and the accordion will have to use it, it might be sensible to split the function into something both `PopupHandler.php` and `InfoBoxHandler.php` can call (API endpoint?)
- <type>Handler.php should just be able to call something like `$this->api->logAction( params )` and not care about any conditions to logging
- The debounce time should be configurable
- The logger checks the log table and if it sees that the action has already been logged in the last 24 hours (rolling), does not log again
- If it's unique to the last 24 hours, the logger writes the action to the table
- the action should be, at the very least, unique on performer and IP. Depending on if we want granularity on how much data someone has access toThe action should be unique on all of these: Performer, it could also be unique based on access level and type (popup or accordion) as well.IP, cc @Niharika?Access level and type (popup or accordion)