Descripcion General
El conector de Box proporciona funcionalidad para obtener archivos del almacenamiento en la nube Box.com y registrarlos en el indice de Fess.
Esta funcionalidad requiere el plugin fess-ds-box.
Requisitos Previos
Se requiere instalacion del plugin
Se requiere una cuenta de desarrollador de Box y la creacion de una aplicacion
Se requiere configuracion de autenticacion JWT (JSON Web Token) u OAuth 2.0
Instalacion del Plugin
Metodo 1: Colocar archivo JAR directamente
# Descargar de Maven Central
wget https://repo1.maven.org/maven2/org/codelibs/fess/fess-ds-box/X.X.X/fess-ds-box-X.X.X.jar
# Colocar
cp fess-ds-box-X.X.X.jar $FESS_HOME/app/WEB-INF/lib/
# o
cp fess-ds-box-X.X.X.jar /usr/share/fess/app/WEB-INF/lib/
Metodo 2: Instalar desde la consola de administracion
Abra «Sistema» -> «Plugins»
Cargue el archivo JAR
Reinicie Fess
Metodo de Configuracion
Configure desde la consola de administracion en «Rastreador» -> «Almacen de Datos» -> «Crear Nuevo».
Configuracion Basica
| Elemento | Ejemplo de Configuracion |
|---|---|
| Nombre | Company Box Storage |
| Nombre del Manejador | BoxDataStore |
| Habilitado | Activado |
Configuracion de Parametros
Ejemplo de autenticacion JWT (recomendado):
client_id=hdf8a7sd9f8a7sdf9a87sdf98a7sd
client_secret=kMN7sd8f7a9sd8f7a9sd8f7a9sd8f
public_key_id=4tg5h6j7
private_key=<YOUR_PRIVATE_KEY>
passphrase=7ba8sd9f7a9sd8f7a9sd8f7a9sd8f
enterprise_id=1923456
Lista de Parametros
| Parametro | Requerido | Descripcion |
|---|---|---|
client_id | Si | ID de cliente de la aplicacion Box |
client_secret | Si | Secreto de cliente de la aplicacion Box |
public_key_id | Si | ID de la clave publica |
private_key | Si | Clave privada (formato PEM, saltos de linea como \\n) |
passphrase | Si | Frase de contrasena de la clave privada |
enterprise_id | Si | ID de empresa de Box |
Configuracion de 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
Campos Disponibles
| Campo | Descripcion |
|---|---|
file.url | Enlace para abrir el archivo en el navegador |
file.contents | Contenido de texto del archivo |
file.mimetype | Tipo MIME del archivo |
file.filetype | Tipo de archivo |
file.name | Nombre del archivo |
file.size | Tamano del archivo (bytes) |
file.created_at | Fecha de creacion |
file.modified_at | Fecha de ultima modificacion |
Para mas detalles, consulte el Objeto File de Box.
Configuracion de Autenticacion de Box
Pasos de Configuracion de Autenticacion JWT
1. Crear una aplicacion en Box Developer Console
Acceda a https://app.box.com/developers/console:
Haga clic en «Create New App»
Seleccione «Custom App»
Seleccione «Server Authentication (with JWT)» como metodo de autenticacion
Ingrese el nombre de la aplicacion y cree
2. Configuracion de la Aplicacion
Configure en la pestana «Configuration»:
Application Scopes:
Marque «Read all files and folders stored in Box»
Advanced Features:
Haga clic en «Generate a Public/Private Keypair»
Descargue el archivo JSON generado (importante!)
App Access Level:
Seleccione «App + Enterprise Access»
3. Aprobar en la Empresa
En la consola de administracion de Box:
Abra «Apps» -> «Custom Apps»
Apruebe la aplicacion creada
4. Obtener Credenciales de Autenticacion
Obtenga la siguiente informacion del archivo JSON descargado:
{
"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
}
Formato de Clave Privada
Reemplace los saltos de linea de private_key con \\n para hacerla una sola linea:
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----\\nMIIFDjBABgk...=\\n-----END ENCRYPTED PRIVATE KEY-----\\n
Ejemplos de Uso
Rastrear Todo el Almacenamiento Box de la Empresa
Parametros:
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
Rastrear Solo Archivos PDF
Filtrado por tipo MIME en el 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
}
Solucion de Problemas
Errores de Autenticacion
Sintoma: Authentication failed o Invalid grant
Verifique:
Verifique que
client_idyclient_secretsean correctosVerifique que la clave privada se haya copiado correctamente (saltos de linea como
\\n)Verifique que la frase de contrasena sea correcta
Verifique que la aplicacion este aprobada en la consola de administracion de Box
Verifique que
enterprise_idsea correcto
Error de Formato de Clave Privada
Sintoma: Invalid private key format
Solucion:
Verifique que los saltos de linea de la clave privada esten convertidos correctamente a \\n:
# Formato correcto
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----\\nMIIFDj...\\n-----END ENCRYPTED PRIVATE KEY-----\\n
# Formato incorrecto (contiene saltos de linea reales)
private_key=-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDj...
-----END ENCRYPTED PRIVATE KEY-----
No Se Pueden Obtener Archivos
Sintoma: El rastreo tiene exito pero hay 0 archivos
Verifique:
Verifique que «Read all files and folders» este habilitado en Application Scopes
Verifique que App Access Level sea «App + Enterprise Access»
Verifique que realmente existan archivos en el almacenamiento de Box
Verifique que la cuenta de servicio tenga los permisos apropiados
Cuando Hay un Gran Numero de Archivos
Sintoma: El rastreo toma mucho tiempo o se agota el tiempo
Solucion:
Divida el procesamiento en la configuracion del almacen de datos:
Ajuste el intervalo de rastreo
Configure multiples almacenes de datos (por unidad de carpeta, etc.)
Distribuya la carga con configuracion de programacion
Permisos y Control de Acceso
Reflejar Permisos de Archivos de Box
Nota
La implementacion actual no obtiene informacion detallada de permisos de Box. Puede configurar el control de acceso usando el campo role segun sea necesario.
Configurar permisos predeterminados:
# Parametros
default_permissions={role}box-users
Configurar permisos en el script:
url=file.url
title=file.name
content=file.contents
role=["box-users"]
mimetype=file.mimetype
filename=file.name
created=file.created_at
last_modified=file.modified_at
Informacion de Referencia
Descripcion General de los Conectores de Almacen de Datos - Descripcion General de Conectores de Almacen de Datos
Conector de Dropbox - Conector de Dropbox
Conector de Google Workspace - Conector de Google Workspace
Rastreo de Almacén de Datos - Guia de Configuracion de Almacen de Datos