Bug #7154
Publier l'environnement dans un script js : /__services.js
0%
Description
Pour #7139 il faudrait que hobo publie un script js déclarant l'environnement, que ça soit ensuite utilisé pour créer le menu.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 9 ans
- Fichier 0001-general-publish-environment-declaration-as-a-js-file.patch 0001-general-publish-environment-declaration-as-a-js-file.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a presque 9 ans
- Fichier 0001-general-publish-environment-declaration-as-a-js-file.patch 0001-general-publish-environment-declaration-as-a-js-file.patch ajouté
Et voilà avec la future bonne URL pour wcs.
Mis à jour par Thomas Noël il y a presque 9 ans
Le dictionnaire services_dict
on ne pourrait pas l'ajouter dans le hobo.json ? Ca permettrait de le renvoyer très facilement dans un futur middleware multitenant hobo qui jouerait le /hobo/environment.js (à la manière du version). Ou "pire", le poser dans le répertoire /static du tenant lors de la commande hobo_deploy.
Mis à jour par Frédéric Péters il y a presque 9 ans
Un middleware dans l'idée que plutôt qu'interroger l'hobo les différents services feraient un GET sur eux-même pour récupérer le fichier js ? Pourquoi pas. Plutôt qu'avoir un src="{{hobo_url}}/environment.js" dans les applis on aurait juste src="/__/environment.js", c'est ça ?
Mis à jour par Frédéric Péters il y a presque 9 ans
- Lié à Development #7139: Portail agent et navigation transversale : publik.js ajouté
Mis à jour par Thomas Noël il y a presque 9 ans
Frédéric Péters a écrit :
Un middleware dans l'idée que plutôt qu'interroger l'hobo les différents services feraient un GET sur eux-même pour récupérer le fichier js ? Pourquoi pas. Plutôt qu'avoir un src="{{hobo_url}}/environment.js" dans les applis on aurait juste src="/__/environment.js", c'est ça ?
A l'extrême, est-ce que ça pourrait être une variable fournie directement dans le hobo.json['variables'], et qui sera donc automatiquement disponible via hobo.multitenant.settings_loaders.TemplateVars ? (avec un peu de boulot dans wcs)
Si ça doit être plus explicite, un middleware qui fourni un .js, pourquoi pas oui.
Mis à jour par Frédéric Péters il y a presque 9 ans
En fait, je trouve toujours que la solution initiale, avoir le .js sur le hobo, est le plus simple, et je n'y vois pas les inconvénients; j'essaie du coup de comprendre ce que tu proposes dans le commentaire numéro 3.
Mis à jour par Thomas Noël il y a presque 9 ans
Discuté rapidement au téléphone : en fait, un argument serait de dire que je préfère que hobo évite de diffuser directement au navigo.
Mis à jour par Frédéric Péters il y a presque 9 ans
- Fichier 0006-general-add-middleware-to-serve-deployed-services-as.patch 0006-general-add-middleware-to-serve-deployed-services-as.patch ajouté
Middleware dans hobo, pour être utilisé dans les settings des services, qui permet à ceux-ci de s'offrir un /__environment.js.
Mis à jour par Thomas Noël il y a presque 9 ans
Je pense qu'on pourrait envoyer aussi le service_id ('wcs', 'combo', ...) afin que le menu final s'affiche dans un certain "ordre" (d'abord les liens des idp, ensuite ceux des combos, puis ceux des wcs, etc, ordre qu'on choisira dans l'afficheur en javascript)
Mis à jour par Frédéric Péters il y a presque 9 ans
Oui, j'ai d'ailleurs le service_id dans mon patch en local.
Mis à jour par Frédéric Péters il y a presque 9 ans
Cela étant, l'ordre est déjà fixe, suivant l'ordre des classes déclarées dans AVAILABLE_SERVICES.
Mis à jour par Frédéric Péters il y a presque 9 ans
- Fichier 0001-general-add-middleware-to-serve-deployed-services-as.patch 0001-general-add-middleware-to-serve-deployed-services-as.patch ajouté
Voilà, par rapport au patch précédent ça ajoute le service-id et un attribut "uniq" qui permet de savoir si c'est la seule instance de ce type de service (ça sert à ne pas afficher tous les menus de tous les wcs quand il y en a plusieurs) (certes ça aurait pu être calculé dans le js).
Mis à jour par Thomas Noël il y a presque 9 ans
- soit déplacer dans hobo.multitenant.middleware.EnvironmentJsMiddleware
- soit se baser sur settings.KNOWN_SERVICES (à adapter un peu pour cette occasion) plutôt que la lecture du hobo.json -- cette dernière solution a ma préférence à première vue
Mis à jour par Frédéric Péters il y a presque 9 ans
- Projet changé de Hobo à Combo
On se disait hier que ça aurait bien sa place dans combo, vu que ça sert à construire un menu pour le combo portail agent.
Mis à jour par Frédéric Péters il y a presque 9 ans
Mis à jour par Thomas Noël il y a presque 9 ans
Ack. On l'ajoute aussi dans le settings.py par défaut ? (allez, oui)
Mis à jour par Frédéric Péters il y a presque 9 ans
commit 263c667222f4ab6dac3920ec9098ad8c099156ea Author: Frédéric Péters <fpeters@entrouvert.com> Date: Thu May 21 11:29:12 2015 +0200 add combo.apps.publik, to advertise the list of known services (#7154)
Je te laisse le soin de l'ajouter aux INSTALLED_APPS, je n'ai pas d'opinion là-dessus.
Mis à jour par Thomas Noël il y a presque 9 ans
- Statut changé de En cours à Résolu (à déployer)
commit 476f7a46949709cc41f00ddcf6c7dda43697266a Author: Thomas NOEL <tnoel@entrouvert.com> Date: Tue May 26 17:14:53 2015 +0200 settings.py: add combo.apps.publik in INSTALLED_APPS
Mis à jour par Thomas Noël il y a presque 9 ans
- Sujet changé de Publier l'environnement dans un script js à Publier l'environnement dans un script js : /__services.js
Mis à jour par Frédéric Péters il y a presque 9 ans
- Fichier 0001-general-distribute-backoffice-menu-url-in-hobo.json-.patch 0001-general-distribute-backoffice-menu-url-in-hobo.json-.patch ajouté
- Statut changé de Résolu (à déployer) à En cours
Dans l'aventure un morceau de patch pour hobo a été perdu.
Mis à jour par Thomas Noël il y a presque 9 ans
Ack (sauf la modif de hobo/multitenant/settings_loaders.py qui est pour mon ami #7311)
Mis à jour par Frédéric Péters il y a presque 9 ans
- Statut changé de En cours à Résolu (à déployer)
Oups, retiré.
commit d89565f5c76e2f3f47dc34ca46adb74266c57795 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed May 6 10:10:19 2015 +0200 general: distribute backoffice-menu-url in hobo.json (#7154)
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Statut changé de Résolu (à déployer) à Solution déployée
add combo.apps.publik, to advertise the list of known services (#7154)