Résumé:
La console a besoin d'une page de présentation pour les passerelles, complémentaire à nos pages de présentation pour les applications et les appareils. Voir aussi #26.
La page de présentation doit contenir :
Implicitement, travailler sur la vue d'ensemble contiendra également :
Pourquoi avons nous besoin de ça?
Les pages d'aperçu de nos entités servent d'accès rapide aux informations les plus importantes en une faible profondeur de clic.
Qu'y a-t-il déjà ?
Les points de terminaison d'API correspondants. Pour référence, un exemple de réponse GET /gateways/{gateway_ids.gateway_id}
du registre de la passerelle :
{
"ids": {
"gateway_id": "string",
"eui": "string"
},
"created_at": "2019-03-06T08:55:43.727Z",
"updated_at": "2019-03-06T08:55:43.727Z",
"name": "string",
"description": "string",
"attributes": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"contact_info": [
{
"contact_type": "CONTACT_TYPE_OTHER",
"contact_method": "CONTACT_METHOD_OTHER",
"value": "string",
"public": true,
"validated_at": "2019-03-06T08:55:43.727Z"
}
],
"version_ids": {
"brand_id": "string",
"model_id": "string",
"hardware_version": "string",
"firmware_version": "string"
},
"gateway_server_address": "string",
"auto_update": true,
"update_channel": "string",
"frequency_plan_id": "string",
"antennas": [
{
"gain": 0,
"location": {
"latitude": 0,
"longitude": 0,
"altitude": 0,
"accuracy": 0,
"source": "SOURCE_UNKNOWN"
},
"attributes": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"status_public": true,
"location_public": true,
"schedule_downlink_late": true,
"enforce_duty_cycle": true,
"downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE"
}
Que manque-t-il?
Comment proposez-vous de mettre cela en œuvre ?
Complémentaire à notre implémentation d'application.
Que pouvez-vous faire vous-même et pour quoi avez-vous besoin d'aide ?
Je voudrais faire un suivi avec un wireframe rapide, une fois que j'ai quelques commentaires sur les exigences.
Je pense que nous avons besoin d'informations ici bientôt sur ce qu'il faut afficher sur la page de présentation de la passerelle.
cc @htdvisser @johanstokking
Je garderais les choses simples; ID, EUI, nom, description et plan de fréquence.
Ce serait bien d'afficher un indicateur en ligne en appuyant sur le GS et en vérifiant les statistiques de connexion. Si 200 <= état < 300, il est connecté, si 404 il n'est pas connecté, et tout le reste est une erreur. Il s'agit d'un appel par entrée affiché, mais cela en vaut la peine et est bon marché à servir à partir de GS car il provient de la mémoire.
de https://github.com/TheThingsNetwork/lorawan-stack/issues/26#issue -404416151
afficher les statistiques de connexion par passerelle (si l'adresse du serveur de passerelle correspond à la configuration de l'API du serveur de passerelle de la console actuelle)
et
Ce serait bien d'afficher un indicateur en ligne en appuyant sur le GS et en vérifiant les statistiques de connexion. Si 200 <= état < 300, il est connecté, si 404 il n'est pas connecté, et tout le reste est une erreur.
Nous devons nous mettre d'accord sur ce que nous montrons à l'utilisateur.
laisser
gtw_gs_address
soit l'adresse du serveur passerelle configuré pour la passerelle
console_gs_address
soit l'adresse du serveur passerelle du cluster actuel passé à la console
connected
gtw_gs_address
ou console_gs_address == empty
-> statut unknown
. cela peut se produire si l'adresse du serveur de passerelle n'est pas présente dans le cluster actuel ou si l'adresse n'a pas été ajoutée lors de la création de la passerelle, ou si les deux.gtw_gs_address == console_gs_address
-> état disconnected
gtw_gs_address != console_gs_address
-> la passerelle is not managed by this console
unknown
, la page Présentation de la passerelle affiche une erreurInterface utilisateur :
connected (1)
unknown (2.1)
disconnected (2.2)
not this console (2.3)
@johanstokking @htdvisser @kschiffer
J'utiliserais une logique différente pour l'indicateur de connectivité. Il doit commencer par l'adresse du serveur de la passerelle, et non par la requête au GS (car cela n'a pas de sens d'appeler un GS dont nous savons déjà qu'il ne dessert pas la passerelle) :
console.gateway_server_address
est vide, alors la fonctionnalité est complètement désactivéegateway.gateway_server_address
est vide, alors soit :console.gateway_server_address
mais affichez également le messagegateway.gateway_server_address
n'est pas égal à console.gateway_server_address
, alors la fonctionnalité est désactivée pour cette passerelle et affiche le messageJe changerais aussi un peu le message. Nous essayons de dire à l'utilisateur que la passerelle sélectionnée n'est pas affectée au serveur de passerelle dans le cluster de la console actuelle. Il est toujours possible de lire/écrire des éléments de la passerelle qui se trouvent dans le serveur d'identité et non dans le serveur de passerelle (essentiellement tout autre que l'état de la connectivité et le trafic)
Je changerais aussi un peu le message.
Quel serait le message ?
Je suis d'accord avec @htdvisser sur la commande.
Nous avons donc cinq états :
console.gateway_server_address
est égal gateway.gateway_server_address
, alors appuyez sur GS :gateway.gateway_server_address
est vide ; la passerelle n'est pas provisionnée Je changerais aussi un peu le message.
Quel serait le message ?
En tout cas, je ne sais pas si la partie supérieure est un bon emplacement pour afficher la notification. Pour avoir un message significatif, nous avons probablement besoin d'un texte plus long qui n'aura pas l'air bien là-bas. Je dirais que Unknown
ou Other Cluster
comme statut est suffisant et nous devrions chercher un autre endroit pour informer l'utilisateur des détails plus tard.
Commentaire le plus utile
Je garderais les choses simples; ID, EUI, nom, description et plan de fréquence.
Ce serait bien d'afficher un indicateur en ligne en appuyant sur le GS et en vérifiant les statistiques de connexion. Si 200 <= état < 300, il est connecté, si 404 il n'est pas connecté, et tout le reste est une erreur. Il s'agit d'un appel par entrée affiché, mais cela en vaut la peine et est bon marché à servir à partir de GS car il provient de la mémoire.