Segnalazione #744
Assegnazione macchine a gruppi
0%
Description
Interfaccia per assegnare le macchine a dei gruppi
Associated revisions
Use a Machine object on js's side, too. refs: #744
Refactored js code. refs: #744
Show machines by group. refs: #744
Render all machines in all groups in the same way. refs: #744
Sort group names to remove UI nondeterminism. refs: #744
Readded machine detail view. refs: #744
Share some widget infrastructure. refs: #744
Turn on autoreload when debug==True. refs: #744
Show more details in machine tables. refs: #744
Show machine details in a table. refs: #744
Update backend information and machine details widget when new machine data is notified in an event. refs: #744
Make machine group tables sortable. refs: #744
Redone group rendering in a table to make space for actions. refs: #744
Implemented the UI side of adding a new group to a machine. refs: #744
Merge branch 't772' into t744. refs: #744
Started modeling Operation objects in JS. refs: #744
Test web api. refs: #744
New API for invoking operations. refs: #744
Execute operation on submission. refs: #744
Encode the operation name from js. refs: #744
Merge branch 't772' into t744. refs: #744
Implemented MachineStore.add_machine_to_group. refs: #744
Call add_machine_to_group in AddGroup.execute. refs: #744
Implemented adding a machine to a group. refs: #744
Use a base template, and add a navbar. refs: #744
Split event monitor in a separate page. refs: #744
Added group selector. refs: #744
Show one group at a time. refs: #744
Enlarged datatables machine list. refs: #744
Add group information. refs: #744
Show machine details in popup. refs: #744
Reactivate AddGroup action. refs: #744
Implemented removing a machine from a group. refs: #744
Added ops support for DelGroup. refs: #744
Implemented group removal. refs: #744
Allow to configure what machine fields to serialize to json. refs: #744
History
Updated by Enrico Zini over 5 years ago
- Status changed from In elaborazione to Commenti
- Assignee changed from Enrico Zini to 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.
Updated by Elena Grandi over 5 years ago
- Status changed from Commenti to Chiuso
- Assignee changed from Elena Grandi to Enrico Zini
Serialize and deserialize machine groups. refs: #744