Document installation & use of sqlc.
Installing sqlc is only necessary to regenerate the database code. Once
generated, the code is independent of sqlc.
Add a screenshot of the Manager's log on the terminal. This should make
it clearer which "Manager output" is meant, also for people who aren't
familiar with terminals.
Fixes#104303
Reword so that the section starts with the suggestion that each problem
has a solution. And make it an enumerated list to clarify the structure
of the answer.
Updated the troubleshooting section of the FAQ to include guidance on checking the firewall and potential third-party antivirus issues when the Worker cannot connect to the Manager. This enhances the user experience by addressing common connectivity issues more comprehensively.
Add a Worker configuration option to configure the Linux out-of-memory
behaviour. Add `oom_score_adjust=500` to `flamenco-worker.yaml` to increase
the chance that Blender gets killed when the machine runs out of memory,
instead of Flamenco Worker itself.
GORM has certain downsides:
- Code-first approach, where queries have to be translated to the Go code
required to execute them.
- GORM comes with its own SQLite implementation, which doesn't provide an
on-connect callback. This means that new connections cannot correctly
enable foreign key constraints, causing database consistency issues.
[SQLC](https://sqlc.dev/) solves these issues for us.
This commit doesn't fully replace GORM with SQLC, but introduces it for
a few queries. Once all queries have been converted, GORM can be removed
completely.
Add a little intro that explains that there are multiple config files. And
add a section that explains that the worker-specific files are not to be
edited, just deleted.
Move the info about using cloud storage from the FAQ to the Shared
Storage chapter of the documentation. The FAQ entry of the topic is now
reduced to a short answer + a link to the moved documentation.
Reorganise the FAQ, grouping the questions in "Features" and
"Troubleshooting". Also I removed the explanation of the difference
between Flamenco v2 and v3, as that's quite obsolete now.
- Describe how to enable/disable the Shaman in more detail,
- adjust the link to Stack Exchange w.r.t. SAMBA & symlinks, and
- include a table of contents at the top of the page.
Add a bit more documentation about the lack of ffmpeg on macOS/arm64 builds
and include a text file in the download package for that platform to
signal where any ffmpeg binary should be placed.
For the hands-on class, there will be a special build of Flamenco. It
disables Shaman on all platforms (for uniformity for all participants)
and hard-codes `localhost` as URL for the Workers (to prevent
participants' Workers from finding each other's Managers).
The special build of Flamenco will be done on a separate branch
(`bcon-2023`), but the website should stay for longer, and thus this
commit is on the `main` branch.
At least for the experimental packages, there should be a link to the
changelog. For release versions we should maybe have something nicer; at
least it should link to the changelog for that particular version, instead
of just the top of the file.
Symbolic links on Windows require some special user privilege, and
Shaman can now check for this at startup. Hopefully this helps in guiding
people towards a working Shaman system.
Instead of explaining all the menu items, just explain the basic actions
(shut down, restart, sleep, wake up), and explain the 'after task is
finished' vs. 'immediately' separately.