files_zip für Nextcloud: Packen, entpacken und Archive aufteilen

Ich habe wieder an meiner Nextcloud geschraubt. Diesmal an files_zip, der App, die im App Store unter dem Namen Zipper zu finden ist. Damit lassen sich Dateien direkt auf dem Server zu einem ZIP-Archiv zusammenpacken. Mir fehlte aber die andere Richtung: ein Archiv in der Nextcloud wieder entpacken. Und wenn ich schon dabei bin, warum sollte es bei ZIP bleiben?

Also habe ich die vorhandene App mit Unterstützung von KI erweitert. Die Grundlage stammt vom Nextcloud-Projekt. Meine Änderungen liegen in einem eigenen Fork, also einer Arbeitskopie des ursprünglichen Projekts. In meiner privaten Nextcloud nutze und teste ich diese Version bereits.

ZIP war der Anfang

In meiner Erweiterung lassen sich ZIP, TAR, TAR.GZ beziehungsweise TGZ und 7z verarbeiten. Im Dialog zum Packen wähle ich das Format aus. Das fertige Archiv landet im gerade geöffneten Ordner. Beim Entpacken entsteht ein eigener Unterordner mit dem Namen des Archivs. Das finde ich wesentlich angenehmer, als anschließend alle herausgefallenen Dateien einzeln zusammensuchen zu müssen.

TAR bündelt Dateien zunächst nur; bei TAR.GZ kommt die Komprimierung dazu. Für das Erstellen der zusätzlichen Formate und für das Entpacken von 7z braucht der Server eine unterstützte 7-Zip-Installation. Ohne sie stehen diese Funktionen nicht zur Verfügung. Das normale ZIP-Packen bleibt weiterhin über den bisherigen Weg möglich.

Screenshot
Screenshot

Beim Ausprobieren geht es mir nicht nur darum, ob am Ende irgendeine Datei da ist. Ich öffne die erzeugten Archive wieder und schaue nach, ob Inhalt und Ordnerstruktur stimmen. Gerade beim Entpacken darf die App außerdem vorhandene Dateien nicht still überschreiben oder Dateien außerhalb des vorgesehenen Zielordners ablegen.

Große Archive in kleinere Teile zerlegen

Inzwischen ist noch etwas dazugekommen: mehrteilige Archive. Den Wunsch danach gibt es im ursprünglichen Projekt bereits als Issue #306. Eine große Archivdatei lässt sich dabei in mehrere Stücke mit einer festgelegten Größe aufteilen. Das ist beispielsweise praktisch, wenn ein Übertragungsweg nur begrenzte Dateigrößen annimmt.

Im neuen Dialog kann ich die Aufteilung einschalten und eine Teilgröße in MiB oder GiB angeben. Heraus kommen nummerierte Dateien wie archiv.7z.001 und archiv.7z.002. Die Teile gehören zusammen; eine einzelne Datei daraus ersetzt nicht das vollständige Archiv.

Diese Weiterentwicklung liegt im separaten Branch feature/multipart-archives. Damit bleibt mein erster Vorschlag an das Originalprojekt überschaubar. Das Aufteilen benötigt ebenfalls den passenden 7-Zip-Unterbau. Aktuell geht es dabei um das Erstellen der Teile.

86 MB und erst einmal drei Minuten warten

Bei meinem Test dauerte es zunächst rund drei Minuten, bis eine Datei mit etwa 86 MB verarbeitet war. Das kam mir ziemlich lang vor. Die App arbeitet im Hintergrund und reiht Aufträge in Nextclouds Jobverarbeitung ein. Zur gefühlten Dauer kann deshalb auch die Wartezeit gehören, bis ein Auftrag überhaupt startet.

Mit einem eigenen Hintergrundprozess, der die Archivaufträge zeitnah übernimmt, ging es bei mir deutlich schneller. Die drei Minuten sagen deshalb noch nicht, wie lange das eigentliche Packen dauert. Für den Alltag war der Unterschied aber sofort zu merken.

Genau solche Stellen machen mir inzwischen Spaß: etwas fehlt, ich beschreibe die gewünschte Funktion, lasse mir bei der Umsetzung helfen und probiere sie auf meinem Server aus. Dann fällt etwas auf, das beim Lesen des Codes noch völlig unauffällig wirkte. Also noch eine Runde. Bei meiner eigenen Nextcloud-App MediaFetch war dieser Wechsel zwischen Entwickeln und Ausprobieren ähnlich wichtig.

Den ersten Teil mit zusätzlichen Archivformaten und Entpacken habe ich als Pull Request #491 eingereicht. Stand 13. September 2026 ist er zur Prüfung freigegeben, aber noch nicht übernommen. Die beschriebenen Erweiterungen sind deshalb bislang mein Entwicklungsstand im Fork und kein versprochenes App-Store-Update.

Nun bin ich gespannt, was aus dem Beitrag zum Originalprojekt wird. Auf meiner Nextcloud ist aus dem kleinen ZIP-Helfer jedenfalls schon ein Werkzeug geworden, mit dem ich mehr anfangen kann.

Wie ist deine Meinung?
Schreib gern einen Kommentar unter dem Artikel oder diskutiere mit anderen im Matrix-Kanal: #dasnetzundich:matrix.org

Schreibe einen Kommentar