Übersicht
Der Dropbox-Konnektor bietet die Funktionalität, Dateien aus dem Dropbox-Cloud-Speicher abzurufen und im Fess-Index zu registrieren.
Für diese Funktion ist das Plugin fess-ds-dropbox erforderlich.
Unterstützte Dienste
Dropbox (Dateispeicher)
Dropbox Paper (Dokumente)
Voraussetzungen
Die Installation des Plugins ist erforderlich
Ein Dropbox-Entwicklerkonto und eine Anwendung müssen erstellt werden
Ein Zugriffstoken muss abgerufen werden
Plugin-Installation
Installieren Sie über die Administrationsoberfläche unter „System“ -> „Plugins“:
Laden Sie
fess-ds-dropbox-X.X.X.jarvon Maven Central herunterLaden Sie es über die Plugin-Verwaltungsoberfläche hoch und installieren Sie es
Starten Sie Fess neu
Weitere Details finden Sie unter Plug-ins.
Konfiguration
Konfigurieren Sie über die Administrationsoberfläche unter „Crawler“ -> „Datenspeicher“ -> „Neu erstellen“.
Grundeinstellungen
| Einstellung | Beispielwert |
|---|---|
| Name | Company Dropbox |
| Handler-Name | DropboxDataStore oder DropboxPaperDataStore |
| Aktiviert | Ein |
Parameter-Einstellungen
Parameterliste
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
access_token | Ja | Zugriffstoken von Dropbox (in der App Console generiert) |
basic_plan | Nein | Bei Einzelkonto auf true, bei Teamkonto auf false setzen (Standard: false) |
max_size | Nein | Maximale Dateigröße für die Indizierung in Bytes (Standard: 10000000) |
number_of_threads | Nein | Anzahl der Threads für das Crawling (Standard: 1) |
ignore_folder | Nein | Ordner-Metadaten überspringen (Standard: true) |
ignore_error | Nein | Fehler bei der Inhaltsextraktion ignorieren (Standard: true) |
supported_mimetypes | Nein | Regex-Muster für erlaubte MIME-Typen, kommagetrennt (Standard: .*) |
include_pattern | Nein | URL-Muster für einzuschließendes Crawling |
exclude_pattern | Nein | URL-Muster für auszuschließendes Crawling |
default_permissions | Nein | Standardberechtigungen für indizierte Dokumente, kommagetrennt |
max_cached_content_size | Nein | Maximale im Speicher gecachte Inhaltsgröße in Bytes. Inhalte, die diesen Wert überschreiten, werden in eine temporäre Datei geschrieben (Standard: 1048576) |
readInterval | Nein | Wartezeit in Millisekunden zwischen der Verarbeitung einzelner Datensätze (Standard: 0) |
Skript-Einstellungen
Für Dropbox-Dateien
Verfügbare Felder:
| Feld | Beschreibung |
|---|---|
file.url | Vorschau-Link der Datei |
file.contents | Textinhalt der Datei |
file.mimetype | MIME-Typ der Datei |
file.filetype | Dateityp |
file.name | Dateiname |
file.path_display | Pfad der Datei |
file.size | Dateigröße (Bytes) |
file.client_modified | Letztes Änderungsdatum auf Client-Seite |
file.server_modified | Letztes Änderungsdatum auf Server-Seite |
file.roles | Zugriffsberechtigungen der Datei |
file.id | Dropbox-Datei-ID |
file.path_lower | Dateipfad in Kleinbuchstaben |
file.parent_shared_folder_id | ID des übergeordneten freigegebenen Ordners |
file.content_hash | Inhaltshash |
file.rev | Dateirevision |
Für Dropbox Paper
Verfügbare Felder:
| Feld | Beschreibung |
|---|---|
paper.url | Vorschau-Link des Paper-Dokuments |
paper.contents | Textinhalt des Paper-Dokuments |
paper.mimetype | MIME-Typ |
paper.filetype | Dateityp |
paper.title | Titel des Paper-Dokuments |
paper.owner | Eigentümer des Paper-Dokuments |
paper.roles | Zugriffsberechtigungen des Dokuments |
paper.revision | Revision des Paper-Dokuments |
Dropbox-Authentifizierung konfigurieren
Kontotyp und Zugriffstoken
Dieser Konnektor schaltet über den Parameter basic_plan zwischen zwei Betriebsmodi um. Da die Art der zu erstellenden App und des Zugriffstokens unterschiedlich ist, überprüfen Sie dies zuerst.
| Modus | basic_plan | Beschreibung |
|---|---|---|
| Teamkonto (Standard) | false | Für Dropbox Business (Team)-Konten. Erfordert ein Zugriffstoken mit Teamadministrator-Rechten und crawlt kontoübergreifend Dateien von Teammitgliedern und Teamordnern. |
| Einzelkonto | true | Für persönliche (Nicht-Team)-Konten. Verwendet ein reguläres Zugriffstoken mit Bereichseinschränkung und crawlt Dateien direkt aus diesem Konto. |
Bemerkung
Im Standardmodus (basic_plan=false) werden Team-Verwaltungs-APIs verwendet (Teammitglieder-Liste, dateizugriff pro Mitglied, Teamordner). Daher sind ein Dropbox Business-Konto und ein Token mit Teamadministrator-Rechten zwingend erforderlich. Wenn Sie ein Einzelkonto verwenden, setzen Sie unbedingt basic_plan=true.
Schritte zum Abrufen des Zugriffstokens
1. App in der Dropbox App Console erstellen
Besuchen Sie https://www.dropbox.com/developers/apps:
Klicken Sie auf „Create app“
Wählen Sie als API-Typ „Scoped access“
Wählen Sie den Zugriffstyp (bei kontoübergreifendem Crawling wird „Full Dropbox“ empfohlen)
Geben Sie den App-Namen ein und erstellen Sie sie
2. Berechtigungen konfigurieren
Wählen Sie im Tab „Permissions“ die erforderlichen Berechtigungen aus:
Erforderliche Berechtigungen für das Crawlen von Dateien und Paper:
files.metadata.read- Lesen von Datei-Metadatenfiles.content.read- Lesen von Datei- und Paper-Dokumentinhaltensharing.read- Lesen von Freigabeinformationen
Zusätzlich erforderliche Berechtigungen für Teamkonten (``basic_plan=false``):
members.read- Lesen der TeammitgliederlisteZugriffsberechtigungen für Teamdaten/Teamspaces (erforderlich für das Crawling von Dateien einzelner Mitglieder und Teamordnern)
Bemerkung
Im Teamkontomodus erfolgt der Zugriff auf einzelne Mitglieder und Teamordner als Teamadministrator. Aktivieren Sie die oben genannten teambezogenen Berechtigungen im Tab „Permissions“ und generieren Sie ein Token mit Teamadministrator-Rechten.
3. Zugriffstoken generieren
Im Tab „Settings“:
Scrollen Sie zum Abschnitt „Generated access token“
Klicken Sie auf die Schaltfläche „Generate“
Kopieren Sie das generierte Token (dieses Token wird nur einmal angezeigt)
Warnung
Bewahren Sie das Zugriffstoken sicher auf. Mit diesem Token kann auf das Dropbox-Konto zugegriffen werden.
4. Token konfigurieren
Setzen Sie das abgerufene Token in den Parametern:
Einzelkonto-Einstellungen
Nutzung mit Einzelkonten
Bei einem Einzelkonto (kein Teamkonto) setzen Sie den Parameter basic_plan auf true:
Bei false (Standard) wird als Teamkonto gearbeitet und Dateien von Teammitgliedern und Teamordnern gecrawlt. Bei true wird als Einzelkonto gearbeitet und Dateien direkt aus dem Konto gecrawlt.
Anwendungsbeispiele
Alle Dropbox-Dateien crawlen
Parameter:
Skript:
Dropbox Paper-Dokumente crawlen
Parameter:
Skript:
Crawlen mit Berechtigungen
Parameter:
Skript (Dropbox-Dateien):
Skript (Dropbox Paper):
Nur bestimmte Dateitypen crawlen
Um nur bestimmte MIME-Typen zu indizieren, geben Sie im Parameter supported_mimetypes die zulässigen MIME-Typen als kommagetrennte Regex-Ausdrücke an.
Bemerkung
Skripte im Datenspeicher werden zeilenweise als eigenständige Ausdrücke der Form Feldname=Ausdruck ausgewertet. Daher ist es nicht möglich, mit einem mehrzeiligen if-Block mehrere Felder gemeinsam zuzuweisen. Die Einschränkung nach MIME-Typ sollte über den Parameter supported_mimetypes und nicht über das Skript erfolgen.
Parameter (nur PDF- und Word-Dateien):
Skript:
Fehlerbehebung
Authentifizierungsfehler
Symptom: Invalid access token oder 401 Unauthorized
Zu überprüfen:
Überprüfen Sie, ob das Zugriffstoken korrekt kopiert wurde
Überprüfen Sie, ob das Token nicht abgelaufen ist (verwenden Sie ein langfristiges Token)
Überprüfen Sie, ob die erforderlichen Berechtigungen in der Dropbox App Console erteilt wurden
Überprüfen Sie, ob die App nicht deaktiviert wurde
Keine Dateien abrufbar
Symptom: Crawling erfolgreich, aber 0 Dateien
Zu überprüfen:
Überprüfen Sie, ob der „Access type“ der App korrekt ist:
„Full Dropbox“: Zugriff auf gesamte Dropbox
„App folder“: Zugriff nur auf bestimmten Ordner
Überprüfen Sie, ob die erforderlichen Berechtigungen erteilt wurden:
files.metadata.readfiles.content.readsharing.read
Überprüfen Sie, ob Dateien im Dropbox-Konto existieren
API-Ratenbegrenzungsfehler
Symptom: 429 Too Many Requests Fehler
Lösung:
readIntervalsetzen, um die Verarbeitungspause zwischen Dateien zu verlängernnumber_of_threadsverringern, um die Anzahl gleichzeitiger Anfragen zu reduzierenDatenspeicher in mehrere aufteilen (z.B. nach Ordner) und die Ausführungszeiten versetzt planen
Bemerkung
basic_plan ist ein Parameter zur Auswahl des Kontotyps (Team/Einzelkonto) und hat keinen Einfluss auf die Ratenbegrenzung. Setzen Sie ihn entsprechend Ihrem Konto korrekt.
Paper-Dokumente werden nicht abgerufen
Symptom: Paper-Dokumente werden nicht gecrawlt
Zu überprüfen:
Überprüfen Sie, ob der Handler-Name
DropboxPaperDataStoreistÜberprüfen Sie, ob
files.content.readin den Berechtigungen enthalten istÜberprüfen Sie, ob Paper-Dokumente tatsächlich existieren
Bei großen Dateimengen
Symptom: Crawling dauert lange oder Timeout
Lösung:
Datenspeicher in mehrere aufteilen (z.B. nach Ordner)
Last über Zeitplaneinstellungen verteilen
Bei Basic-Plan auf API-Ratenbegrenzung achten
Berechtigungen und Zugriffskontrolle
Dropbox-Freigabeberechtigungen abbilden
Dropbox-Freigabeeinstellungen können auf Fess-Berechtigungen abgebildet werden:
Parameter:
Skript:
file.roles oder paper.roles enthält die Dropbox-Freigabeinformationen.
Weiterführende Informationen
Übersicht der Datenspeicher-Konnektoren - Übersicht der Datenspeicher-Konnektoren
Box-Konnektor - Box-Konnektor
Google Workspace-Konnektor - Google Workspace-Konnektor
Datenspeicher-Crawl - Leitfaden zur Datenspeicher-Konfiguration