.. _backend_administration: Open edX Backend: administration ================================ .. contents:: On this page :local: :depth: 2 In ``SAAS`` and ``CUSTOM`` modes the backend registers three models in the Django admin. Together they let you declare dashboards, group them by function, and assign users to those groups. (In ``DEMO`` and ``FREE`` modes these models are hidden, because dashboards come from Aulasneo's API and only superusers have access.) The admin is reached at ``https:///admin/`` under the **panorama_openedx_backend** section. The three models ---------------- Dashboard ~~~~~~~~~ A single Amazon QuickSight dashboard. .. list-table:: :header-rows: 1 :widths: 24 76 * - Field - Meaning * - ``dashboard_id`` - The QuickSight Dashboard ID (primary key). * - ``name`` - Internal dashboard name (unique). * - ``display_name`` - Name shown to users in the MFE tab. * - ``priority`` - Order of appearance in the menu. Lower numbers appear higher. DashboardType ~~~~~~~~~~~~~ A **group** of dashboards, representing a function or an audience. .. list-table:: :header-rows: 1 :widths: 24 76 * - Field - Meaning * - ``name`` - The group's name (primary key). * - ``dashboards`` - Many-to-many selection of the ``Dashboard`` records in this group. * - ``student_view`` - *Available to students.* When enabled, these dashboards are offered to students (see the student-view rules in :ref:`backend_modes`). UserAccessConfiguration ~~~~~~~~~~~~~~~~~~~~~~~~ Maps one LMS user to a dashboard group, a QuickSight identity, and a role. .. list-table:: :header-rows: 1 :widths: 24 76 * - Field - Meaning * - ``user`` - The LMS user (one-to-one). * - ``dashboard_type`` - The ``DashboardType`` this user may see. * - ``arn`` - The user's QuickSight user ARN. If blank, ``PANORAMA_DEFAULT_USER_ARN`` is used. * - ``role`` - ``READER`` or ``AUTHOR``. ``AUTHOR`` users additionally get the QuickSight console (**Studio**) tab in the MFE. Typical setup workflow (CUSTOM mode) ------------------------------------ #. **Declare your dashboards.** For each QuickSight dashboard you want to expose, add a ``Dashboard`` record with its QuickSight ID, a name, a display name, and a priority. #. **Group them.** Create one or more ``DashboardType`` records and add the relevant dashboards to each. Enable *Available to students* on any group that should power the student view (make sure those dashboards are parameterized and filtered per learner, as described in :ref:`backend_modes`). #. **Assign users.** For each user (or role) that should see dashboards, add a ``UserAccessConfiguration`` linking the user to a ``DashboardType``, setting their QuickSight ARN (or leaving it blank to use the default), and choosing ``READER`` or ``AUTHOR``. Once configured, the MFE will show each assigned user the dashboards in their group, ordered by priority, plus the Studio tab for authors. What the backend does with this ------------------------------- When the MFE requests embed URLs, the backend: #. Looks up the user's ``UserAccessConfiguration`` to find their dashboard group, ARN, and role. #. For each dashboard in the group (ordered by priority), calls QuickSight's ``generate_embed_url_for_registered_user`` for that user ARN and dashboard ID. #. Returns the list of dashboards with their short-lived embed URLs. Student-view dashboards additionally get the ``userId``, ``userFullName``, and ``lms`` parameters appended. `Back to Home `_