Skip to content
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

track time a new user account was requested #3378

Closed
sjanssen2 opened this issue Mar 1, 2024 · 4 comments
Closed

track time a new user account was requested #3378

sjanssen2 opened this issue Mar 1, 2024 · 4 comments

Comments

@sjanssen2
Copy link
Contributor

Thinking about performance indicators, it would be nice to show an increase in validated users over time. Is there any information about when a user account was created or validated? If not, are there arguments against tracking this in the database?

I am not sure what your mechanism for validating a newly registered user is, I'd love to have a simple admin page with all registered but not validated accounts with a tickbox and one submit button which would than issue the validating action of all ticked users. I figure it would also be useful to sort this list according on registration date.

@antgonza
Copy link
Member

This will be great. I think also having a button to purge non-validated users (all or one by one) will be really useful - sometimes this happens when the user inputs their email incorrectly.

Anyway, FWIW, we normally track this information using the https://qiita.ucsd.edu/stats/ information; in summary: We have a nightly cron-job that updates the information in redis and inserts that version into SQL; then we can see how many new users, studies, samples, etc have been created in those dates.

@sjanssen2
Copy link
Contributor Author

If I read the SQL statement correctly, you simply count the number of rows of table qiita.qiita_user

qiita/qiita_db/util.py

Lines 1265 to 1268 in 13eafdf

with qdb.sql_connection.TRN:
sql = "SELECT count(1) FROM %s" % table
qdb.sql_connection.TRN.add(sql)
return qdb.sql_connection.TRN.execute_fetchlast()
regardless of users being verified or not?

Isn't redis an in memory DB? What if the machine fails? Do you have backups on disk or would you loose the user growth information? Would you mind if I add another column to qiita.qiita_user to log the date of user activation? Having this date should always provide means to reconstruct this growth. I am asking, because our consortium currently discusses performance indicators and number of user is one of the key candidates.

@antgonza
Copy link
Member

  • regardless of users being verified or not?:
    • That sound about right; fine to change to verified users if you think it's better.
  • Isn't redis an in memory DB?:
    • yes, it is.
  • What if the machine fails?:
    • We used it for two things: (1) errors/warnings/etc messages are not stored so these will be lost - which I still think is not a bit issue; and (2) user profiles for faster retrieval - this one is populated at the start
  • Would you mind if I add another column to qiita.qiita_user to log the date of user activation?:
    • Sounds great! Thanks

This was referenced Jun 19, 2024
@sjanssen2
Copy link
Contributor Author

addressed by #3416 and #3417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants