Mit dem Upgrade auf Hub8 fing das Dilemma an, mir fehlten die Previews. Und das war diesmal eine echt harte Nuss. Es gibt diesen Befehl, der eigentlich alle Previews neu anlegen soll.
sudo -u www-data php /nextcloud/occ preview:generate-all -vvv
Aber, ich bekam immer diese kryptische (für mich) Fehlermeldung.
2024-06-10T15:09:10+00:00 In File.php line 56:
2024-06-10T15:09:10+00:00
2024-06-10T15:09:10+00:00 [OCP\Files\GenericFileException]
2024-06-10T15:09:10+00:00
2024-06-10T15:09:10+00:00
2024-06-10T15:09:10+00:00 Exception trace:
2024-06-10T15:09:10+00:00 at /nextcloud/lib/private/Files/Node/File.php:56
2024-06-10T15:09:10+00:00 OC\Files\Node\File->getContent() at /nextcloud/lib/private/Files/SimpleFS/SimpleFile.php:74
2024-06-10T15:09:10+00:00 OC\Files\SimpleFS\SimpleFile->getContent() at /nextcloud/lib/private/Preview/GeneratorHelper.php:73
2024-06-10T15:09:10+00:00 OC\Preview\GeneratorHelper->getImage() at /nextcloud/lib/private/Preview/Generator.php:190
2024-06-10T15:09:10+00:00 OC\Preview\Generator->generatePreviews() at /nextcloud/lib/private/PreviewManager.php:207
2024-06-10T15:09:10+00:00 OC\PreviewManager->generatePreviews() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:230
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->parseFile() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:212
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->parseFolder() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:210
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->parseFolder() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:190
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->generateUserPreviews() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:136
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}() at /nextcloud/lib/private/User/Manager.php:666
2024-06-10T15:09:10+00:00 OC\User\Manager->callForSeenUsers() at /nextcloud/apps/previewgenerator/lib/Command/Generate.php:135
2024-06-10T15:09:10+00:00 OCA\PreviewGenerator\Command\Generate->execute() at /nextcloud/3rdparty/symfony/console/Command/Command.php:298
2024-06-10T15:09:10+00:00 Symfony\Component\Console\Command\Command->run() at /nextcloud/3rdparty/symfony/console/Application.php:1040
2024-06-10T15:09:10+00:00 Symfony\Component\Console\Application->doRunCommand() at /nextcloud/3rdparty/symfony/console/Application.php:301
2024-06-10T15:09:10+00:00 Symfony\Component\Console\Application->doRun() at /nextcloud/3rdparty/symfony/console/Application.php:171
2024-06-10T15:09:10+00:00 Symfony\Component\Console\Application->run() at /nextcloud/lib/private/Console/Application.php:213
2024-06-10T15:09:10+00:00 OC\Console\Application->run() at /nextcloud/console.php:102
2024-06-10T15:09:10+00:00 require_once() at /nextcloud/occ:11
2024-06-10T15:09:10+00:00
2024-06-10T15:09:10+00:00 preview:generate-all [-p|--path [PATH]] [--] [<user_id>...]
Ich weiß nicht, was ich alles versucht habe. Ich versucht dieses File.php zu finden, das ist gar nicht so einfach. Irgendwann bin ich dann bei meiner config.php gelandet. Meine 'enabledPreviewProviders' sahen anders aus, als beim config.sample.php. So habe ich mich entschieden, diese anzupassen.
'enable_previews' => true,
'preview_concurrency_all' => 8,
'preview_concurrency_new' => 4,
'preview_max_x' => 2048,
'preview_max_y' => 2048,
'preview_max_scale_factor' => 1,
'preview_libreoffice_path' => '/usr/bin/libreoffice',
'preview_max_filesize_image' => 50,
'preview_max_memory' => 256,
'preview_ffmpeg_path' => '/usr/bin/ffmpeg',
'enabledPreviewProviders' => [
'OC\Preview\BMP',
'OC\Preview\GIF',
'OC\Preview\JPEG',
'OC\Preview\Krita',
'OC\Preview\MarkDown',
'OC\Preview\Movie',
'OC\Preview\MP3',
'OC\Preview\OpenDocument',
'OC\Preview\PDF',
'OC\Preview\PNG',
'OC\Preview\TXT',
'OC\Preview\XBitmap',
],
'preview_file_endings' => [
'jpg',
'jpeg',
'png',
'gif',
'bmp',
'pdf'
],
Irgendwann tauchten die ersten Previews auf. Seltsamerweise erzeugte er immer nur Previews, wenn die Dateiendung .jpg war. Wenn es .JPG war, wurde kein Preview erzeugt. Häh!?!?!?
Ok, alle Dateien umbenannt.
find <PATH>/Frank/files/ -type f -name '*.JPG' -exec rename 's/\.JPG$/\.jpg/' '{}' \;
Danach wurden auch die Previews erzeugt.
Noch ein paar Befehle, die hilfreich sind.
Scant alle Files neu, nachdem man z.B. eines auf dem Filesystem umbenannt hat und trägt das in die Datenbank ein.
sudo -u www-data php occ files:scan --all
Generiert alle (?) Previews erneut!?
sudo -u www-data php /nextcloud/occ preview:generate-all -vvv
Erzeugt nur Previews von allen geänderten / neuen Files (?)
sudo -u www-data php occ preview:pre-generate
Fazit
Das letzte Upgrade auf 8.0 war eines der Schlechteren. Vieles ist kaputt und man weiß auch nicht genau, woran es liegt. Da ich dazu im Internet nicht viel gefunden habe, vermute ich ich bin alleine
Dagegen spricht dieser Link -> https://github.com/nextcloud/previewgenerator/issues und dieser -> https://github.com/nextcloud/server/issues?q=is%3Aissue+preview+is%3Aopen
Bei beiden findet man ganz viele offene Bugs im Zusammenhang mit der Preview Funktion. Ich stelle hier mal bewusst die Frage, ob das Nextcloud Team etwas zu viel Zeit damit verbringt KI / AI einzubauen?
Leider weiß ich jetzt hier am Ende auch nicht zu 100% woran es lag, aber vielleicht gibt es dem ein oder anderen dem es helfen kann. Viel Erfolg!