Apercu
Le connecteur Box fournit une fonctionnalite pour recuperer des fichiers depuis le stockage cloud Box.com et les enregistrer dans l’index de Fess.
Cette fonctionnalite necessite le plugin fess-ds-box.
Prerequis
L’installation du plugin est requise
Un compte developpeur Box et la creation d’une application sont necessaires
La configuration de l’authentification JWT (JSON Web Token) ou OAuth 2.0 est requise
Installation du plugin
Methode 1 : Placement direct du fichier JAR
# Telecharger depuis Maven Central
wget https://repo1.maven.org/maven2/org/codelibs/fess/fess-ds-box/X.X.X/fess-ds-box-X.X.X.jar
# Placement
cp fess-ds-box-X.X.X.jar $FESS_HOME/app/WEB-INF/lib/
# ou
cp fess-ds-box-X.X.X.jar /usr/share/fess/app/WEB-INF/lib/
Methode 2 : Installation depuis l’interface d’administration
Ouvrez « Systeme » -> « Plugins »
Uploadez le fichier JAR
Redemarrez Fess
Methode de configuration
Configurez depuis l’interface d’administration : « Crawler » -> « DataStore » -> « Nouveau ».
Configuration de base
| Element | Exemple de configuration |
|---|---|
| Nom | Company Box Storage |
| Nom du handler | BoxDataStore |
| Actif | Oui |
Configuration des parametres
Exemple d’authentification JWT (recommande) :
client_id=hdf8a7sd9f8a7sdf9a87sdf98a7sd
client_secret=kMN7sd8f7a9sd8f7a9sd8f7a9sd8f
public_key_id=4tg5h6j7
private_key=<YOUR_PRIVATE_KEY>
passphrase=7ba8sd9f7a9sd8f7a9sd8f7a9sd8f
enterprise_id=1923456
Liste des parametres
| Parametre | Requis | Description |
|---|---|---|
client_id | Oui | ID client de l’application Box |
client_secret | Oui | Secret client de l’application Box |
public_key_id | Oui | ID de la cle publique |
private_key | Oui | Cle privee (format PEM, les retours a la ligne sont representes par \\n) |
passphrase | Oui | Phrase de passe de la cle privee |
enterprise_id | Oui | ID Box Enterprise |
Configuration du script
url=file.url
title=file.name
content=file.contents
mimetype=file.mimetype
filetype=file.filetype
filename=file.name
content_length=file.size
created=file.created_at
last_modified=file.modified_at
Champs disponibles
| Champ | Description |
|---|---|
file.url | Lien pour ouvrir le fichier dans le navigateur |
file.contents | Contenu texte du fichier |
file.mimetype | Type MIME du fichier |
file.filetype | Type de fichier |
file.name | Nom du fichier |
file.size | Taille du fichier (octets) |
file.created_at | Date de creation |
file.modified_at | Date de derniere modification |
Pour plus de details, consultez Box File Object.
Configuration de l’authentification Box
Procedure de configuration de l’authentification JWT
1. Creer une application dans Box Developer Console
Accedez a https://app.box.com/developers/console :
Cliquez sur « Create New App »
Selectionnez « Custom App »
Selectionnez « Server Authentication (with JWT) » comme methode d’authentification
Entrez le nom de l’application et creez
2. Configuration de l’application
Configurez dans l’onglet « Configuration » :
Application Scopes :
Cochez « Read all files and folders stored in Box »
Advanced Features :
Cliquez sur « Generate a Public/Private Keypair »
Telechargez le fichier JSON genere (important !)
App Access Level :
Selectionnez « App + Enterprise Access »
3. Autorisation dans l’entreprise
Dans la console d’administration Box :
Ouvrez « Apps » -> « Custom Apps »
Autorisez l’application creee
4. Obtention des informations d’authentification
Obtenez les informations suivantes depuis le fichier JSON telecharge :
{
"boxAppSettings": {
"clientID": "hdf8a7sd...", // client_id
"clientSecret": "kMN7sd8f...", // client_secret
"appAuth": {
"publicKeyID": "4tg5h6j7", // public_key_id
"privateKey": "-----BEGIN...", // private_key
"passphrase": "7ba8sd9f..." // passphrase
}
},
"enterpriseID": "1923456" // enterprise_id
}
Format de la cle privee
Remplacez les retours a la ligne de private_key par \\n pour mettre sur une seule ligne :
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----\\nMIIFDjBABgk...=\\n-----END ENCRYPTED PRIVATE KEY-----\\n
Exemples d’utilisation
Explorer l’ensemble du stockage Box de l’entreprise
Parametres :
client_id=abc123def456ghi789jkl012mno345
client_secret=pqr678stu901vwx234yz567abc890
public_key_id=a1b2c3d4
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----\\nMIIFDjBABgkqhkiG9w0BBQ0wOzAbBgkqhkiG9w0BBQwwDgQI...=\\n-----END ENCRYPTED PRIVATE KEY-----\\n
passphrase=1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
enterprise_id=123456789
Script :
url=file.url
title=file.name
content=file.contents
mimetype=file.mimetype
filetype=file.filetype
filename=file.name
content_length=file.size
created=file.created_at
last_modified=file.modified_at
Explorer uniquement les fichiers PDF
Filtrage par type MIME dans le script :
if (file.mimetype == "application/pdf") {
url=file.url
title=file.name
content=file.contents
mimetype=file.mimetype
filename=file.name
created=file.created_at
last_modified=file.modified_at
}
Depannage
Erreur d’authentification
Symptome : Authentication failed ou Invalid grant
Points a verifier :
Verifiez que
client_idetclient_secretsont correctsVerifiez que la cle privee est correctement copiee (les retours a la ligne sont-ils
\\n?)Verifiez que la phrase de passe est correcte
Verifiez que l’application est autorisee dans la console d’administration Box
Verifiez que
enterprise_idest correct
Erreur de format de cle privee
Symptome : Invalid private key format
Solution :
Verifiez que les retours a la ligne sont correctement convertis en \\n :
# Format correct
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----\\nMIIFDj...\\n-----END ENCRYPTED PRIVATE KEY-----\\n
# Format incorrect (contient des retours a la ligne reels)
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDj...
-----END ENCRYPTED PRIVATE KEY-----
Impossible de recuperer les fichiers
Symptome : L’exploration reussit mais 0 fichier
Points a verifier :
Verifiez que « Read all files and folders » est active dans Application Scopes
Verifiez que App Access Level est « App + Enterprise Access »
Verifiez que des fichiers existent reellement dans le stockage Box
Verifiez que le compte de service dispose des autorisations appropriees
Informations de reference
Apercu des connecteurs DataStore - Apercu des connecteurs DataStore
Connecteur Dropbox - Connecteur Dropbox
Connecteur Google Workspace - Connecteur Google Workspace
Présentation - Guide de configuration DataStore