feat(office): Dokumente am Telefon als PDF ansehen statt bearbeiten

Am Finger öffnet ein Office-Dokument jetzt das gewandelte PDF im eigenen
Betrachter; "Edit" daneben führt trotzdem in den Editor. Mit Maus ändert
sich nichts.

Der Web-Editor ist eine vollständige Textverarbeitung – zwischen seinen
Leisten bleibt auf 400 Pixeln vom Dokument ein Rechteck. Collabora und
OnlyOffice verhalten sich gleich; deshalb kein besserer Bedienmodus,
sondern ein anderes Werkzeug. Gewandelt wird von dem Server, der auch
bearbeitet: Sonst sähe man unterwegs ein LibreOffice-Layout eines
Dokuments, für das man OnlyOffice gewählt hat.

Je Dokument gibt es GENAU EIN PDF, und das ist keine Frage des
Aufräumens, sondern des Schlüssels: previews/<id>.pdf trägt die Fassung
nicht im Namen, eine neue Fassung überschreibt. files.preview_version
sagt, ob das Abgelegte noch passt.

Sicherheit: Die Adresse, die OnlyOffice zurückgibt, wird von uns
abgerufen – der Wähler des Transports lässt nur OFFICE_ALLOWED_HOSTS zu,
zusätzlich eine ausdrückliche Prüfung mit Test. JWT-Signatur (HS256) für
die eigene API des Dokumentenservers. Fremde Kennung 404, ohne Anmeldung
401. Das Ergebnis muss mit %PDF- beginnen, sonst landete eine
Fehlerseite im Zwischenspeicher.

Gemessen gegen einen echten OnlyOffice-Server im Docker-Netz:
  erster Abruf 1,05 s -> zweiter 0,009 s
  erneut hochgeladen -> Fassung 2, preview_version 2, weiterhin 1 Datei
  GC: herrenloses PDF von vorgestern weg, echtes bleibt
  endgültig gelöscht -> PDF weg; Papierkorb -> PDF bleibt
  ohne Anmeldung 401, fremde Kennung 404, Nicht-Office 415

Dazu im Admin-Bereich neu: Platzbedarf der abgeleiteten Daten
(Vorschaubilder, PDFs, Profilbilder). Sie zählen gegen kein Kontingent –
ein Ordner, der wächst, ohne dass ihn jemand sieht, ist eine stille
Überraschung.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-31 23:30:49 +02:00
1 parent 84ae570305
commit 9c5cda75d7
22 files changed
+959 -12

No files matched your search

+29
View File
@@ -654,6 +654,35 @@ Abbild.
> über `{"payload": …}`) kommt das Ergebnis. Der Schlüssel gehört also
> gesetzt – sonst läuft die API offen.
### Am Telefon: ansehen statt bearbeiten
Tippt man auf ein Office-Dokument, öffnet sich am **Finger** nicht der Editor,
sondern das Dokument als PDF im eigenen Betrachter. „Edit" in der Kopfzeile
führt trotzdem hinein. Mit **Maus** ändert sich nichts.
Der Grund ist keine Geschmacksfrage: Der Web-Editor ist eine vollständige
Textverarbeitung, und zwischen Menüband, Formatleisten und
Eigenschaftenbereich bleibt auf 400 Pixeln vom Dokument ein Rechteck übrig.
Das gilt für Collabora wie für OnlyOffice – beide ausprobiert, dasselbe Bild.
Unterwegs ist der Anlass fast immer *nachsehen*, und dafür ist ein PDF das
bessere Werkzeug.
Gewandelt wird von **demselben** Server, der auch bearbeitet: Wer OnlyOffice
wegen der Treue zu MS-Office-Formaten nimmt, soll unterwegs nicht ein
LibreOffice-Layout desselben Dokuments sehen.
| | |
|---|---|
| Ablage | `previews/<datei-id>.pdf` – **eine** Datei je Dokument, wird überschrieben |
| Gültigkeit | `files.preview_version`; neue Fassung ⇒ neu gewandelt |
| Kontingent | zählt **nicht** mit – abgeleitet, niemand hat es hochgeladen |
| Aufräumen | endgültiges Löschen nimmt es mit; der GC kennt den Ordner |
| Grenze | über 100 MB wird nicht gewandelt (`413`), die Oberfläche bietet den Editor an |
| Nur OnlyOffice | braucht `OFFICE_JWT_SECRET` – ohne Signatur `{"error":-8}` |
Wie viel Platz das belegt, steht im Admin-Bereich unter *Audit* neben der
Bereinigung, zusammen mit Vorschau- und Profilbildern.
### Welche Dateien, und wie gut
Bearbeitet wird nur, was auf der **Positivliste** steht: