Project

General

Profile

Développement #38596

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

Added by Valentin Deniaud almost 5 years ago. Updated almost 5 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
17 December 2019
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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))


Files

0002-hobo-give-cubes-a-slug-38596.patch (988 Bytes) 0002-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 17 December 2019 05:58 PM
0001-Revert-hobo-give-newly-created-cubes-a-slug-30859-38.patch (1.5 KB) 0001-Revert-hobo-give-newly-created-cubes-a-slug-30859-38.patch Valentin Deniaud, 17 December 2019 05:58 PM
0001-hobo-give-cubes-a-slug-38596.patch (1.59 KB) 0001-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 18 December 2019 10:42 AM
0001-hobo-give-cubes-a-slug-38596.patch (1.59 KB) 0001-hobo-give-cubes-a-slug-38596.patch Valentin Deniaud, 03 January 2020 05:07 PM
0004-scripts-populate-warehouse_slug-visualization-parame.patch (1.13 KB) 0004-scripts-populate-warehouse_slug-visualization-parame.patch Valentin Deniaud, 03 January 2020 05:07 PM
0002-schemas-remove-duplicate-key-38596.patch (602 Bytes) 0002-schemas-remove-duplicate-key-38596.patch Valentin Deniaud, 03 January 2020 05:07 PM
0003-visualization-add-warehouse-slug-support-38596.patch (1.71 KB) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 03 January 2020 05:48 PM
0003-visualization-add-warehouse-slug-support-38596.patch (3.08 KB) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 14 January 2020 04:24 PM
0004-scripts-populate-warehouse_slug-visualization-parame.patch (1.64 KB) 0004-scripts-populate-warehouse_slug-visualization-parame.patch Valentin Deniaud, 15 January 2020 03:33 PM
0003-visualization-add-warehouse-slug-support-38596.patch (4.15 KB) 0003-visualization-add-warehouse-slug-support-38596.patch Valentin Deniaud, 15 January 2020 03:33 PM

Related issues

Related to BiJoe - Développement #30854: export/import des visualisationsFermé24 February 2019

Actions
Related to OLAP / Business Intelligence pour Publik - Développement #38597: récupérer le slug des "cubes"Fermé17 December 2019

Actions

Associated revisions

Revision d305de24 (diff)
Added by Valentin Deniaud almost 5 years ago

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.

Revision 9004d49f (diff)
Added by Valentin Deniaud almost 5 years ago

schemas: remove duplicate key (#38596)

Revision ebb9cb3e (diff)
Added by Valentin Deniaud almost 5 years ago

visualization: add warehouse slug support (#38596)

Revision f93d4283 (diff)
Added by Valentin Deniaud almost 5 years ago

scripts: populate warehouse_slug visualization parameter (#38596)

History

#1

Updated by Valentin Deniaud almost 5 years ago

#2

Updated by Valentin Deniaud almost 5 years ago

#3

Updated by Valentin Deniaud almost 5 years ago

  • Assignee set to Valentin Deniaud
#5

Updated by Valentin Deniaud almost 5 years ago

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

#6

Updated by Thomas Noël (congés → 5 décembre) almost 5 years ago

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

#8

Updated by Valentin Deniaud almost 5 years ago

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

Updated by Valentin Deniaud almost 5 years ago

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

Updated by Valentin Deniaud almost 5 years ago

  • File deleted (0003-visualization-add-warehouse-slug-support-38596.patch)
#13

Updated by Thomas Noël (congés → 5 décembre) almost 5 years ago

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

Updated by Valentin Deniaud almost 5 years ago

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

Updated by Thomas Noël (congés → 5 décembre) almost 5 years ago

  • Status changed from Solution proposée to Solution validée
#16

Updated by Valentin Deniaud almost 5 years ago

  • Status changed from Solution validée to 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

Updated by Frédéric Péters almost 5 years ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF