Projet

Général

Profil

Bug #7154

Publier l'environnement dans un script js : /__services.js

Ajouté par Frédéric Péters il y a presque 9 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
06 mai 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Lié à Publik - Development #7139: Portail agent et navigation transversale : publik.jsFermé05 mai 2015

Actions

Révisions associées

Révision 263c6672 (diff)
Ajouté par Frédéric Péters il y a presque 9 ans

add combo.apps.publik, to advertise the list of known services (#7154)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 9 ans

#3

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.

#4

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 ?

#5

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é
#6

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.

#7

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.

#8

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.

#9

Mis à jour par Frédéric Péters il y a presque 9 ans

Middleware dans hobo, pour être utilisé dans les settings des services, qui permet à ceux-ci de s'offrir un /__environment.js.

#10

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)

#11

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.

#12

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.

#13

Mis à jour par Frédéric Péters il y a presque 9 ans

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

#14

Mis à jour par Thomas Noël il y a presque 9 ans

On est là sur du paramétrage en mode multitenant, donc, soit:
  • 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
#15

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.

#16

Mis à jour par Frédéric Péters il y a presque 9 ans

Et voilà, ça dépend de #7325; et ça nécessitera une petite modif à #7294 pour prendre en compte la nouvelle URL.

#17

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)

#18

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.

#19

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

#20

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
#21

Mis à jour par Frédéric Péters il y a presque 9 ans

Dans l'aventure un morceau de patch pour hobo a été perdu.

#22

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)

#23

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

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

Formats disponibles : Atom PDF