Skip to content
Marc Normann edited this page Feb 8, 2024 · 7 revisions

HASKI Setup Help

This Wiki should help you to set up the HASKI System in total with the Repository. It will cover the different steps you have to undertake to run the system.


Setup Steps

  • Start the Traefik container in the traefik folder with docker compose up -d
  • Generate the keys for the Backend (follow the instructions here) in the backend/keys folder
  • Start the Moodle Container in the Moodle folder with docker compose up -d
  • Log in to the Moodle System (Inital User Name: user, initial password: bitnami)
  • Go to Site Administration -> Plugins -> Manage Tools to set up the LTI Tool
  • Click on Configure a tool manually

grafik

  • Set the tool settings according to your setup and the picture below (URLs including https://)

grafik

  • Save the changes
  • Open the burger icon in the overview page to get the data for the Backend setup

grafik

  • You need the Client ID and data from the Public keyset URL

grafik

  • Create a course in the Moodle System
  • Add an external tool, where you select the HASKI LTI with the following settings:

grafik

  • To allow the Moodle to be used as an iFrame, go to Site Administration -> General -> Security -> HTTP Security and allow frame embedding here

grafik

  • Next, start the HASKI Database Container in the database folder with docker compose up -d
  • Get the IP Address of the postgres container with docker inspect <id> | grep IPAddress for the Backend setup
  • Adjust the .flaskenv file in the backend folder to your needs. The CLIENT_ID (Client ID), KEY_ID (Public keyset URL -> kid) and KEY_N_VALUE (Public keyset URL -> n) are taken from the Moodle LTI Setup.
  • Start the Backend container with docker compose up -d
  • Start the LRS container in the learning_analytics folder with docker compose up -d
  • Log in to your LRS and navigate to Credentials Management to create your API Key. Press Add new Credentials
  • Take the public and the secret key and encode them as Base64 in the format <public_key>:<secret_key>
  • Navigate to the frontend/config folder and adjust the env.production.json file to your needs. Add the LRS base64-encoded key here with the prefix Basic
  • Next, start the Frontend Container in the frontend folder with docker compose up -d
  • Navigate back to your Moodle System online and install the HASKI Minimal Theme Plug-In in your installation
  • Select the HASKI Minimal Design as default design
  • Install the Moodle xAPI-Plug-In in your installation
  • Setup the Plugin with the following data:

grafik

  • If you do not want to send the data in batches, remove the checkbox at Send statements by scheduled task?
  • Check all boxes in the Filter logs section
  • Save the changes
  • Enable the xAPI-Plug-In

Fill the HASKI System with data

  • Create users within the Moodle system
  • Add all needed users to the course
  • Create topic-sections for your course
  • Upload all learning elements to the course
  • Add the data to the HASKI DB

FAQ

How can I find the IDs in Moodle?

To find the IDs in Moodle, hover over the user/the course/ the learning element to see the link preview. Within the link, you typically find something like "id=xyz", where xyz is a number and the needed lms_id.

What tables do I need to fill in the HASKI DB and in which order?

In order to run a minimum filled HASKI System, follow these steps and fill the tables in this order:

  • haski_user
  • teacher/course_creator/student/admin
  • settings
  • course
  • course_creator_course
  • topic
  • course_topic
  • learning_element
  • topic_learning_element
  • learning_characteristics
  • learning_style
  • knowledge
  • learning_analytics
  • learning_strategy
  • student_course
  • student_topic
  • learning_path (if needed for e.g. standard learning paths or questionnaire topics, otherwise no need to fill)
  • learning_path_learning_element (if needed for e.g. standard learning paths or questionnaire topics, otherwise no need to fill)

All other tables are optional and don't need to be filled to run HASKI. They will be filled out by the system during run time.

Clone this wiki locally