Superset
Prérequis
Logiciels
- Superset 2.1
Plusieurs choix d'installation sont disponibles dans la documentation de Superset
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'}
}