owned this note
owned this note
Published
Linked with GitHub
# Flamenco Manager End User Features
*End users* are both artists and TDs.
## Farm Management
- Downloading and installing Flamenco Manager
- Downloading and installing Flamenco Worker
- Configuring Flamenco Manager
- job types / customisation
- storage locations
- replace *one-way variables* with *provisioned configuration*
- use *path variables* also for config of other areas (Shaman currently requires a configuration setting to be the same value as some path variable)
- Connecting Workers to Manager
- Managing workers
- wakeup/sleep/shutdown/pause
- blacklists
- host stats (mem/cpu usage, etc.)
- Upgrading Flamenco Manager
- Shut down, replace executable, restart.
- DB migrations via [migrate](https://github.com/golang-migrate/migrate)
- Upgrading Flamenco Worker
- Shut down, replace executable, restart.
- GUI support?
## Job Submission
- new Blender Add-on
- querying for job types & their parameters
- querying for Manager configuration
- integrating BAT
- Project-association
- Not mandatory
- Based on metadata filtering
## Job Management
- OpenAPI 3/Swagger for REST API, gives nice web interface for documentation and experimenting by TDs.
- Web interface
- Web sockets for real-time updates.
- Maybe also using the REST API for certain operations? Or everything through the web socket?
- Reconsider the end-of-life behaviour of jobs
- Do we still need "Archive"?
- Jobs in "archiving" status probably don't need to be shown in the main jobs list.
- Andy: only interesting bit is the job definition itself (which shot was rendered when, etc.)
### Web Views
In general: filtering (tasks, jobs, maybe even workers) is important.
- Kitsu is nice, allows querying and saving those queries.
- Worker status
- Similar to what we have now.
- Optionally with host info (CPU/mem usage graphs, etc.)
- Last-rendered image
- Also similar to what we have now.
- Optionally switch from server-sent events to websocket to limit communication channels.
- Jobs overview
- Most important page, good candidate for default view.
- Basics similar to current Flamenco Server.
- Must include progress indicator
- percentage of completed tasks
- "X of Y frames" / "X of Y samples" showing on mouse-over
- Aggregated view (X active, X failed, X completed, etc.)
- Bigger view (than Flamenco Server) of the job list, and less on the side. Not a 50/50% split. Mostly because job names are so long.
- Status doesn't need the entire word "COMPLETED", little icon + colour is enough.
- Filtering by status is important.
- "Edit RNA Overrides" button is used in practice, so keep it around.
- "Recreate Job" vs. "Requeue Tasks" is confusing, probably should be merged or "Recreate Job" simply removed.
- Add "browse" button to file path job settings, which launches a file browser. Maybe also configurable to show a image sequence viewer.
- Tasks per job
- Aggregated view *first* (X active, X failed, X completed, etc.)
- List of tasks should either just load all tasks or progressively with infinite scroll. Just loading everything is probably best, because that'll allow simple searches with Ctrl+F.
- Should allow sorting & filtering.
- "Lock task selection" to avoid tasks disappearing.
- "Batch" operations (select tasks, or auto-select tasks with a certain status) and hit the "requeue" button (or cancel or whatever).
- Settings
- Reconsider "settings mode", many people find it confusing.
- Should list available job types, including whether they've been customised or not. Might have them editable & allow saving embedded default scripts to disk.
### Actions: Job
:::info
This documents the behaviour of the current incarnation of Flamenco.
:::
Actions are available depending on the job status. Some statuses do not allow any actions.
| job status | cancel | requeue | recreate | archive | requeue-failed-tasks |
| -------------------:|:------:|:-------:|:--------:|:-------:|:--------------------:|
| active | ✅ | | | | ✅ |
| canceled | | ✅ | ✅ | ✅ | |
| completed | | ✅ | ✅ | ✅ | |
| construction-failed | | | ✅ | | |
| failed | ✅ | ✅ | | ✅ | |
| paused | | ✅ | ✅ | ✅ | |
| queued | ✅ | | | | ✅ |
| | | | | | |
| archived | | | | | |
| archiving | | | | | |
| cancel-requested | | | | | |
| fail-requested | | | | | |
| requeued | | | | | |
| under-construction | | | | | |
| waiting-for-files | | | | | |
#### Desired changes
- Add action `PAUSE` which can be used when a job is active.
- Alternative rename "canceled" status to "stopped", and then "cancel" and "pause" can be the same operation.
### Actions: Task
:::info
This documents the behaviour of the current incarnation of Flamenco.
:::
Actions are available depending on the task status. Some statuses do not allow any actions.
| task status | requeue | cancel |
| ---------------: | :-----: | :----: |
| active | | ✅ |
| canceled | ✅ | |
| completed | ✅ | |
| failed | ✅ | |
| queued | | ✅ |
| soft-failed | | ✅ |
| | | |
| cancel-requested | | |
| fail-requested | | |
| paused | | |
| processing | | |
## Authentication
TODO: See what OpenAPI 3 has for this.
## Advanced features
- Connecting Manager to Server