Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openedx/edx-enterprise-data
The edX Enterprise Data repo is the home to tools and products related to providing access to Enterprise related data.
https://github.com/openedx/edx-enterprise-data
Last synced: 7 days ago
JSON representation
The edX Enterprise Data repo is the home to tools and products related to providing access to Enterprise related data.
- Host: GitHub
- URL: https://github.com/openedx/edx-enterprise-data
- Owner: openedx
- License: agpl-3.0
- Created: 2017-10-04T19:19:49.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T12:57:41.000Z (about 2 months ago)
- Last Synced: 2024-10-29T13:32:58.084Z (about 2 months ago)
- Language: Python
- Size: 1.13 MB
- Stars: 11
- Watchers: 73
- Forks: 11
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
# edx-enterprise-data
The edX Enterprise Data repo is the home to tools and products related to providing access to Enterprise related data.This repository is currently split into 2 folders: enterprise_reporting and enterprise_data
## enterprise_data app
This django app exposes a REST api endpoint to access enterprise learner activity. The enterprise-data app is published
to pypi as a library and installed into the [edx-analytics-data-api](https://github.com/openedx/edx-analytics-data-api/) project
and uses OAuth JWT authentication from [edx-drf-extensions](https://github.com/openedx/edx-drf-extensions/blob/4569b9bf7e54a917d4acdd545b10c058c960dd1a/edx_rest_framework_extensions/auth/jwt/authentication.py#L17).## Prerequisites for develpment
* [LMS](https://github.com/openedx/devstack)
* [edx-analytics-data-api](https://github.com/openedx/edx-analytics-data-api/) - Follow devstack setup instructions in here.## Setup for local development (Deprecated, prefer running in devstack)
This app is meant to be installed as an app in [edx-analytics-data-api](https://github.com/openedx/edx-analytics-data-api/).
1. Create a directory in your filesystem that has the `edx-analytics-data-api` repo in it. Create a folder `src`, and clone this repo into the `src` directory.
1. Complete the setup in the README of `edx-analytics-data-api`
1. Navigate to `edx-analytics-data-api` and activate your virtualenv.
1. In the `edx-analytics-data-api` folder, run `make requirements`
1. Run `pip install -e ./src/edx-enterprise-data`
1. Run `./manage.py runserver`## Running migrations locally
The default database configured by devstack is `analytics-api`. If you wish to run migrations on other databases,
run `./manage.py migrate --database analytics_v1` or `./manage.py migrate --database analytics` in the `edx-analytics-data-api` container.## Frontend
Much of the data from this app is consumed by [frontend-app-admin-portal](https://github.com/openedx/frontend-app-admin-portal/).
Follow the instructions in that README to set it up.Management commands for creating development data are below.
### Management Commands for Devs
For the convenience of creating some test data in a local setup, there are some management commands that exist.
To create a test enterprise, go into the [lms shell][LMS](https://github.com/openedx/devstack) and run `./manage.py lms seed_enterprise_devstack_data`
You can then use the test enterprise's UUID for the following commands.These commands can be run from this repo or from `edx-analytics-data-api`.
The simplest way to start is to create dummy learner progress data for your test enterprise:To create 10 users, each with 5 enrollments, using faked data. Running multiple times will create more users and enrollments.
```
./manage.py create_dummy_data_lpr_v1
```Now visit http://localhost:1991/pied-piper/admin/learners to see this dummy data in the learner progress report.
#### Additional commands
To create an EnterpriseUser with a EnterpriseCustomer UUID of your choice, you can run the following:
```
$ ./manage.py create_enterprise_user
```The management command uses a faker factory to fill the attributes of the object created in your DB, and will print out a command on the command line you can run if you want to add EnterpriseEnrollments for the user.
To create an EnterpriseEnrollment for an EnterpriseUser with a certain `enterprise_user_id` (that also shares the same EnterpriseCustomer UUID as an EnterpriseUser in your DB), you can run the following:
```
$ ./manage.py create_enterprise_enrollment
```## enterprise_reporting scripts
This folder contains a set of scripts used to push enterprise data reports.
It supports multiple delivery methods (email, sftp) and is triggered through jenkins scheduled jobs.## enterprise_data_roles app
This app contains user roles and role assignments to manage user permissions on resources.