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.
Add a HTTP redirect for the SIGGRAPH hands-on class. It redirects to
https://siggraph.stuvel.eu/ so that I can easily update the website while
at SIGGRAPH itself.
Change the package base name of the Go code, from
`git.blender.org/flamenco` to `projects.blender.org/studio/flamenco`.
The old location, `git.blender.org`, has no longer been use since the
[migration to Gitea][1]. The new package names now reflect the actual
location where Flamenco is hosted.
[1]: https://code.blender.org/2023/02/new-blender-development-infrastructure/
Links of the `[text][linkname]` form should not have a space between
the two bracketed parts. And I removed the link to projects.blender.org
because the other two links also link there (indirectly resp. directly).