integreat-cms icon indicating copy to clipboard operation
integreat-cms copied to clipboard

Add cross-region statistics to admin dashboard

Open dkehne opened this issue 2 years ago • 1 comments

Motivation

We have a some activities and actions which are measured by quantitative numbers, e.g.

  1. active contributors in Integreat and active contributors per region
  2. API usage statistics for all regions
  3. which language is used how often
  4. how many instances are online/hidden
  5. whats the average amount of words?
  6. whats the average translation status (how many pages are up to date, how many are not up to date

Proposed Solution

We could develop a analytics dashboard to show up this figures. does not need to be too graphical, because it is just for us to see if things develop the right way.

Alternatives

Additional Context

dkehne avatar May 17 '22 11:05 dkehne

I'd add

  • region wide broken link checker with the option to replace centrally: #1443
  • number of active regions

osmers avatar May 17 '22 11:05 osmers

For reference: 2. is not relevant anymore since this will be solved in INFRA-281

timobrembeck avatar Nov 07 '22 14:11 timobrembeck

Should be transfered to Jira

JoeyStk avatar Mar 06 '23 13:03 JoeyStk

However, I wouldn't put too much Python code on our production servers without the normal reviewing process of our cms repo. So instead, I suggest to wait for https://github.com/digitalfabrik/integreat-cms/pull/2071 to get merged and implement all the stats methods as management commands, which can then be called on the prod server to write the stats to grafana. This would mean that this issue can remain open and tracks the development process of the management commands itself (which query the data from the database and write the result to stdout)...

timobrembeck avatar Mar 06 '23 13:03 timobrembeck

@timoludwig yes, that's exactly what we discussed - we want to have all those statistics in grafana which is why Sven will transfer it to Jira Infra Board for himself

osmers avatar Mar 06 '23 13:03 osmers

Yes, but I wouldn't recommend to implement these functions as scripts running only on the production server - instead, we should develop them as part of this repository (which also means we can properly test them), so the infra part can be reduced to "execute one command and send the result to grafana"...

timobrembeck avatar Mar 06 '23 13:03 timobrembeck

I think it depends on what we need the data for and how often we need it. If this is some kind of frequent and permanent process that uses the information, then yes. If we only need this once or a few times, I'd reduce the effort as much as possible.

We may need some use cases or user stories for the different kinds of information.

Let's have a look at the individual points:

  1. is already done. Sure, could be moved into this repo as a CLI tool
  2. I think this can definitely be considered outside of the scope of the CMS itself
  3. Could be included in #2055 ?
  4. Not sure if that needs to go on a dashboard? This does not really provide actionable information.
  5. Average amount per region or per page? What is this information used for?
  6. Only seems useful if we can derive any action from it? We would still have to look into the individual regions to see where we need to act and how?

I think we would need a table with all regions in it and the following columns:

  • region name
  • avg amount of words per page(??)
  • used languages (only flags/icons with mouse over?)
  • number of non-archived pages
  • number of not up to date pages

As this is probably too large for the dashboard, I'd move it into a new location.

AFAICT this list would mainly serve one purpose: find regions where the content is not up to date.

svenseeberg avatar Mar 06 '23 13:03 svenseeberg

AFAICT this list would mainly serve one purpose: find regions where the content is not up to date.

@dkehne @osmers could you please provide some user stories or use cases?

svenseeberg avatar Mar 06 '23 16:03 svenseeberg

We will convert this issue into some tasks for Grafana.

dkehne avatar Sep 11 '23 14:09 dkehne