Projet

Général

Profil

Development #38596

Utiliser un slug plutôt qu'une url pour récupérer les données des visualisations

Ajouté par Valentin Deniaud il y a plus de 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
17 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Afin de permettre l'import/export (#30866) transparent entre recette et prod.

Actuellement, une visualisation stocke un identifiant qui permet d'aller chercher les données associées (récupérées par wcs-olap). Cet identifiant est l'url du tenant, il s'agit de le remplacer par son slug.

Une tentative a été effectuée dans #30859. Ça n'a jamais fonctionné (la variable new est globale au fichier alors qu'on parle d'une section de la config, donc on a sûrement à faire à une création du fichier vide, puis un remplissage lors d'un appel ultérieur).

Le miroir du ticket précédent dans olap (#30858) remplace l'url par le slug. D'où la nécessité de ne le faire que pour les nouveaux tenants, car sinon les anciennes visualisations qui se basent sur l'url ne fonctionneraient plus.

Ce ticket se propose de reprendre l'approche des deux précédents, pas juste en la faisant marcher mais en la modifiant, afin de ne pas devoir se limiter aux nouveaux tenants.

Pour cela :
  1. Dans olap, ajouter un nouvel attribut 'slug' en plus de 'name' (plutôt que de remplacer)
  2. Dans le deploy_specifics de bijoe, toujours ajouter 'cubes_slug' dans le .ini
  3. Dans le code de récupération des données d'une visualisation, utiliser le slug si possible, sinon le nom comme d'habitude
  4. Jouer une migration pour que toutes les visualisations connaissent le slug.

En résumé, laisser olap et hobo récupérer bêtement des données, et mettre la logique dans bijoe.

Il est important que 1. soit déployé avant 2., sinon ce qui n'a jamais marché va marcher et ça cassera tout.

(tout ça est fruit d'une discussion avec Thomas (comme ça je le remercie mais je lui transfère aussi un peu de responsabilité si ça ne marche pas))


Fichiers

0002-hobo-give-cubes-a-slug-38596.patch (988 octets) 0002-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 17 décembre 2019 17:58
0001-Revert-hobo-give-newly-created-cubes-a-slug-30859-38.patch (1,5 ko) 0001-Revert-hobo-give-newly-created-cubes-a-slug-30859-38.patch Valentin Deniaud, 17 décembre 2019 17:58
0001-hobo-give-cubes-a-slug-38596.patch (1,59 ko) 0001-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 18 décembre 2019 10:42
0001-hobo-give-cubes-a-slug-38596.patch (1,59 ko) 0001-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 03 janvier 2020 17:07
0004-scripts-populate-warehouse_slug-visualization-parame.patch (1,13 ko) 0004-scripts-populate-warehouse_slug-visualization-parame.patch Valentin Deniaud, 03 janvier 2020 17:07
0002-schemas-remove-duplicate-key-38596.patch (602 octets) 0002-schemas-remove-duplicate-key-38596.patch Valentin Deniaud, 03 janvier 2020 17:07
0003-visualization-add-warehouse-slug-support-38596.patch (1,71 ko) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 03 janvier 2020 17:48
0003-visualization-add-warehouse-slug-support-38596.patch (3,08 ko) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 14 janvier 2020 16:24
0004-scripts-populate-warehouse_slug-visualization-parame.patch (1,64 ko) 0004-scripts-populate-warehouse_slug-visualization-parame.patch Valentin Deniaud, 15 janvier 2020 15:33
0003-visualization-add-warehouse-slug-support-38596.patch (4,15 ko) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 15 janvier 2020 15:33

Demandes liées

Lié à BiJoe - Development #30854: export/import des visualisationsFermé24 février 2019

Actions
Lié à OLAP / Business Intelligence pour Publik - Development #38597: récupérer le slug des "cubes"Fermé17 décembre 2019

Actions

Révisions associées

Révision d305de24 (diff)
Ajouté par Valentin Deniaud il y a environ 4 ans

hobo: give cubes a slug (#38596)

This also reverts commit 3e956befb40f36f48da78f311467dff9ba3dbf8b,
which was buggy since new is file scoped and cubes_slug config-section
scoped.

Révision 9004d49f (diff)
Ajouté par Valentin Deniaud il y a environ 4 ans

schemas: remove duplicate key (#38596)

Révision ebb9cb3e (diff)
Ajouté par Valentin Deniaud il y a environ 4 ans

visualization: add warehouse slug support (#38596)

Révision f93d4283 (diff)
Ajouté par Valentin Deniaud il y a environ 4 ans

scripts: populate warehouse_slug visualization parameter (#38596)

Historique

#1

Mis à jour par Valentin Deniaud il y a plus de 4 ans

#2

Mis à jour par Valentin Deniaud il y a plus de 4 ans

#3

Mis à jour par Valentin Deniaud il y a plus de 4 ans

  • Assigné à mis à Valentin Deniaud
#5

Mis à jour par Valentin Deniaud il y a plus de 4 ans

Voilà, mais à ne surtout pas pousser avant un moment, le temps que #38597 soit déployé partout.

#6

Mis à jour par Thomas Noël il y a plus de 4 ans

Comme pour #38597 : fait un seul commit, qu'on comprenne la modification.

#8

Mis à jour par Valentin Deniaud il y a plus de 4 ans

Et là aussi j'évite de poser un slug vide, mais c'est en espérant que ça n'arrive jamais (un raise de KeyError serait préférable pour qu'on s'en aperçoive ?)

#9

Mis à jour par Valentin Deniaud il y a environ 4 ans

Valentin Deniaud a écrit :

1. Dans olap, ajouter un nouvel attribut 'slug' en plus de 'name' (plutôt que de remplacer)

A été mergé (#38597).

2. Dans le deploy_specifics de bijoe, toujours ajouter 'cubes_slug' dans le .ini

Patch 1, inchangé.

3. Dans le code de récupération des données d'une visualisation, utiliser le slug si possible, sinon le nom comme d'habitude

Patch 3.

4. Jouer une migration pour que toutes les visualisations connaissent le slug.

Patch 4, changement d'approche. En effet le slug est récupéré depuis le fichier .model posé par olap dans le dossier du tenant. Outre qu'on ne peut pas accéder à ce dossier pendant une migration, il apparaît surtout que ce n'est pas la bonne manière de faire.
Comme suggéré par Benjamin, j'ai fait un script tout simple qui marche bien et qu'on peut lancer en faisant bijoe-manage tenant_command runscript bijoe/scripts/warehouse_slug.py --all-tenants.

#10

Mis à jour par Valentin Deniaud il y a environ 4 ans

  • Fichier 0003-visualization-add-warehouse-slug-support-38596.patch supprimé
#13

Mis à jour par Thomas Noël il y a environ 4 ans

Sur le 0004 (le script) : déplacer scripts/ dans debian/, retirer le init.py parce que c'est pas un module, ajouter qlq lignes de commentaires au début du script qui rappelle à quoi il sert et comment on doit l'utilsier (genre « sudo -u bijoe bijoe-manage tenant_command runscript /usr/share/doc/bijoe/whare...py --all-tenants ») et ajouter debian/scripts/whare...py dans debian/bijoe.docs et zou

#14

Mis à jour par Valentin Deniaud il y a environ 4 ans

Fait.

Et à me focaliser sur faire marcher les visualisations existantes j'avais oublié les nouvelles. J'ai donc ajouté la ligne qui prend le slug au moment de la création, et un test pour la peine, dans le 0003.

#15

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée
#16

Mis à jour par Valentin Deniaud il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit f93d42834e563fb217ba05e6d612bfc2ec9c856c
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Fri Jan 3 16:56:48 2020 +0100

    scripts: populate warehouse_slug visualization parameter (#38596)

commit ebb9cb3e395da5ef7753238532520bbdbe6ee8da
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Tue Dec 24 16:47:46 2019 +0100

    visualization: add warehouse slug support (#38596)

commit 9004d49fb7e47e48110066d94936c663fc492ed5
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Mon Dec 16 17:05:43 2019 +0100

    schemas: remove duplicate key (#38596)

commit d305de24fedb7c33c9e85f6cb5fba96de6f6f649
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Tue Dec 17 17:55:46 2019 +0100

    hobo: give cubes a slug (#38596)

    This also reverts commit 3e956befb40f36f48da78f311467dff9ba3dbf8b,
    which was buggy since new is file scoped and cubes_slug config-section
    scoped.
#17

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF