Summary
The swimlane view shows when jobs are scheduled to run, but gives no indication of maintenance windows. Jobs that fall inside a maintenance window will be silently suppressed, which is invisible in the current swimlane layout.
Motivation / Use Case
When planning or reviewing a schedule it should be immediately obvious which jobs will be skipped due to maintenance. Overlaying maintenance windows on the swimlane lets operators spot conflicts (e.g. a critical job scheduled right in the middle of a maintenance window) at a glance.
Proposed Behaviour
- Maintenance windows are rendered as a shaded/coloured band across the swimlane time grid, aligned to the affected target rows
- Agent-wide maintenance windows (
target = '_agent_') span all rows
- Per-target windows span only the rows belonging to that target
- Hovering a shaded band shows a tooltip with the window name, schedule, and duration
- The shading is visually distinct from job execution blocks (e.g. a semi-transparent striped overlay)
Affected Component
First Implementation Idea
- Agent — extend the swimlane data endpoint (or add a sidecar call to
GET /maintenance/windows) to include active/upcoming maintenance windows with their computed next-occurrence timestamps and durations.
- SwimlaneController — fetch maintenance window data alongside job data; compute which time slots within the displayed window fall under maintenance for each target.
- swimlane.php template — render maintenance bands as absolutely-positioned
<div> overlays on the time grid, using CSS (e.g. background: repeating-linear-gradient(...) for a hatched pattern). Z-index keeps job blocks visible on top.
- Legend — add a maintenance window entry to the swimlane legend.
Summary
The swimlane view shows when jobs are scheduled to run, but gives no indication of maintenance windows. Jobs that fall inside a maintenance window will be silently suppressed, which is invisible in the current swimlane layout.
Motivation / Use Case
When planning or reviewing a schedule it should be immediately obvious which jobs will be skipped due to maintenance. Overlaying maintenance windows on the swimlane lets operators spot conflicts (e.g. a critical job scheduled right in the middle of a maintenance window) at a glance.
Proposed Behaviour
target = '_agent_') span all rowsAffected Component
First Implementation Idea
GET /maintenance/windows) to include active/upcoming maintenance windows with their computed next-occurrence timestamps and durations.<div>overlays on the time grid, using CSS (e.g.background: repeating-linear-gradient(...)for a hatched pattern). Z-index keeps job blocks visible on top.