Cómo migrar archivos Salesforce sin utilizar scripts

Cómo migrar archivos Salesforce sin utilizar scripts

Ana NetoProducts and Solutions Leave a Comment

Hay muchas razones para trasladar archivos fuera de Salesforce: los costes de almacenamiento, los requisitos de cumplimiento normativo o, simplemente, la necesidad de centralizar el lugar donde tu organización almacena su contenido.

Por extraño que parezca, también hay buenas razones para hacer lo contrario: trasladar archivos desde un CRM antiguo u otro sistema empresarial a Salesforce durante una migración de CRM, una consolidación de sistemas o un proyecto de integración.

Ambas opciones son factibles sin necesidad de utilizar scripts, incluida la parte más complicada de mantener los archivos vinculados a los registros correctos, evitar duplicados y conservar los metadatos.

Want to migrate Salesforce files to SharePoint without coding?

Discover how Document Extractor construido para la plataforma Salesforce can make migrations smooth

#1: Saber qué es lo que estás trasladando

Antes de la migración propiamente dicha, debes llevar a cabo una fase rápida de análisis de la huella de tu organización actual.

  • Generar un informe de almacenamiento: Ir a Configuración > Datos > Uso del almacenamiento para conocer el volumen bruto exacto de tu almacenamiento de archivos frente al almacenamiento de datos.
  • Consultar el esquema: Ejecuta una consulta SOQL rápida o utiliza una herramienta de API para obtener el recuento de filas en las tablas «Attachment», «Document» y «ContentVersion».
  • Identificar archivos de gran tamaño: Aísla los valores atípicos. ¿Vas a transferir muchos archivos de gran tamaño? Define un umbral (por ejemplo, 25 MB) y filtra los archivos que superen dicho umbral, ya que estos determinarán más adelante el tamaño de los lotes y los límites de rendimiento de la red.

Ten en cuenta que, si tienes una organización Salesforce más antigua, es posible que los documentos se encuentren repartidos entre el almacenamiento de la era Classic y el almacenamiento moderno de Lightning.

Clásico (antiguo):

  • Archivos adjuntos: archivos adjuntos directamente a los registros en el modelo anterior
  • Notas: notas en texto sin formato en los registros
  • Carpetas de documentos: la antigua pestaña «Documentos»

Rayo (moderno):

  • Archivos (ContentDocument / ContentVersion): la norma vigente
  • Notas mejoradas: el formato de notas más completo introducido con Lightning
  • Bibliotecas (Contenido de CRM Salesforce): repositorios de archivos compartidos

El verdadero reto de la migración de un archivo Salesforce no consiste en trasladar los datos binarios sin procesar (los PDF, las imágenes o los registros), sino en conservar el contexto relacional.

En el modelo Classic, un archivo adjunto es simplemente un registro secundario de un registro principal. En Lightning, ContentVersion contiene los datos reales del archivo, que se agrupan en un ContentDocument, el cual se asigna posteriormente a los registros mediante un objeto de unión denominado ContentDocumentLink.

Si vas a trasladar archivos desde Salesforce, debes extraer estas relaciones para que tu sistema de destino (como SharePoint, Azure Blob o un bucket de AWS S3) sepa qué archivo pertenece a qué cuenta o caso. Si vas a importar archivos, debes asignar tus archivos heredados a esta arquitectura Lightning moderna y de varios niveles. Para hacerlo sin tener que escribir lotes de Apex personalizados ni scripts de Python, necesitas una herramienta que comprenda de forma nativa estas relaciones subyacentes de la API.

#2 Determina tu origen y tu destino

Si tu objetivo es SharePoint: Document Extractor

Document Extractor está diseñado específicamente para transferir archivos de Salesforce desde y hacia SharePoint, tanto en la nube como en las instalaciones.

Se encarga de todo el trabajo pesado. Document Extractor supervisa los documentos relacionados con las cuentas, los contactos, los clientes potenciales, las oportunidades, los presupuestos, los contratos, los pedidos, los activos, los mensajes de correo electrónico y los objetos personalizados de Salesforce, y crea la estructura de carpetas adecuada en SharePoint. Gestiona todas las relaciones necesarias, los casos excepcionales y los enlaces.

Tus usuarios no se dan cuenta de nada. Una vez que un archivo se traslada a SharePoint, queda un enlace en su lugar dentro de Salesforce. En segundo plano, es posible que algunos archivos ya se encuentren en SharePoint mientras que otros sigan almacenados en Salesforce, pero la experiencia de los usuarios con Salesforce sigue siendo la misma. Esto significa que puede realizar la migración por fases, comprobar el funcionamiento sobre la marcha y evitar una transición de archivos radical y arriesgada.

Establece una fecha de inicio. Si no quieres migrar todo de una vez, puedes especificar una fecha y transferir únicamente los archivos creados a partir de ese momento, lo cual resulta útil para las grandes organizaciones que desean realizar la migración por fases.

Metadatos. Los atributos estándar de los metadatos de los archivos, como «Creado por», «Propietario», «Descripción», «Versión» y «Modificado por», se asignan directamente a SharePoint, junto con cualquier campo personalizado definido en el objeto ContentVersion. Esto garantiza que se mantenga el historial completo del archivo, el cumplimiento normativo y el contexto del usuario, incluso cuando los archivos salgan del ecosistema Salesforce. Más allá de los atributos de los archivos, Document Extractor asigna los campos del registro principal (por ejemplo, «Nombre de la cuenta») a la jerarquía de carpetas correspondiente de SharePoint.

Cobertura completa de las carreras Classic y Lightning. Se admiten archivos adjuntos, notas, carpetas de documentos, archivos, notas mejoradas y bibliotecas. No se deja nada fuera.

Ediciones de Salesforce compatibles: Professional, Enterprise, Unlimited y Developer, tanto en Classic como en Lightning Experience. Las versiones SharePoint compatibles son las de 2013, 2016, 2019 y SharePoint Online / Office 365.

Hay un Prueba gratuita de 15 días del SaaS, sin necesidad de tarjeta de crédito, lo cual es tiempo suficiente para llevar a cabo una prueba de concepto adecuada. Si quieres realizar tu prueba en un servidor propio o si necesitas más información, hay una sencilla formulario que puedes utilizar para ponerte en contacto con nosotros.

Si tu objetivo no es SharePoint: Connect Bridge

No todas las migraciones de archivos empiezan o terminan con SharePoint. Es posible que tus archivos tengan como origen o destino un CRM heredado, un almacén de archivos local, un sistema de gestión de documentos propio o algo completamente distinto. Ahí es donde Connect Bridge entra en escena.

Connect Bridge es una plataforma de integración que conecta Salesforce con prácticamente cualquier base de datos o aplicación empresarial. Para comunicarse con Connect Bridge se utiliza la sintaxis estándar de SQL y, internamente, esta plataforma traduce las consultas SQL (SELECT, INSERT, UPDATE, DELETE) en las llamadas a la API de Salesforce correspondientes.

Esto resulta especialmente útil para:

  • Sincronización de Salesforce con bases de datos locales o sistemas heredados
  • Creación de integraciones personalizadas en las que el destino no es SharePoint
  • Organizaciones con requisitos específicos en materia de cumplimiento normativo o de residencia de datos

En sentido inverso, Connect Bridge gestiona cualquier fuente externa de la que necesites extraer archivos para importarlos a Salesforce, lo que lo convierte en la herramienta ideal también para las migraciones de entrada.

Cómo funciona la fijación de precios

El precio de Document Extractor se basa en el número de usuarios de Salesforce, y no en el volumen ni en el tamaño de los archivos que se migran. En el caso de Connect Bridge, el precio se basa en el número de usuarios de Salesforce y en el número de archivos que se migran.

Esto es muy importante si trabajas con grandes conjuntos de archivos: las herramientas que cobran por GB o por archivo pueden generar facturas sorprendentemente elevadas cuando se alcanzan los cientos de gigabytes.

La tarificación por usuario es predecible, independientemente de la cantidad de datos que transfieras, y te ofrece la flexibilidad de realizar la migración por fases y volver a ejecutar tareas según sea necesario sin tener que estar pendiente del contador.

¿Deberías seguir planteándote la opción de hacerlo tú mismo?

Si te manejas bien con Python, la vía de la API REST (por ejemplo, extraer datos de ContentVersion y enviarlos a Microsoft Graph) es una opción viable para una migración puntual de tamaño moderado. Pero conlleva costes ocultos reales: el tiempo de los desarrolladores, la gestión de los límites de velocidad, la lógica de deduplicación en ContentDocumentLink, la conservación de metadatos y los casos extremos que solo salen a la luz a mitad de una migración a gran escala.

Para la mayoría de las organizaciones, utilizar una herramienta lista para usar que ofrezca una prueba gratuita, cuente con una trayectoria contrastada y aplique una tarificación basada en el número de usuarios es la opción que conlleva menos riesgos. La opción de programar desde cero tiene sentido cuando se tienen requisitos que ninguna herramienta estándar puede satisfacer, o cuando se cuenta con un desarrollador que disponga de capacidad real para encargarse del proyecto de principio a fin.

Empezando

  • ¿Migrar a SharePoint o importar desde SharePoint a Salesforce? Document Extractor Ofrece una prueba gratuita de 15 días, sin necesidad de tarjeta de crédito.
  • ¿Alguna otra fuente o destino? Connect Bridge ofrece una demostración gratuita.

y está a tu disposición para responder a tus preguntas a través del formulario de contacto en cualquier momento.


Sobre el autor

Ana Neto

Por Ana Netoasesor técnico de Connecting Software.

"Soy ingeniero informático desde 1997, con una afición más reciente por escribir y hablar en público. ¿Tiene alguna pregunta o comentario sobre este artículo? Me encantaría conocer tu opinión, ¡deja un comentario a continuación!"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.