Aperçu
Le connecteur Dropbox fournit une fonctionnalité pour récupérer des fichiers depuis le stockage cloud Dropbox et les enregistrer dans l’index de Fess.
Cette fonctionnalité nécessite le plugin fess-ds-dropbox.
Services pris en charge
Dropbox (stockage de fichiers)
Dropbox Paper (documents)
Prérequis
L’installation du plugin est requise
Un compte développeur Dropbox et la création d’une application sont nécessaires
L’obtention d’un token d’accès est requise
Installation du plugin
Installez depuis l’interface d’administration sous « Système » → « Plugins » :
Téléchargez
fess-ds-dropbox-X.X.X.jardepuis Maven CentralUploadez et installez depuis l’interface de gestion des plugins
Redémarrez Fess
Ou consultez Présentation pour plus de détails.
Méthode de configuration
Configurez depuis l’interface d’administration : « Crawler » → « DataStore » → « Nouveau ».
Configuration de base
| Élément | Exemple de configuration |
|---|---|
| Nom | Company Dropbox |
| Nom du handler | DropboxDataStore ou DropboxPaperDataStore |
| Actif | Oui |
Configuration des paramètres
Liste des paramètres
| Paramètre | Requis | Description |
|---|---|---|
access_token | Oui | Token d’accès Dropbox (généré dans App Console) |
basic_plan | Non | true pour les comptes individuels, false pour les comptes d’équipe (défaut : false) |
max_size | Non | Taille maximale des fichiers pour l’indexation en octets (défaut : 10000000) |
number_of_threads | Non | Nombre de threads pour l’exploration (défaut : 1) |
ignore_folder | Non | Ignorer les métadonnées des dossiers (défaut : true) |
ignore_error | Non | Ignorer les erreurs lors de l’extraction de contenu (défaut : true) |
supported_mimetypes | Non | Motifs regex pour les types MIME autorisés, séparés par des virgules (défaut : .*) |
include_pattern | Non | Motif d’URL à inclure dans l’exploration |
exclude_pattern | Non | Motif d’URL à exclure de l’exploration |
default_permissions | Non | Permissions par défaut pour les documents indexés, séparées par des virgules |
max_cached_content_size | Non | Taille maximale du contenu mis en cache en mémoire en octets. Le contenu dépassant cette taille est écrit dans un fichier temporaire (défaut : 1048576) |
readInterval | Non | Temps d’attente inséré entre le traitement de chaque enregistrement (en millisecondes) (défaut : 0) |
Configuration du script
Pour les fichiers Dropbox
Champs disponibles :
| Champ | Description |
|---|---|
file.url | Lien de prévisualisation du fichier |
file.contents | Contenu texte du fichier |
file.mimetype | Type MIME du fichier |
file.filetype | Type de fichier |
file.name | Nom du fichier |
file.path_display | Chemin du fichier |
file.size | Taille du fichier (octets) |
file.client_modified | Date de dernière modification côté client |
file.server_modified | Date de dernière modification côté serveur |
file.roles | Autorisations d’accès au fichier |
file.id | Identifiant du fichier Dropbox |
file.path_lower | Chemin du fichier en minuscules |
file.parent_shared_folder_id | ID du dossier partagé parent |
file.content_hash | Hash du contenu |
file.rev | Révision du fichier |
Pour Dropbox Paper
Champs disponibles :
| Champ | Description |
|---|---|
paper.url | Lien de prévisualisation du document Paper |
paper.contents | Contenu texte du document Paper |
paper.mimetype | Type MIME |
paper.filetype | Type de fichier |
paper.title | Titre du document Paper |
paper.owner | Propriétaire du document Paper |
paper.roles | Autorisations d’accès au document |
paper.revision | Révision du document Paper |
Configuration de l’authentification Dropbox
Type de compte et token d’accès
Ce connecteur bascule entre deux modes de fonctionnement via le paramètre basic_plan. Le type d’application et de token d’accès à créer diffère selon le mode ; vérifiez ce point en premier.
| Mode | basic_plan | Description |
|---|---|---|
| Compte d’équipe (défaut) | false | Pour les comptes Dropbox Business (équipe). Un token d’accès disposant des droits d’administrateur d’équipe est requis ; il explore les fichiers des membres de l’équipe et les dossiers d’équipe de manière transversale. |
| Compte individuel | true | Pour les comptes personnels (hors équipe). Utilise un token d’accès étendu standard et explore directement les fichiers du compte. |
Note
Par défaut (basic_plan=false), le connecteur utilise les API de gestion d’équipe (liste des membres, accès aux fichiers par membre, dossiers d’équipe) ; un compte Dropbox Business et un token disposant des droits d’administrateur d’équipe sont donc obligatoires. Si vous utilisez un compte individuel, définissez impérativement basic_plan=true.
Procédure d’obtention du token d’accès
1. Créer une application dans Dropbox App Console
Accédez à https://www.dropbox.com/developers/apps :
Cliquez sur « Create app »
Sélectionnez « Scoped access » pour le type d’API
Sélectionnez le type d’accès (« Full Dropbox » recommandé pour explorer l’intégralité d’un compte d’équipe)
Saisissez le nom de l’application et créez-la
2. Configuration des permissions
Dans l’onglet « Permissions », sélectionnez les permissions nécessaires :
Permissions requises pour l’exploration des fichiers et de Paper :
files.metadata.read- Lecture des métadonnées des fichiersfiles.content.read- Lecture du contenu des fichiers et des documents Papersharing.read- Lecture des informations de partage
Permissions supplémentaires requises pour les comptes d’équipe (``basic_plan=false``) :
members.read- Lecture de la liste des membres de l’équipePermissions d’accès aux données d’équipe / espaces d’équipe (nécessaires pour explorer les fichiers par membre et les dossiers d’équipe)
Note
En mode compte d’équipe, le connecteur accède à chaque membre et dossier d’équipe en tant qu’administrateur d’équipe. Activez les permissions liées à l’équipe ci-dessus dans l’onglet Permissions, puis générez un token d’administrateur d’équipe.
3. Génération du token d’accès
Dans l’onglet « Settings » :
Faites défiler jusqu’à la section « Generated access token »
Cliquez sur le bouton « Generate »
Copiez le token généré (ce token ne s’affiche qu’une seule fois)
Avertissement
Conservez le token d’accès en sécurité. Ce token permet d’accéder à votre compte Dropbox.
4. Configuration du token
Configurez le token obtenu dans les paramètres :
Configuration pour compte individuel
Utilisation avec un compte individuel
Pour les comptes individuels (pas les comptes d’équipe), définissez le paramètre basic_plan sur true :
Quand false (défaut), le connecteur fonctionne comme un compte d’équipe et explore les fichiers des membres et des dossiers d’équipe. Quand true, il fonctionne comme un compte individuel et explore directement les fichiers du compte.
Exemples d’utilisation
Explorer l’ensemble des fichiers Dropbox
Paramètres :
Script :
Explorer les documents Dropbox Paper
Paramètres :
Script :
Exploration avec permissions
Paramètres :
Script (fichiers Dropbox) :
Script (Dropbox Paper) :
Explorer uniquement certains types de fichiers
Pour n’indexer que certains types MIME, spécifiez dans le paramètre supported_mimetypes les expressions régulières des types MIME autorisés, séparées par des virgules.
Note
Les scripts de datastore évaluent chaque ligne comme une expression indépendante sous la forme champ=expression. Il n’est donc pas possible d’affecter plusieurs champs à l’intérieur d’un bloc if multiligne. Le filtrage par type MIME doit être réalisé via le paramètre supported_mimetypes, et non dans le script.
Paramètres (PDF et fichiers Word uniquement) :
Script :
Dépannage
Erreur d’authentification
Symptôme : Invalid access token ou 401 Unauthorized
Points à vérifier :
Vérifiez que le token d’accès est correctement copié
Vérifiez que le token n’a pas expiré (utilisez un token longue durée)
Vérifiez que les permissions nécessaires sont accordées dans Dropbox App Console
Vérifiez que l’application n’est pas désactivée
Impossible de récupérer les fichiers
Symptôme : L’exploration réussit mais 0 fichier
Points à vérifier :
Vérifiez le « Access type » de l’application :
« Full Dropbox » : Accès à l’ensemble de Dropbox
« App folder » : Accès à un dossier spécifique uniquement
Vérifiez que les permissions nécessaires sont accordées :
files.metadata.readfiles.content.readsharing.read
Vérifiez que des fichiers existent dans le compte Dropbox
Erreur de limitation de débit API
Symptôme : Erreur 429 Too Many Requests
Solution :
Configurez
readIntervalpour espacer le traitement de chaque fichierRéduisez
number_of_threadspour diminuer le nombre de requêtes simultanéesDivisez le datastore en plusieurs parties (par dossier, etc.) et décalez les horaires d’exécution
Note
basic_plan est un paramètre qui bascule entre le type de compte (équipe/individuel) et n’a pas d’effet sur la gestion des limites de débit. Configurez-le correctement selon votre compte.
Impossible de récupérer les documents Paper
Symptôme : Les documents Paper ne sont pas explorés
Points à vérifier :
Vérifiez que le nom du handler est
DropboxPaperDataStoreVérifiez que
files.content.readest inclus dans les permissionsVérifiez que des documents Paper existent réellement
En cas de grand nombre de fichiers
Symptôme : L’exploration prend du temps ou expire
Solution :
Divisez les datastores en plusieurs parties (par dossier, etc.)
Répartissez la charge avec les paramètres de planification
Pour le plan Basic, faites attention aux limites de débit API
Permissions et contrôle d’accès
Reflet des permissions de partage Dropbox
Les paramètres de partage Dropbox peuvent être reflétés dans les permissions Fess :
Paramètres :
Script :
file.roles ou paper.roles contiennent les informations de partage Dropbox.
Informations de référence
Apercu des connecteurs DataStore - Aperçu des connecteurs DataStore
Connecteur Box - Connecteur Box
Connecteur Google Workspace - Connecteur Google Workspace
Présentation - Guide de configuration DataStore