Hilfe – IAB-Backend-Repository-Service
Kurzübersicht zu fachlichen und technischen Prozessen.
Zurück zur AnwendungRolle des IAB-Backend-Repository-Service
Das IAB-Backend-Repository-Service dient als zentrale Plattform, um Forschungsergebnisse des Instituts sichtbar, auffindbar und mehrfach nutzbar bereitzustellen. Dort werden Publikationen, Forschungsdaten, Podcasts und Videos für Öffentlichkeit, Presse und Politik gebündelt veröffentlicht.
Ein besonderer Mehrwert liegt in der erneuten Nutzung von Daten und Ergebnissen: Auf Basis der Forschung erstellte Auswertungen werden zusätzlich als Dateien abgelegt und können für neue Berichte, Präsentationen und Transferformate weiterverwendet werden.
So entsteht ein effizientes digitales Schaufenster des Instituts:
- mehr Reichweite und Sichtbarkeit
- schnellere Verwertung von Forschungsergebnissen
- bessere Unterstützung von Presse und Politik
- höhere Effizienz durch Wiederverwendung von Daten
- Stärkung des Transfers in die Öffentlichkeit
Kurz: Das IAB-Backend-Repository macht Forschung nicht nur verfügbar, sondern auch aktiv nutzbar.
1) Fachlicher Prozess
- Recherche zuerst: Über Filter nach
Pfad,Jahrund optionalaktiv_id,reprotyp,freigabesowiesinceprüfen, ob Dokumente bereits vorhanden sind. Eine Titelsuche bietet die API derzeit nicht. - Upload danach: Über Neuden Upload-Dialog öffnen und Dateien in erlaubte Pfade hochladen (z. B.
kurzberichte/2026). - Qualitätscheck: Vor dem Upload den Zielpfad im Dialog prüfen, besonders wenn bereits Dateien ausgewählt wurden.
- Dateiverwaltung: Die Ergebnisliste zeigt u. a. Titel,
aktiv_id,freigabe, Größe und Erstelldatum. Über den Titel-Link wird heruntergeladen; ✎ öffnet Bearbeiten (Metadaten und Inhalt ersetzen),Xlöscht. ID und Dateiname stehen in den aufgeklappten Details.
2) Authentifizierung und Sicherheit
- Anmeldung erfolgt über einen Passwort-Dialog beim ersten Aufruf.
- Das Passwort wird serverseitig geprüft; der Bearer-Token liegt in einer HttpOnly-Session.
- Token und Passwort werden nicht im Browser-LocalStorage oder sessionStorage abgelegt.
- Bei Fehler bleibt die Anwendung gesperrt und zeigt eine Meldung an.
- Abmelden über das Symbol in der Kopfzeile (Session wird serverseitig gelöscht).
3) Technischer Ablauf im Hintergrund
- Token:
POST /api/tokensmit E-Mail, Passwort und Token-Name (serverseitig durch die Next.js-App). - Token widerrufen:
DELETE /api/tokens/currentmitAuthorization: Bearer <TOKEN>. - Liste:
GET /api/filesmit kombinierbaren Query-Parametern:path(Präfix),aktiv_id,since(ISO 8601 mit Zeitzone),freigabe(1/0),reprotyp. Paginiert (100 Einträge pro Seite), sortiert nach Hochladezeit (neueste zuerst). Administratoren sehen alle Uploads;freigabe=0filtert unveröffentlichte Datensätze. - Upload:
POST /api/filesalsmultipart/form-datamitfiles[]und optionalen Metadaten (inkl.erstellt_von,freigegeben_von). - Download:
GET /api/files/{id}/download - Löschen:
DELETE /api/files/{id}mit Sicherheitsabfrage im Modal. - Einzeldatei:
GET /api/files/{id}– Metadaten einer Datei. - Metadaten:
PATCH /api/files/{id}– Metadaten und optionalpathändern. - Inhalt ersetzen:
POST /api/files/{id}/content– Dateiinhalt unter derselben ID ersetzen (Feldfile).
API-Referenz (Markdown): /api-doku · Interaktiv: /api-docs (Swagger UI) · OpenAPI: openapi-datahub.yaml · file_upload.md
4) Bedienhinweise
- Upload: Über den Button Neu neben dem Filter-Reset öffnet sich ein Dialog mit Zielpfad, optionalen Metadatenfeldern und Dateiauswahl (aktiv_id und Dateien in einer Zeile).
- Upload-Zielpfad: Steht oben im Dialog und ist frei editierbar (z. B.
neues-verzeichnis/2026). „Vom Filter übernehmen“ übernimmt Pfad + Jahr aus der Suche. - Pfad = Alle: Upload bleibt möglich, wenn im Dialog ein gültiger Zielpfad steht.
- Jahresfilter: Standard ist das aktuelle Jahr; der Upload übernimmt beim Öffnen denselben Pfad/Jahr-Kontext wie die Suche (solange der Pfad nicht manuell geändert wurde).
- Filter:
aktiv_id,reprotyp,freigabeundsince(lokale Zeit mit Zeitzone). Kein Filter nachtitel– die API unterstützt das nicht. - Upload-Metadaten: Im Dialog können u. a.
titel,reprotyp,erstellt_vonundfreigegeben_vongesetzt werden. - Ergebnisliste: Titel-Spalte (Fallback: Dateiname), Erstelldatum nur als Datum; volle Zeitstempel und ID in den Details bzw. im Tooltip.
- Inhalt ersetzen: Im Bearbeiten-Dialog kann der Dateiinhalt unter derselben ID ersetzt werden, ohne Metadaten zu verlieren.
- Reset-Icon: Setzt die Filter auf Standardwerte zurück.
- Theme: Hell/Dunkel in der Kopfzeile – Einstellung wird im Browser gespeichert.
5) Dateitypen, Limits und Validierung
- Erlaubte Dateitypen:
pdf,txt,csv,jpg/jpeg,png,gif,webp,doc,docx,xlsx,pptx,zip,mp4,wav,ogg,mp3,rdf,json. - Audio: WAV kann als
audio/x-wav,audio/wavoderaudio/waveerkannt werden; OGG alsaudio/ogg, MP3 alsaudio/mpeg. Inhalte werden nicht umgewandelt. - Maximale Dateianzahl pro Upload:
25Dateien. - Maximale Dateigröße:
200 MBpro Datei (API-Limit). Vor dem API-Server kann nginx ein kleineres Limit haben. - Rate Limit Upload:
60 Requests / Minute. - Rate Limit Token-Erzeugung:
10 Requests / Minute. - Pfadregeln: Erlaubt sind
a-z A-Z 0-9 . _ -und/; kein führender/abschließender Slash und keine..-Segmente. - Wichtig: Der MIME-Typ wird serverseitig geprüft (Magic-Bytes), nicht nur über Dateiendung.
6) Fehlerbilder
401: Token fehlt/ungültig – erneut anmelden.403: Download gesperrt (freigabe=falseodersperrfristliegt in der Zukunft). Administratoren dürfen gesperrte Inhalte herunterladen.413: Payload Too Large – oft nginx vor der API (client_max_body_size), nicht die dokumentierte 200‑MB-API-Grenze.422: Validierungsfehler (Dateityp, Pfad, Größe, Metadaten).404: Datei nicht gefunden oder für den Nutzer nicht sichtbar.429: Rate-Limit erreicht, kurz warten und erneut versuchen.
7) Migration von Bestandsdateien
Für Massenimport (z. B. Kurzberichte aus Elasticsearch) stehen Python-Skripte im übergeordneten Projektordner bereit (upload_kurzber_2024.py, import_kurzber_elastic.py). Diese rufen die Repository-API direkt auf und sind unabhängig von dieser Web-Anwendung.