Descripcion general
El conector Salesforce proporciona la funcionalidad para obtener datos de objetos de Salesforce (objetos estandar, objetos personalizados) y registrarlos en el indice de Fess.
Esta funcionalidad requiere el plugin fess-ds-salesforce.
Objetos compatibles
Objetos estandar: Account, Contact, Lead, Opportunity, Case, Solution, etc.
Objetos personalizados: Objetos creados por el usuario
Articulos de Knowledge: Salesforce Knowledge
Requisitos previos
Es necesario instalar el plugin
Es necesario crear una aplicacion conectada (Connected App) en Salesforce
Es necesario configurar la autenticacion OAuth
Se requiere acceso de lectura a los objetos
Instalacion del plugin
Instale desde la pantalla de administracion en «Sistema» -> «Plugins».
O consulte Complemento para mas detalles.
Configuracion
Configure desde la pantalla de administracion en «Crawler» -> «Data Store» -> «Crear nuevo».
Configuracion basica
| Campo | Ejemplo |
|---|---|
| Nombre | Salesforce CRM |
| Handler | SalesforceDataStore |
| Habilitado | Activado |
Configuracion de parametros
Autenticacion OAuth Token (recomendada):
Autenticacion OAuth Password:
Lista de parametros
Configuracion de scripts
Campos disponibles
| Campo | Descripcion |
|---|---|
object.type | Tipo del objeto (ej: Case, User, Solution) |
object.title | Nombre del objeto |
object.description | Descripcion del objeto |
object.content | Contenido de texto del objeto |
object.id | ID del objeto |
object.content_length | Longitud del contenido |
object.created | Fecha y hora de creacion |
object.last_modified | Fecha y hora de ultima modificacion |
object.url | URL del objeto |
object.thumbnail | URL del thumbnail |
Configuracion de aplicacion conectada de Salesforce
1. Crear aplicacion conectada
En Salesforce Setup:
Abrir «Application Manager»
Hacer clic en «New Connected App»
Ingresar informacion basica:
Nombre de aplicacion conectada: Fess Crawler
Nombre de API: Fess_Crawler
Email de contacto: your-email@example.com
Marcar «Enable OAuth Settings»
2. Configuracion de autenticacion OAuth Token (recomendada)
En configuracion OAuth:
Marcar «Use digital signatures»
Subir el certificado (crear segun los pasos a continuacion)
OAuth Scopes seleccionados:
Full access (full)
Perform requests on your behalf at any time (refresh_token, offline_access)
Hacer clic en «Save»
Copiar el Consumer Key
Creacion del certificado:
Suba el certificado (certificate.crt) a Salesforce y configure el contenido de la clave privada (private_key.pem) en los parametros.
3. Configuracion de autenticacion OAuth Password
En configuracion OAuth:
URL de callback:
https://localhost(no se usa pero es requerido)OAuth Scopes seleccionados:
Full access (full)
Perform requests on your behalf at any time (refresh_token, offline_access)
Hacer clic en «Save»
Copiar Consumer Key y Consumer Secret
Obtener el token de seguridad:
Abrir configuracion personal en Salesforce
Hacer clic en «Reset My Security Token»
Copiar el token enviado por email
4. Aprobacion de aplicacion conectada
En «Manage» -> «Manage Connected Apps»:
Seleccionar la aplicacion conectada creada
Hacer clic en «Edit»
Cambiar «Permitted Users» a «Admin approved users are pre-authorized»
Asignar perfiles o conjuntos de permisos
Configuracion de objetos personalizados
Crawl de objetos personalizados
Especifique los nombres de objetos personalizados en el parametro custom:
Mapeo de campos para cada objeto:
Reglas de mapeo de campos
<nombre_objeto>.title- Campo a usar para el titulo (campo unico)<nombre_objeto>.contents- Campos a usar para el contenido (multiples separados por comas)<nombre_objeto>.descriptions- Campos a usar para la descripcion (multiples separados por comas)<nombre_objeto>.thumbnail- Campo a usar para la miniatura (campo unico)
Nota
Los objetos estandar utilizan nombres en formato UPPER_UNDERSCORE. Por ejemplo: ACCOUNT.title=Name, CONTACT.title=Name.
Ejemplos de uso
Crawl de objetos estandar
Parametros:
Script:
Crawl de objetos personalizados
Parametros:
Script:
Crawl de entorno Sandbox
Parametros:
Script:
Solucion de problemas
Error de autenticacion
Sintoma: Authentication failed o invalid_grant
Verificaciones:
Para autenticacion OAuth Token:
Verificar que el Consumer Key sea correcto
Verificar que la clave privada este copiada correctamente (saltos de linea como
\n)Confirmar que el certificado este subido a Salesforce
Verificar que el nombre de usuario sea correcto
Para autenticacion OAuth Password:
Verificar que Consumer Key y Consumer Secret sean correctos
Verificar que el token de seguridad sea correcto
Confirmar que la contrasena y el token de seguridad no esten concatenados (configurar por separado)
Comun:
Verificar que base_url sea correcta (entorno de produccion o Sandbox)
Confirmar que la aplicacion conectada este aprobada
No se obtienen objetos
Sintoma: El crawl tiene exito pero hay 0 objetos
Verificaciones:
Confirmar que el usuario tiene permisos de lectura en los objetos
Para objetos personalizados, verificar que el nombre del objeto sea correcto (API Name)
Verificar que el mapeo de campos sea correcto
Revisar los mensajes de error en el log
Nombre de objeto personalizado
Verificar el API Name del objeto personalizado:
Abrir «Object Manager» en Salesforce Setup
Seleccionar el objeto personalizado
Copiar el «API Name» (generalmente termina en
__c)
Ejemplo:
Label: Product
API Name: Product__c (usar este)
Verificacion de nombres de campo
Verificar el API Name del campo personalizado:
Abrir «Fields & Relationships» del objeto
Seleccionar el campo personalizado
Copiar el «Field Name» (generalmente termina en
__c)
Ejemplo:
Field Label: Product Description
Field Name: Product_Description__c (usar este)
Limite de tasa de API
Sintoma: REQUEST_LIMIT_EXCEEDED
Solucion:
Reducir
number_of_threads(configurar a 1)Aumentar el intervalo de crawl
Verificar el uso de la API de Salesforce
Comprar limite de API adicional si es necesario
Gran volumen de datos
Sintoma: El crawl toma mucho tiempo o tiene timeout
Solucion:
Dividir objetos en multiples data stores
Ajustar
number_of_threads(aproximadamente 2-4)Distribuir el horario de crawl
Mapear solo los campos necesarios
Error de formato de clave privada
Sintoma: Invalid private key format
Solucion:
Verificar que los saltos de linea en la clave privada sean correctamente \n:
Informacion de referencia
Descripcion General de los Conectores de Almacen de Datos - Descripcion general de conectores de Data Store
Conector de Base de Datos - Conector de base de datos
Rastreo de Almacén de Datos - Guia de configuracion de Data Store