Open edX Backend: Panorama modes
The backend runs in one of four modes, selected by the PANORAMA_MODE Django setting.
The mode determines where dashboards come from, who can see them, and whether the Django
admin models are registered. The MFE reads the mode (via get-panorama-mode) to choose the
matching home page.
The four modes
Mode |
Dashboard source |
Access |
|---|---|---|
|
Demo dashboards fetched from Aulasneo’s demo API. This is the default when
|
Only superusers can access Panorama. The admin models are not registered. |
|
Free dashboards fetched from Aulasneo’s Panorama API using AWS SigV4-signed requests. |
Only superusers can access Panorama. The admin models are not registered. |
|
SaaS dashboards fetched from Aulasneo’s Panorama API using signed requests. |
Managed through the Django admin models. The admin interface is registered. |
|
Your own Amazon QuickSight dashboards, embedded with your AWS credentials. |
Managed through the Django admin models. The admin interface is registered. |
These correspond to the delivery modes: DEMO and FREE are
zero-configuration previews for superusers, SAAS is the managed Aulasneo service, and
CUSTOM is a fully self-hosted data lake and QuickSight account.
Access rules in detail
Whether a user can access Panorama (the get-user-access endpoint) depends on the mode:
DEMO / FREE — the backend may not be initialized, so only superusers have access.
SAAS / CUSTOM — a user has access if any of the following is true:
the student view is enabled (
PANORAMA_ENABLE_STUDENT_VIEW), orthe user has a UserAccessConfiguration record, or
the user is a superuser.
Roles
The get-user-role endpoint returns the user’s role, which the MFE uses to decide what to
show (for example, the Studio tab is only shown to AUTHOR users, and STUDENT users
get parameterized student dashboards):
DEMO / FREE —
READERfor superusers, otherwise no role.SAAS / CUSTOM — the role from the user’s
UserAccessConfiguration(READERorAUTHOR). If the user has no record, superusers getREADERand everyone else getsSTUDENT.
The student view
When PANORAMA_ENABLE_STUDENT_VIEW is on, users without an explicit configuration see the
student dashboards: every dashboard belonging to a DashboardType
marked Available to students. Student dashboards are launched with extra parameters
(userId, userFullName, lms) so QuickSight can filter every visual down to that
single learner.
Important
For a dashboard to work safely as a student view it must include the userId and lms
parameters, apply filters using those parameters to all visuals, and be shared with
users unable to change any filter. Otherwise a student could see other students’ data.
Choosing a mode
Trying Panorama for the first time?
DEMOneeds no configuration; log in as a superuser and open the MFE.Using Aulasneo’s managed service? Use
SAAS(Aulasneo provisions the data lake, dashboards, and QuickSight for you).Running your own data lake and QuickSight account? Use
CUSTOMand manage dashboards and access through the Django admin (Open edX Backend: administration).
The mode and its supporting settings (AWS keys, account, region, default ARN, student view) are configured through Django settings, normally supplied by the Tutor plugin. See Open edX Backend: configuration.