Skip to content

Commit 662ad44

Browse files
[cueweb] Display "Set Priority..." on CueWeb > Cuetopia > Monitor Jobs too
- Drop the isOnMonitorCue conditional spread around the Set Priority menu entry so the action appears wherever JobContextMenu mounts - both Cuetopia (/) and CueCommander Monitor Cue (/monitor-cue). - View Job stays gated to /monitor-cue (it's only meaningful there). - Docs refresh: reference adds a dedicated Set Priority dialog section (CustomEvent flow + optimistic in-row update); developer-guide calls out the non-gating; user-guide, tutorial, other-guides, quick-start, and the cueweb README describe the user-facing behavior with new light-mode screenshots (menu, dialog, confirmation toast). - Cleanup: cueweb README drops a stale RBAC-gating claim for Set Priority left over from the earlier RBAC revert.
1 parent 814b427 commit 662ad44

14 files changed

Lines changed: 65 additions & 16 deletions

cueweb/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ The current CueWeb system offers a robust set of features designed to enhance us
368368
- Frame state filter chips above the frames table (`WAITING`, `RUNNING`, `SUCCEEDED`, `DEAD`, `EATEN`, `DEPEND`) with URL-persisted selection.
369369
- **Search:** Advanced search with regex support, dropdown suggestions, and optimized loading.
370370
- **Dark mode:** Toggle between light and dark themes.
371-
- **Actions:** Job, layer, and frame actions (pause, retry, kill, eat, and others) through CueGUI-parity right-click context menus. Includes **View Job Details** (opens the tabbed `/jobs/<jobName>` page with Overview / Layers / Frames / Comments / Dependencies), **Set Priority...** (themed 1-100 slider + number input dialog with optimistic in-row update; RBAC-gated to `site-admin` / `operator` via the `jobs.set_priority` permission), Copy Job / Layer / Frame Name, Copy Log Path, View Log + Tail Log, and an optional **View Log on <editor>** item that launches the rqlog in VSCode / Sublime / TextMate / IntelliJ via a custom URL scheme (configured at build time, default is VSCode).
371+
- **Actions:** Job, layer, and frame actions (pause, retry, kill, eat, and others) through CueGUI-parity right-click context menus. Includes **View Job Details** (opens the tabbed `/jobs/<jobName>` page with Overview / Layers / Frames / Comments / Dependencies), **Set Priority...** (themed 1-100 slider + number input dialog with optimistic in-row update; available on both Cuetopia Monitor Jobs and CueCommander Monitor Cue), Copy Job / Layer / Frame Name, Copy Log Path, View Log + Tail Log, and an optional **View Log on <editor>** item that launches the rqlog in VSCode / Sublime / TextMate / IntelliJ via a custom URL scheme (configured at build time, default is VSCode).
372372
- **CueSubmit (browser job submission):** dedicated `/cuesubmit` route reachable from the **CueSubmit** top-level dropdown in the header, the matching **CueSubmit > Submit Job** group in the left sidebar, and the mobile nav drawer. Mirrors the standalone CueSubmit CLI tool with Job Info / Layer Info / per-type panels for Shell / Maya / Nuke / Blender, a live read-only Final command preview that updates per-keystroke, and a multi-layer Submission Details table with add / remove / reorder controls. Browser-only conveniences: per-field autocomplete history (Job Name / Shot / Layer Name), draft auto-save so refreshes don't wipe a multi-layer setup, themed `?` help popovers for frame-spec patterns and cuebot tokens, themed Radix Reset-confirm dialog, and a **View in Monitor Jobs** deep-link button on the resulting job detail page. Sandbox-tuned defaults (Memory `256m`, Facility `local`, stable non-zero per-user UID) so a `sleep 5` test job runs end-to-end out of the box.
373373
- **Email Artist:** right-click a job and pick **Email Artist...** to open a themed dialog mirroring CueGUI's Email dialog (From / To / CC / BCC / Subject / Body), pre-filled from the job (artist as **To**, `<show>-<suffix>@<domain>` as **From** / **CC**, `cuemail: please check <jobName>` as **Subject**) and editable. Send hands the result to the user's default mail client via a `mailto:` URL. Configure the placeholders at build time with `NEXT_PUBLIC_EMAIL_DOMAIN` (default `your.domain.com`) and `NEXT_PUBLIC_EMAIL_SUPPORT_SUFFIX` (default `pst`).
374374
- **Request Cores:** right-click a job and pick **Request Cores...** to open a themed email composer mirroring CueGUI's `RequestCoresDialog`, pre-filled with **From** (your signed-in session), **CC** (`<show>-support@<domain>`), and **Subject** (`Requesting Cores for <jobName>`); the body is auto-populated with a fixed-width table of the job's still-active layers (Layer Name / Minimum Memory / Min Cores), followed by editable **Date/Time by which completion is needed** and **Additional notes** sections. Send hands the result to your default mail client via a `mailto:` URL. Configure the support-team alias at build time with `NEXT_PUBLIC_EMAIL_REQUEST_CORES_SUFFIX` (default `support`).

cueweb/components/ui/context_menus/action-context-menu.tsx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -353,18 +353,12 @@ export const JobContextMenu: React.FC<JobContextMenuProps> = ({
353353
sep("group-frame-controls"),
354354

355355
// -- Frame-level controls (CueGUI parity).
356-
// "Set Priority..." mirrors CueGUI's Monitor Cue option and is hidden
357-
// on Cuetopia (/) - same gating pattern as "View Job" above.
358-
...(isOnMonitorCue
359-
? ([
360-
{
361-
label: "Set Priority...",
362-
onClick: setPriorityGivenRow,
363-
isActive: editable,
364-
component: <TbSettings className="mr-1" size={14} color={grayIfDisabled(editable)} />,
365-
},
366-
] as MenuItem[])
367-
: []),
356+
{
357+
label: "Set Priority...",
358+
onClick: setPriorityGivenRow,
359+
isActive: editable,
360+
component: <TbSettings className="mr-1" size={14} color={grayIfDisabled(editable)} />,
361+
},
368362
{
369363
label: "Set Max Retries...",
370364
onClick: setMaxRetriesGivenRow,

docs/_docs/developer-guide/cueweb-development.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ The same module is consumed by both the API route and the live preview, so a pas
403403

404404
## Set Priority dialog (CueGUI parity)
405405

406-
The Jobs table's right-click **Set Priority...** entry opens a themed dialog with a 1-100 slider + matching number input. Files involved:
406+
The Jobs table's right-click **Set Priority...** entry opens a themed dialog with a 1-100 slider + matching number input. The menu entry is **not** gated by `usePathname()` - it appears on every page that mounts `JobContextMenu`, so the action is available on both **Cuetopia &rarr; Monitor Jobs** (`/`) and **CueCommander &rarr; Monitor Cue** (`/monitor-cue`). (The neighboring **View Job** entry, by contrast, *is* path-gated to `/monitor-cue` only - see [`action-context-menu.tsx`](https://github.com/AcademySoftwareFoundation/OpenCue/blob/master/cueweb/components/ui/context_menus/action-context-menu.tsx) for the conditional spread.) Files involved:
407407

408408
```
409409
cueweb/

docs/_docs/other-guides/cueweb.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,22 @@ The two subscription mechanisms are independent; you can use one, the other, or
500500
![Toast confirming the subscription is registered](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_subscribe_to_job_confirmation.png)
501501

502502

503+
### Adjust a job's dispatch priority
504+
505+
The job context menu's **Set Priority...** entry opens a themed dialog with a 1-100 range slider and a matching number input - either control drives the value, and both stay in sync. The current priority is pre-filled (cuebot's default is 100); higher numbers dispatch first. **Set Priority...** is available everywhere the job context menu appears: both **Cuetopia &rarr; Monitor Jobs** (the default landing page) and **CueCommander &rarr; Monitor Cue**. The dialog and behavior are identical on either page (Figures 67 to 69).
506+
507+
After **Apply**, a toast confirms the new value and the **Priority** column in the Jobs table updates immediately - no need to wait for the regular 5-second refresh tick.
508+
509+
**Figure 67: Set Priority entry in the job context menu (Cuetopia Monitor Jobs)**
510+
![Set Priority entry in the job context menu](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_menu.png)
511+
512+
**Figure 68: Set Priority dialog with slider and number input**
513+
![Set Priority dialog with slider and number input](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_window.png)
514+
515+
**Figure 69: Toast confirming the priority change and immediate column update**
516+
![Toast confirming the priority change](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_confirmation.png)
517+
518+
503519
## Conclusion
504520

505521
In conclusion, the CueWeb system marks a significant advancement in rendering job management by providing a powerful, web-based interface that simplifies and enhances user interaction with the OpenCue system. With features like customizable job tables, efficient job filtering, and detailed inspections, along with the ability to view comprehensive logs and switch visual modes, CueWeb ensures that managing rendering jobs is more accessible and adaptable to a variety of user needs.

docs/_docs/quick-starts/quick-start-cueweb.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ Click a job row to reveal the inline Layers and Frames panels below the jobs tab
215215
### Job Management
216216

217217
- **Pause/Resume**: Right-click a job and pick **Pause** (or **Unpause** if the job is already paused). The same entry toggles between the two labels based on the job's current state, and is grayed out for Finished jobs.
218+
- **Set Priority**: Right-click a job and pick **Set Priority...** to open a 1-100 slider + number input. Either control drives the value; both stay in sync. The Priority column updates immediately on Apply. Available on both Cuetopia Monitor Jobs and CueCommander Monitor Cue.
218219
- **Kill Jobs**: Use the stop button to terminate jobs
219220
- **Job Details (inline)**: Click on a job row to reveal the inline Layers + Frames panel below the Jobs table.
220221
- **Job Details (tabbed page)**: Right-click a job and choose **View Job Details** to open the tabbed `/jobs/<jobName>` page with Overview / Layers / Frames / Comments / Dependencies tabs. The active tab is stored in the URL so the page is bookmarkable.

docs/_docs/reference/cueweb.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ All three context menus (`JobContextMenu`, `LayerContextMenu`, `FrameContextMenu
418418
| **Drop External Dependencies** | Drop external job-on-job dependencies. |
419419
| **Drop Internal Dependencies** | Drop internal layer-on-layer dependencies. |
420420
| **Set User Color** / **Clear User Color** | Drive the User Color column for this job. *(placeholder)* |
421-
| **Set Priority...** | Open a themed dialog with a 1-100 slider + number input to adjust the job's dispatch priority. Higher numbers dispatch first; default is 100. After Apply the Jobs table updates the Priority column optimistically (no wait for the 5s poll). |
421+
| **Set Priority...** | Open a themed dialog with a 1-100 slider + number input to adjust the job's dispatch priority. Higher numbers dispatch first; default is 100. After Apply the Jobs table updates the Priority column optimistically (no wait for the 5s poll). Available everywhere the job context menu appears - both **Cuetopia &rarr; Monitor Jobs** (`/`) and **CueCommander &rarr; Monitor Cue** (`/monitor-cue`); the entry is *not* gated by `usePathname()`. See [Set Priority dialog](#set-priority-dialog). |
422422
| **Set Max Retries** | Edit the per-frame retry budget. |
423423
| **Reorder Frames** / **Stagger Frames** | Open the reorder / stagger dialogs. *(placeholder)* |
424424
| **Pause** / **Unpause** | Single toggle entry: shows **Pause** when the job is running and **Unpause** when the job is already paused. The label, icon (`TbPlayerPause` / `TbPlayerPlay`) and dispatched action all flip on the row's `isPaused` flag. The entry is shown disabled (grayed) when the job's `state === "FINISHED"` (a terminal state can't be paused), and when the global *Disable Job Interaction* safety flag is on. Active in all other states (In Progress, Failing, Dependency). |
@@ -476,6 +476,26 @@ The Frame context menu's **View Log on \<editor\>** item launches the log file i
476476

477477
---
478478

479+
### Set Priority dialog
480+
481+
The job context menu's **Set Priority...** entry opens a themed dialog with a 1-100 range slider and a matching number input - either control drives the value, and both stay in sync. The number input is pre-filled with the job's current priority. Higher numbers dispatch first; cuebot's default is 100. Available everywhere the job context menu appears - both **Cuetopia &rarr; Monitor Jobs** (`/`) and **CueCommander &rarr; Monitor Cue** (`/monitor-cue`). The dialog and the dispatched action are identical on either page; only the **View Job** entry above it remains gated to `/monitor-cue`.
482+
483+
Mounted once via `<SetPriorityDialog />` in `cueweb/app/jobs/data-table.tsx`; opens in response to a `cueweb:open-set-priority` CustomEvent that `setPriorityGivenRow(row)` in `cueweb/app/utils/action_utils.ts` dispatches with `{ job }`. Lives in `cueweb/components/ui/set-priority-dialog.tsx`.
484+
485+
![Set Priority entry in the job context menu on Cuetopia Monitor Jobs](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_menu.png)
486+
487+
![Set Priority dialog with 1-100 slider + matching number input](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_window.png)
488+
489+
After **Apply**:
490+
491+
- `setJobPriority(job, value)` from `action_utils.ts` posts `{ job, val }` to `/api/job/action/setpriority`, which forwards to `/job.JobInterface/SetPriority` on the REST gateway.
492+
- A success toast confirms the new value.
493+
- The dialog dispatches a `cueweb:priority-changed` CustomEvent that the Jobs table consumes to update the row's **Priority** column optimistically, so the change is visible without waiting for the regular 5-second poll.
494+
495+
![Set Priority success confirmation toast](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_confirmation.png)
496+
497+
---
498+
479499
### Email Artist dialog
480500

481501
The job context menu's **Email Artist...** entry mirrors CueGUI's `EmailDialog`. Mounted once via `<EmailArtistDialog />` in `cueweb/app/jobs/data-table.tsx`; opens in response to a `cueweb:open-email-artist` CustomEvent that `emailArtistGivenRow(row)` in `cueweb/app/utils/action_utils.ts` dispatches with `{ job }`. Lives in `cueweb/components/ui/email-artist-dialog.tsx`.

docs/_docs/tutorials/cueweb-tutorial.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,11 +197,21 @@ the job is already paused, and grayed out when the job is Finished.
197197

198198
### Adjusting Priority
199199

200-
1. Right-click any job row and pick **Set Priority...**.
200+
**Set Priority...** is available everywhere the job context menu appears - both **Cuetopia &rarr; Monitor Jobs** and **CueCommander &rarr; Monitor Cue**. The walk-through below uses Cuetopia.
201+
202+
1. Right-click any job row in Monitor Jobs and pick **Set Priority...**.
203+
204+
![Set Priority entry in the right-click menu](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_menu.png)
205+
201206
2. A themed dialog opens with a 1-100 slider and a matching number input. Either control drives the value; both stay in sync. The current priority is pre-filled (cuebot's default is 100). Higher numbers dispatch first.
207+
208+
![Set Priority dialog with slider and number input](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_window.png)
209+
202210
3. Drag the slider to 50 (or type a value) and click **Apply**.
203211
4. A toast confirms the change. The Priority column in the Jobs table updates immediately - no need to wait for the regular 5-second refresh tick.
204212

213+
![Set Priority success confirmation toast](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_confirmation.png)
214+
205215
---
206216

207217
## Job Details and Frame Management

docs/_docs/user-guides/cueweb-user-guide.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,12 +332,20 @@ Right-click on a job, layer, or frame row to open a CueGUI-parity context menu.
332332

333333
### Adjusting job priority (Set Priority)
334334

335+
**Set Priority...** is available everywhere the job context menu appears - both **Cuetopia &rarr; Monitor Jobs** (the `/` page you land on by default) and **CueCommander &rarr; Monitor Cue** (`/monitor-cue`). The dialog and behavior are identical on either page.
336+
335337
Right-click a job row and pick **Set Priority...** to open a themed dialog. The dialog has a 1-100 range slider and a matching number input - either control drives the value; both stay in sync. The number input is pre-filled with the job's current priority. Higher numbers dispatch first; the cuebot default is 100.
336338

339+
![Set Priority entry in the right-click menu on Cuetopia Monitor Jobs](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_menu.png)
340+
341+
![Set Priority dialog with slider and number input](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_window.png)
342+
337343
After Apply:
338344

339345
- A success toast confirms the new value.
340346
- The job's Priority column in the Jobs table updates immediately (no need to wait for the regular 5-second refresh tick).
347+
348+
![Set Priority success confirmation toast](/assets/images/cueweb/cueweb_cuetopia_monitor_jobs_set_priority_confirmation.png)
341349
- **Layer menu**: View Layer, **Copy Layer Name**, Kill, Eat, Retry, Retry Dead Frames.
342350
- **Frame menu**: **Tail Log** / **View Log** (in-browser viewer), **View Log on <editor>** (external editor - see below), **Copy Log Path**, **Copy Frame Name**, Retry, Eat, Kill.
343351

282 KB
Loading
274 KB
Loading

0 commit comments

Comments
 (0)