.. _tutor_overview: Tutor plugin: overview ====================== .. contents:: On this page :local: :depth: 2 The Tutor plugin for Panorama (``tutor-contrib-panorama``) is the convenient, all-in-one way to run Panorama on Open edX. It wires together every other component of the stack so that, for most operators, this plugin is the **only** thing you install and configure directly. Repository: `github.com/aulasneo/tutor-contrib-panorama `_. Licensed under Apache 2.0. .. note:: If you run Open edX with `Tutor `_, start here. The rest of this manual documents the individual components; this section documents how the plugin assembles them. What the plugin does -------------------- Enabling the plugin sets up, depending on the :ref:`mode `: * **The extraction agent.** It runs :ref:`Panorama Extract and Load ` to extract data from MySQL and MongoDB and upload it to the data lake, on a schedule. * **Tracking logs.** It extracts Open edX tracking logs (via a Fluent Bit sidecar) and uploads them to the data lake, so event-based analytics (video views, forum activity, and so on) are possible. * **The backend.** It adds :ref:`panorama-openedx-backend ` to the ``openedx`` image and injects the Django settings it needs. * **The MFE.** It adds the :ref:`Panorama MFE ` to the ``mfe`` image, served at ``/panorama/``, and points the MFE config at it. * **A dashboard link.** On the Sumac (19.x) line, it can optionally replace the learner-dashboard MFE with a fork that adds a direct link to Panorama from the learner dashboard (removed on Teak 21.x+; see :ref:`tutor_configuration`). * **Scheduling.** On Kubernetes it adds a ``CronJob`` to run extraction periodically; on local (Docker Compose) deployments it runs a cron container. The period is configurable. See :ref:`tutor_operations` for exactly what gets built and scheduled. Components and versions it pins ------------------------------- Each release of the plugin pins compatible versions of the other components, so you get a tested combination rather than assembling versions yourself. A given release pins, for example: * the ``panorama-elt`` Docker image tag (the extraction agent and its logs image), * the ``panorama-openedx-backend`` PyPI version (installed into the ``openedx`` image), * the ``frontend-app-panorama`` git tag (the MFE), and * the ``frontend-app-learner-dashboard`` fork tag (used only when the dashboard link is enabled). The plugin follows Open edX's named releases (it is versioned per release, for example the Sumac line). Use the plugin version that matches your Open edX release. How it maps to the rest of this manual -------------------------------------- .. list-table:: :header-rows: 1 :widths: 40 60 * - The plugin sets up... - ...documented in * - Extraction, data lake tables and views, partitions - :ref:`elt_overview` and the Extract and Load section * - The AWS data lake and permissions (CUSTOM mode) - :ref:`elt_datalake` and :ref:`tutor_configuration` * - The in-LMS dashboard API and admin - :ref:`backend_overview`, :ref:`backend_modes`, :ref:`backend_administration` * - The dashboard MFE - :ref:`mfe_overview` * - Modes, configuration variables, scheduling - :ref:`tutor_installation`, :ref:`tutor_configuration`, :ref:`tutor_operations` `Back to Home `_