-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MU] List inactive users #1298
Comments
key could be the |
Please detail the webadmin route |
Cc @guimard |
Could be something like:
|
No lets actually just expose what is stored. We can add further per user info as: ip, mail user agent Often that's very usefull for audit. We shall separate IMAP and SMTP How about:
]
curl -XGET /reports/users/connection?activityDuration=3month would return a list of user active during this duration
|
Why
MU requires us the ability to report the inactive users list for example the users who have not used our services in the last 3 months.
We need to record the users's login activity.
Today we have user login activity using
AuditTrail
with login logs stored in Loki. However upon large data size (TMail produces a lot of logs), Loki strips a part of the logs to give an in-time response, which makes the users activity analysis not reliable.We need to store that piece of information somewhere else rather than Loki.
How
Storage
Redis seems to be the suitable storage for the need: famous for session data use case, fast write, AOF seems reasonable for data backup (could accept a bit of data lag for user activity use case).
Code change
We likely could override
Authenticator
e.g. write aTMailUserRepositoryAuthenticator
that injectsUserRepositoryAuthenticator
with the Redis part to publish the user login information.For Redis data structure, we can likely use SET:
We would need a webadmin route to list:
We would need to have a module chooser to enable the user login recording module.
DoD
Integration tests + docs.
Could be another task to deploy the work on MU after careful testing.
The text was updated successfully, but these errors were encountered: