Progetto

Generale

Profilo

Segnalazione #744

Assegnazione macchine a gruppi

Aggiunto da Enrico Zini 5 mesi fa. Aggiornato 4 mesi fa.

Stato:
Chiuso
Priorità:
Normale
Assegnato a:
Versione prevista:
Inizio:
19-02-2019
Scadenza:
% completato:

0%

Resolution:

Descrizione

Interfaccia per assegnare le macchine a dei gruppi

Revisioni associate

Versione 3a6a812a (diff)
Aggiunto da Enrico Zini 4 mesi fa

Serialize and deserialize machine groups. refs: #744

Versione fced29a2 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Use a Machine object on js's side, too. refs: #744

Versione fa5eb39a (diff)
Aggiunto da Enrico Zini 4 mesi fa

Refactored js code. refs: #744

Versione 7c182416 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Show machines by group. refs: #744

Versione 99910868 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Render all machines in all groups in the same way. refs: #744

Versione 58ed4421 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Sort group names to remove UI nondeterminism. refs: #744

Versione cf2e666a (diff)
Aggiunto da Enrico Zini 4 mesi fa

Readded machine detail view. refs: #744

Versione 07017f1a (diff)
Aggiunto da Enrico Zini 4 mesi fa

Share some widget infrastructure. refs: #744

Versione 18016c04 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Turn on autoreload when debug==True. refs: #744

Versione 27ecb0c4 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Show more details in machine tables. refs: #744

Versione 1e29a099 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Show machine details in a table. refs: #744

Versione 52bab92b (diff)
Aggiunto da Enrico Zini 4 mesi fa

Update backend information and machine details widget when new machine data is notified in an event. refs: #744

Versione 4e6f3b1d (diff)
Aggiunto da Enrico Zini 4 mesi fa

Make machine group tables sortable. refs: #744

Versione 5004ab4b (diff)
Aggiunto da Enrico Zini 4 mesi fa

Redone group rendering in a table to make space for actions. refs: #744

Versione 5c0f44c3 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Implemented the UI side of adding a new group to a machine. refs: #744

Versione 04ec80b0
Aggiunto da Enrico Zini 4 mesi fa

Merge branch 't772' into t744. refs: #744

Versione 13788127 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Started modeling Operation objects in JS. refs: #744

Versione e9bc9338 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Test web api. refs: #744

Versione 061fcdd7 (diff)
Aggiunto da Enrico Zini 4 mesi fa

New API for invoking operations. refs: #744

Versione 959b0b7d (diff)
Aggiunto da Enrico Zini 4 mesi fa

Execute operation on submission. refs: #744

Versione b9f3508c (diff)
Aggiunto da Enrico Zini 4 mesi fa

Encode the operation name from js. refs: #744

Versione c4be6c85
Aggiunto da Enrico Zini 4 mesi fa

Merge branch 't772' into t744. refs: #744

Versione aed0e78d (diff)
Aggiunto da Enrico Zini 4 mesi fa

Implemented MachineStore.add_machine_to_group. refs: #744

Versione 9f819ac3 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Call add_machine_to_group in AddGroup.execute. refs: #744

Versione 05ad335a (diff)
Aggiunto da Enrico Zini 4 mesi fa

Implemented adding a machine to a group. refs: #744

Versione dc35b0eb (diff)
Aggiunto da Enrico Zini 4 mesi fa

Use a base template, and add a navbar. refs: #744

Versione 77b240c9 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Split event monitor in a separate page. refs: #744

Versione e80c19be (diff)
Aggiunto da Enrico Zini 4 mesi fa

Added group selector. refs: #744

Versione e1228bf0 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Show one group at a time. refs: #744

Versione e3ce6a13 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Enlarged datatables machine list. refs: #744

Versione 2e6a3758 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Add group information. refs: #744

Versione eb6b06ac (diff)
Aggiunto da Enrico Zini 4 mesi fa

Show machine details in popup. refs: #744

Versione b657affa (diff)
Aggiunto da Enrico Zini 4 mesi fa

Reactivate AddGroup action. refs: #744

Versione caa2c38d (diff)
Aggiunto da Enrico Zini 4 mesi fa

Implemented removing a machine from a group. refs: #744

Versione 294e2623 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Added ops support for DelGroup. refs: #744

Versione b6a99b84 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Implemented group removal. refs: #744

Versione 956fa604 (diff)
Aggiunto da Enrico Zini 4 mesi fa

Allow to configure what machine fields to serialize to json. refs: #744

Cronologia

#1 Aggiornato da Enrico Zini 4 mesi fa

  • Assegnato a impostata a Enrico Zini

#2 Aggiornato da Enrico Zini 4 mesi fa

  • Stato modificata da Nuovo a In elaborazione

#3 Aggiornato da Enrico Zini 4 mesi fa

  • Stato modificata da In elaborazione a Commenti
  • Assegnato a modificata da Enrico Zini a Elena Grandi

Ho aggiunto manager/ops.py, con una gerarchia di classi che descrivono operazioni da compiere. manager/web/static/fussmanager/js/operations.js è il suo parallelo in JavaScript, e questo permette di generare operazioni da JavaScript, passarle al server via API, eseguirle, ed eventualmente loggarle (#743).

Ho aggiunto il supporto per template in moustache (classe Widget in manager/web/static/fussmanager/js/widgets/machines.js), in modo da spostare tutto il layout possibile nei template html renderizzati da tornado, in modo che, oltre ad avere tutto l'HTML nello stesso posto, il tutto sia anche localizzabile. Ho scelto moustache perché è pacchettizzato in Debian (libjs-moustache), ma come motore di template mi piace molto poco. Ad ogni modo, per il momento risolve un problema. Ho cambiato i tag di moustache da {{ a [[ per non conflittare con tornado.

Ho riorganizzato i RequestHandler che renderizzano HTML in un sistema tipo class-based-view di Django manager/web/views.py, che ho poi usato per creare la navbar.

Ho riorganizzato i template HTML dal prototipo di prima a qualcosa di piú solido, con un base template i template delle varie view.

La logica JavaScript è organizzata in un Manager manager/web/static/fussmanager/js/api.js che indicizza le informazioni sulle varie macchine, e vari widget che pescano dal manager. Quando arrivano eventi via WebSocket, il manager aggiorna le sue strutture dati di conseguenza, e i widget si aggiornano. Se per esempio si ordinano le macchine in un gruppo per last-seen, si vede cambiare nel tempo l'ordine delle macchine. Se si mostrano i dettagli di una macchina, sono aggiornati in real time.

La pagina principale è un grosso DataTables con le macchine senza gruppo. C'è un elenco di gruppi in cima alla pagina che permette di selezionare un gruppo e mostrarne le macchine, o deselezionare il gruppo corrente per mostrare di nuovo le macchine senza gruppo.

Scegliendo una macchina dalla tabella, compare un popup di dettagli che permette di aggiungere/togliere gruppi.

#4 Aggiornato da Elena Grandi 4 mesi fa

mergiato in master

#5 Aggiornato da Elena Grandi 4 mesi fa

  • Stato modificata da Commenti a Chiuso
  • Assegnato a modificata da Elena Grandi a Enrico Zini

Esporta su Atom PDF