openwisp / openwisp/openwisp-controller

[feature:gsoc26] Add Django admin workflow for mass command execution and real-time monitoring

Open
#1,345 3 comments 0 reactions 1 assignee View on GitHub

@dee077 is already working on this.

Since May 6, 2026.

enhancement gsoc
Dominant language
Python
Stars
773
Forks
315
Avg merge
2d 16h
Merged PRs (30d)
14

Description

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.

Image
  1. 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
  2. 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.

  3. At the bottom of the page, an Execute Command button 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.

Image
  1. For command selection, the interface should display additional command selection options such as:

    • reboot
    • change password
    • custom command
      If Custom Command is selected, an input field should appear dynamically, allowing the user to enter the desired command.
  2. 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
  3. The MassCommand admin operation page should display:

    • real-time execution progress
    • per-device execution status
    • command output
    • success/failure states
Image
  1. 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.
Image

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.