DataWareHouse
On this page:
The DataWareHouse is a PostgreSQL database where the Moodle data is saved after it has been transformed by NiFi pipelines. It contains very few tables, compared to Moodle original database, but it can easily generate views with critical data, which is used in the different dashboards.
PostgreSQL Installation
Download PostgreSQL Docker image.
docker pull postgres
Create the container. Replace <password> with the actual password.
docker run --name datawarehouse -p 127.0.0.1:5432:5433/tcp -e POSTGRES_PASSWORD=<password> -d postgres
docker run --name datawarehouse -p 127.0.0.1:5432:5433/tcp -e POSTGRES_PASSWORD=<password> -d postgres
docker exec -ti <container ID> bash
psql -h localhost -p 5432 -U postgres -d postgres
ALTER USER postgres WITH PASSWORD '<password>';
CREATE DATABASE zwe_analytics;
DataWareHouse Creation
Enter the PostgreSQL Docker. First, get the container ID.
docker ps docker exec -ti <container ID> bash
Use psql to access the postgres database.
Change the postgres user password and create the new database.
Finally, it is needed to download the database file called tables.sql from the following repository: https://github.com/KnowTechTure/ZWE_NiFi. This file contains the definition for 17 tables:
mdl_certificates
mdl_cohorts
mdl_cohorts_x_users
mdl_course_categories
mdl_course_completion
mdl_course_modules_completion
mdl_courses
mdl_enrolments
mdl_feedback_answers
mdl_feedback_metadata
mdl_feedback_questions
mdl_grade_grade
mdl_grade_items
mdl_scorm_scoes_track
mdl_user_roles
mdl_users
mdl_course_modules
After the execution of the file make sure that every table is created accordingly.
After creating the tables, download the database file called views.sql from the following repository: https://github.com/KnowTechTure/ZWE_NiFi. The file contains the definition for 4 views:
zwe_course_grades
zwe_elearning_certificates_view_dev
zwe_elearning_enrolmentscourseunifiedview_dev
zwe_elearning_feebacksview_dev
Finally, execute both definitions into a desired database to create the tables and views.