La metadatos del conjunto de documentos no se sincronizan con los archivos: solución segura para el usuario
🔍 WiseChecker

La metadatos del conjunto de documentos no se sincronizan con los archivos: solución segura para el usuario

Cuando actualizas los metadatos en un conjunto de documentos de SharePoint, los cambios no aparecen automáticamente en los archivos individuales dentro de ese conjunto. Este comportamiento a menudo confunde a los usuarios que esperan que los valores de las columnas se propaguen a cada documento. La causa raíz es que los metadatos del conjunto de documentos se almacenan a nivel del conjunto y no están diseñados para sobrescribir los metadatos a nivel de archivo por defecto. Este artículo explica por qué falla la sincronización y proporciona un método práctico y seguro para copiar los metadatos del conjunto de documentos a sus archivos hijos.

Conclusiones clave: Solución para la sincronización de metadatos del conjunto de documentos

  • Metadatos del conjunto de documentos de SharePoint: Se almacenan solo a nivel del conjunto y no se propagan a los archivos automáticamente
  • Flujo de Power Automate “Cuando se agrega o modifica un archivo en una carpeta”: Se activa en cada archivo y puede copiar los valores de las columnas del conjunto de documentos
  • Columnas del sitio vs. columnas de la biblioteca: Usa columnas del sitio para los conjuntos de documentos y asegura metadatos consistentes en todos los elementos secundarios

ADVERTISEMENT

Por qué los metadatos del conjunto de documentos no se sincronizan con los archivos

Los conjuntos de documentos de SharePoint son un tipo de contenido especial que agrupa documentos relacionados. Los metadatos que agregas a un conjunto de documentos (como Nombre del proyecto, Estado o Cliente) se almacenan en el elemento del conjunto de documentos en sí, no en los archivos individuales dentro de él. Cuando ves un archivo en la biblioteca, sus columnas de metadatos están vacías o muestran valores predeterminados. Esto es por diseño: SharePoint no propaga ni empuja los metadatos del elemento principal a los elementos secundarios. La falla de sincronización no es un error; es una limitación de la función de conjunto de documentos. Para que los metadatos aparezcan en cada archivo, debes copiar activamente los valores mediante un flujo de trabajo o un script personalizado.

Pasos seguros para sincronizar los metadatos del conjunto de documentos con los archivos

El siguiente método usa Power Automate, que se ejecuta en segundo plano sin requerir código ni cambios directos en los permisos de SharePoint. Es seguro para todos los usuarios con al menos permisos de edición en la biblioteca.

  1. Abre Power Automate y crea un nuevo flujo
    Ve a make.powerautomate.com e inicia sesión con tu cuenta de trabajo. Selecciona Crear en el menú izquierdo y luego elige Flujo de nube automatizado.
  2. Configura el desencadenador: “Cuando se agrega o modifica un archivo en una carpeta”
    Busca el conector de SharePoint y selecciona el desencadenador Cuando se agrega o modifica un archivo en una carpeta. Proporciona la URL del sitio y el nombre de la biblioteca. Para el campo de carpeta, déjalo en blanco para monitorear todas las carpetas o selecciona la carpeta específica del conjunto de documentos.
  3. Agrega una acción para obtener los metadatos del conjunto de documentos
    Haz clic en + Nuevo paso, busca SharePoint y selecciona la acción Obtener metadatos de archivo. En el campo Identificador de archivo, elige el Identificador de la salida del desencadenador. Esto recupera la ruta de la carpeta del archivo. Luego agrega otra acción: Enviar una solicitud HTTP a SharePoint. Usa la siguiente configuración:

    • Dirección del sitio: La URL de tu sitio
    • Método: GET
    • URI: _api/web/getfilebyserverrelativeurl('@{triggerOutputs()?['body/{FullPath}']}')/ListItemAllFields

    Esto devuelve el elemento de lista del archivo, incluidos los metadatos de su carpeta principal.

  4. Extrae los valores de metadatos del conjunto de documentos
    Usa la acción Componer para analizar la respuesta JSON. Por ejemplo, para obtener la columna Nombre del proyecto, usa la expresión: outputs('Send_an_HTTP_request_to_SharePoint')?['d']?['ProjectName']. Repite para cada columna que quieras sincronizar.
  5. Actualiza los metadatos del archivo
    Agrega la acción Actualizar propiedades del archivo. Selecciona el sitio y la biblioteca. En el campo Id, elige el Id del elemento de la salida del desencadenador. Para cada columna, asigna el valor de la acción Componer. Por ejemplo, establece Nombre del proyecto con la salida del paso Componer.
  6. Guarda y prueba el flujo
    Nombra el flujo algo como “Sincronizar metadatos del conjunto de documentos con archivos”. Haz clic en Guardar, luego en Probar. Sube un nuevo archivo a la carpeta del conjunto de documentos y verifica que el archivo herede los valores de metadatos del conjunto de documentos.

ADVERTISEMENT

Problemas comunes cuando los metadatos no se sincronizan

“El flujo se ejecuta pero los metadatos permanecen vacíos”

Esto suele ocurrir cuando la solicitud HTTP devuelve un valor nulo para la columna del conjunto de documentos. Verifica la ortografía del nombre de la columna en la expresión de Componer. Usa el nombre interno exacto de la columna, que puedes encontrar en la configuración de la biblioteca de SharePoint bajo el nombre de la columna. Los espacios en los nombres de las columnas deben reemplazarse con _x0020_ en la expresión.

“El flujo se activa en cada cambio de archivo, no solo en archivos nuevos”

Por defecto, el desencadenador se ejecuta tanto en eventos de agregar como de modificar. Para limitarlo a archivos nuevos, agrega una condición que verifique si el archivo se creó en los últimos 5 minutos. Usa la acción Condición con la expresión @{triggerOutputs()?['body/{Created}']} comparada con @{addHours(utcNow(), -0.083)}.

“La carpeta del conjunto de documentos no es una carpeta real”

Los conjuntos de documentos aparecen como carpetas en la biblioteca, pero en realidad son tipos de contenido. El método de solicitud HTTP anterior funciona porque recupera el elemento de lista del archivo, que incluye los metadatos de la carpeta principal siempre que la carpeta sea un conjunto de documentos. Si la carpeta es una carpeta estándar, este método no funcionará: los metadatos deben almacenarse en la carpeta misma.

Métodos de sincronización de metadatos del conjunto de documentos: Comparación

Elemento Flujo de Power Automate Flujo de trabajo de SharePoint Designer
Complejidad de configuración Baja, sin necesidad de código Media, requiere SharePoint Designer 2013
Desencadenador Archivo agregado o modificado Elemento creado o cambiado
Mantenimiento Automático, basado en la nube Manual, debe republicarse después de cambios
Permisos necesarios Editar en la biblioteca Control total o acceso de diseñador
Rendimiento Rápido para hasta 100 archivos por minuto Más lento, se ejecuta localmente o en SharePoint

Los metadatos del conjunto de documentos no se sincronizan automáticamente con los archivos, pero puedes solucionarlo con un flujo de Power Automate. Usa los pasos anteriores para copiar los valores de las columnas del conjunto a cada archivo. Para obtener metadatos consistentes en todos los conjuntos de documentos, crea columnas de sitio y agrégalas al tipo de contenido del conjunto de documentos. Esto asegura que las mismas columnas aparezcan en cada conjunto de documentos y en sus archivos secundarios.

ADVERTISEMENT