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

ENT-9229: Added a new API endpoint to get admin analytics aggregated data on user enrollment and engagement. #466

Merged
merged 1 commit into from
Jul 30, 2024

Conversation

saleem-latif
Copy link
Contributor

Jira Ticket: ENT-9229

Description:
This endpoint will return aggregated statistics for enterprise learners

  1. Enrollment count in the given date range
  2. Distinct course count for the enrollments in the given date range
  3. Daily session average
  4. Learning hours
  5. Completions count
  6. Last updated at (Date time when the data was last updated)
  7. min enrollment date
  8. max enrollment date

Merge checklist:

  • Any new requirements are in the right place (do not manually modify the requirements/*.txt files)
    • base.in if needed in production but edx-analytics-data-api doesn't install it
    • test-master.in if edx-analytics-data-api pins it, with a matching version
    • make upgrade && make requirements have been run to regenerate requirements
  • make static has been run to update webpack bundling if any static content was updated
  • ./manage.py makemigrations has been run
    • Checkout the Database Migration Confluence page for helpful tips on creating migrations.
    • Note: This must be run if you modified any models.
      • It may or may not make a migration depending on exactly what you modified, but it should still be run.
    • This should be run from either a venv with all the edx-analytics-data-api requirements installed or if you checked out edx-enterprise-data into the src directory used by edx-analytics-data-api, you can run this command through an edx-analytics-data-api shell.
      • It would be ./manage.py makemigrations in the shell.
  • Version bumped
  • Changelog record added
  • Translations updated (see docs/internationalization.rst but also this isn't blocking for merge atm)

Post merge:

  • Tag pushed and a new version released
    • Note: Assets will be added automatically. You just need to provide a tag (should match your version number) and title and description.
  • After versioned build finishes in Travis, verify version has been pushed to PyPI
    • Each step in the release build has a condition flag that checks if the rest of the steps are done and if so will deploy to PyPi.
      (so basically once your build finishes, after maybe a minute you should see the new version in PyPi automatically (on refresh))
  • PR created in edx-analytics-data-api to upgrade dependencies (including edx-enterprise-data)
    • This must be done after the version is visible in PyPi as make upgrade in edx-analytics-data-api will look for the latest version in PyPi.
    • Note: the edx-enterprise-data constraint in edx-analytics-data-api must also be bumped to the latest version in PyPi.

"""
Fetch the latest created date from the enterprise_learner_enrollment table.
"""
query = "SELECT MAX(created) FROM enterprise_learner_enrollment"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all rows have the same date ...

@saleem-latif saleem-latif force-pushed the saleem-latif/ENT-9229 branch 3 times, most recently from 64048bf to cfa8073 Compare July 26, 2024 09:26
Copy link
Contributor

@irfanuddinahmad irfanuddinahmad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! ... once green

@saleem-latif saleem-latif force-pushed the saleem-latif/ENT-9229 branch from cfa8073 to 92f0b51 Compare July 26, 2024 11:07
@saleem-latif
Copy link
Contributor Author

@muhammad-ammar I am facing this issue where latest version of numpy and pandas are not compatoble for python 3.8 and numpy and pandas versions compatible with 3.8 and not supported on 3.12.
Can we remove 3.8 from the supported python versions? or is there a reason we are supporting an older version?

@saleem-latif
Copy link
Contributor Author

I see the analyticsapi is on 3.8, Maybe we can drop support for 3.12?

@UsamaSadiq Can you take a look at this?

@UsamaSadiq
Copy link
Member

I believe it would be better to pick up edx/edx-analytics-data-api#1 and complete the Python 3.12 upgrade instead of dropping the support.

@saleem-latif
Copy link
Contributor Author

I have created tickets https://2u-internal.atlassian.net/browse/ENT-9285 and https://2u-internal.atlassian.net/browse/ENT-9286 for this work. Hopefully, the team will have the capacity to pick these up in the coming sprint.

@saleem-latif saleem-latif force-pushed the saleem-latif/ENT-9229 branch from 92f0b51 to fdb6ca7 Compare July 30, 2024 07:11
@saleem-latif saleem-latif merged commit 0dfab00 into master Jul 30, 2024
6 checks passed
@saleem-latif saleem-latif deleted the saleem-latif/ENT-9229 branch July 30, 2024 07:25
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

Successfully merging this pull request may close these issues.

3 participants