Superset

Prérequis

Logiciels

Configuration

Le fichier $PYTHONPATH/superset_config.py permet de configurer Superset.

Activer la fonctionnalité tableau de bord intégré

Pour pouvoir visualiser des tableaux de bord dans votre application, il faut dans un premier temps autoriser leur intégration dans des applications externes :

# $PYTHONPATH/superset_config.py
...

FEATURE_FLAGS = {
    "EMBEDDED_SUPERSET": True
}

Configurer les droits des utilisateurs visualisant les tableaux de bord

La visualisation d'un tableau de bord via le composant fourni par le module Dashboard s'effectue en mode invité (ou guest).

Les droits de ces invités doivent être définis au préalable. La CLI de Superset permet d'importer un fichier JSON contenant une liste de rôles et leurs droits associés. Voici la configuration minimale d'un rôle SupersetGuest permettant de visualiser sans encombre un tableau de bord :

// SupersetGuest.json
[
  {
    "name": "SupersetGuest",
    "permissions": [
      {
        "permission": { "name": "can_read" },
        "view_menu": { "name": "Chart" }
      },
      {
        "permission": { "name": "can_read" },
        "view_menu": { "name": "Dashboard" }
      },
      {
        "permission": { "name": "can_read" },
        "view_menu": { "name": "CssTemplate" }
      },
      {
        "permission": { "name": "can_write" },
        "view_menu": { "name": "DashboardFilterStateRestApi" }
      },
      {
        "permission": { "name": "can_read" },
        "view_menu": { "name": "EmbeddedDashboard" }
      },
      {
        "permission": { "name": "can_time_range" },
        "view_menu": { "name": "Api" }
      },
      {
        "permission": { "name": "can_explore_json" },
        "view_menu": { "name": "Superset" }
      }
    ]
  }
]

Importer le rôle dans Superset :

superset fab import-roles --path SupersetGuest.json

Informations

Il est également possible de définir ce nouveau rôle et ses droits dans l'interface d'administration de Superset.

Mettre à jour le rôle invité dans le fichier de configuration :

# $PYTHONPATH/superset_config.py
...

GUEST_ROLE_NAME = "SupersetGuest"

Changer le langage (optionnel)

Pour ajouter un menu de changement de langue dans Superset :

# $PYTHONPATH/superset_config.py
...

LANGUAGES = {
    'fr': {'flag': 'fr', 'name': 'Francais'},
    'en': {'flag': 'en', 'name': 'English'},
}

Pour forcer l'utilisation d'un langage :

# $PYTHONPATH/superset_config.py
...

LANGUAGES = {
    'fr': {'flag': 'fr', 'name': 'Francais'}
}