Für den, der sich alle Änderungen ansehen möchten -> https://github.com/nextcloud/server/releases
Nextcloud Hub8 Keine Previews
-
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!