[feature:gsoc26] Add Django admin workflow for mass command execution and real-time monitoring
I maintainer di solito rispondono entro 1 giorno
@dee077 ci sta già lavorando.
Dal 6/5/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Is your feature request related to a problem? Please describe.
Currently, command execution in the admin interface is limited to individual devices. The backend will be developed to execute commands asynchronously, so there will be a requirement for a new admin workflow for selecting multiple target devices, previewing affected devices, choosing a command type, and monitoring the execution of a mass command operation in real time.
Describe the solution I would implement
I would like to add a new custom Django admin template view for mass command execution, referencing the proposed Figma design.
-
For the device targeting view, I will create a new admin page where users can select target devices using filters such as:
- all devices
- location
- device group
- organization
- manual device selection
-
Based on the selected filters, the page should display the targeted devices in a table following the same design and structure currently used on the device detail page.
-
At the bottom of the page, an
Execute Commandbutton will allow the user to proceed to the next step, where they can see some additional filters and some command selection checkboxes. This works as a confirmation page to resolve targeted devices.
-
For command selection, the interface should display additional command selection options such as:
- reboot
- change password
- custom command
IfCustom Commandis selected, an input field should appear dynamically, allowing the user to enter the desired command.
-
After configuration, clicking the final "Execute Command" button should:
- create the MassCommand operation
- trigger the backend execution flow
- redirect the user to the admin detail page of the newly created MassCommand
- Real-time execution monitoring
-
The MassCommand admin operation page should display:
- real-time execution progress
- per-device execution status
- command output
- success/failure states
- All executed mass command operations will be accessible from the MassCommand model admin view, allowing administrators to review previously executed batch operations, their execution status, and associated command results.
Note: The UI is subject to change based on feedback and review from the design team.
Details to preserve during implementation
The admin implementation approach should remain open for investigation. Possible approaches include a custom admin template view, a MassCommand ModelAdmin with customized add/change templates, or another admin integration if it fits the existing codebase better.
The target selection UI should respect multi-tenancy. When an organization is selected, location, device group, and manual device choices should be filtered to compatible objects. Permission handling should be explicit for all target scopes, including all devices, organization, location, device group, and manual device selection.
The exact page flow should remain open. Possible approaches include showing all inputs on the first page and using the next page as a read-only confirmation page, or keeping command selection on the confirmation page as shown in the proposal.
The target preview behavior should remain open for large target sets. Possible approaches include showing only a count, showing a full list, or showing a paginated and searchable list. The need for device search in the target-device table should be investigated.
Real-time monitoring should coordinate with the backend/WebSocket implementation. The final data shape can be determined after the admin UI requirements are clearer.
Automated tests should cover dynamic scope selection behavior, manual device selection in the dedicated admin workflow, permission handling for each target scope, admin detail page rendering, and real-time monitoring behavior.
- Lingua principale
- Python
- Stelle
- 779
- Fork
- 328
- Merge medio
- 2g 19h
- PR unite (30g)
- 7
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openwisp/openwisp-controller
-
[fix] Recent Commands row uses "created" timestamp for the "Modified" fieldForse già presa @xovishnukosuri l’ha presa 216 giorni fa. Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
openwisp/openwisp-controller#1263 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[feature] Emit a signal when a device operating system changesForse già presa @kimpasha23-beep l’ha presa 5 giorni fa. Apertaenhancement
Difficoltà 3/5 Mezza giornata Idoneità per principianti 65/100
openwisp/openwisp-controller#1506 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[feature] Add board_name field to Device model for DTB board identificationForse di nuovo libera @atif09 l’ha presa 28 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement gsoc
openwisp/openwisp-controller#1491 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[bug:gsoc26] Mass command wizards started in two browser tabs overwrite each otherForse già presa @dee077 l’ha presa 30 giorni fa. Apertabug
openwisp/openwisp-controller#1489 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
openwisp/openwisp-controller#1484 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di openwisp/openwisp-controller
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
common-workflow-language/cwl-utils#477 ·
I maintainer di solito rispondono entro 1 giorno
-
Add dependabotApertafeat
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
open-nudge/opentemplate#204 ·
I maintainer di solito rispondono entro 1 giorno
-
github-stale-ci-pr-closer: KV state is double-wrapped, never persists, and hits the depth-32 limitForse già presa @VascoSch92 l’ha presa oggi. Apertapriority:medium ready-for-dev
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenHands/extensions#781 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
curriculum documentation quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
githubnext/gh-aw-workshop#4638 ·
I maintainer di solito rispondono entro 1 giorno