Sitecore

WebDAV debe estar deshabilitado en el servidor de entrega de contenido

Mientras jugaba con Sitecore Diagnostics Tool, me enfrenté a algunos problemas con un error de WebDAV en mi nodo de Content Delivery que dice

sitecore diagnostics tool webdav error on report blog vinicius deschamps

WebDAV must be disabled on Content Delivery server

WebDAV is enabled. It is recommended to disable this feature on CD servers using the WebDAV.Enabled setting

Después de buscarlo en Google, seguí estos pasos del blog de Alex Shyba

  1. Quitar referencias de configuración de WebDAV dentro de log4net
  2. Quitar referencias de configuración de WebDAV dentro de system.WebServer
  3. Quitar referencias de configuración de WebDAV dentro de httpHandlers
  4. Deshabilitar Sitecore.WebDAV.config

¡EL ERROR SIMPLEMENTE NO SE IBA! ¿Cuál sería mi siguiente opción?!?! Lo comenté a mis amigos de Sitecore StackExchange, y eso fue lo que hice cuando hice esta pregunta

Sitecore Diagnostics Tool shows WebDAV must be disabled on CD but it is already

Una vez más João Neto aparece y dice

El ensamblado que evalúa si WebDAV está habilitado es el Sitecore.DiagnosticsToolset.Tests. Logré desensamblarlo y encontré que verifica la siguiente configuración de Sitecore para determinar si WebDAV está habilitado o no:

/configuration/sitecore/settings/setting[@name=’WebDAV.Enabled’]
/configuration/sitecore/pipelines/initialize/processor[@type=’Sitecore.Pipelines.Loader.CheckWebDAVConfiguration, Sitecore.Kernel’]
/configuration/sitecore/pipelines/preprocessRequest/processor[@type=’Sitecore.Pipelines.PreprocessRequest.WebDAVCustomHandler, Sitecore.Kernel’]
/configuration/sitecore/pipelines/group[@name=’WebDAV’]
/configuration/sitecore/webdav
/configuration/sitecore/scheduling/agent[@type=’Sitecore.Tasks.CleanupFDAObsoleteMediaData’]
/configuration/sitecore/scheduling/agent[@type=’Sitecore.Tasks.WebDAVOptionsCleanupAgent’]
/configuration/sitecore/mediaLibrary/mediaPrefixes/prefix[@value=’$(webDAVPrefix)’]

Basado en esa respuesta, volví a mi instancia de Sitecore y pensé que ShowConfig.aspx podría mostrarlo si aún está habilitado

Una vez que accedí a http://sc81u0/sitecore/admin/showconfig.aspx, busqué elemento por elemento en Sitecore.DiagnosticsToolset.Tests

  • WebDAV.Enabled
  • Sitecore.Pipelines.Loader.CheckWebDAVConfiguration, Sitecore.Kernel
  • Sitecore.Pipelines.PreprocessRequest.WebDAVCustomHandler, Sitecore.Kernel
  • WebDAV
  • Sitecore.Tasks.CleanupFDAObsoleteMediaData
  • Sitecore.Tasks.WebDAVOptionsCleanupAgent
  • webDAVPrefix

Resulta que el parámetro Sitecore.Tasks.CleanupFDAObsoleteMediaData estaba en ShowConfig.aspx, lo que significa que estaba habilitado, y para mi sorpresa, dentro de SwitchMasterToWeb.config como puedes ver en la imagen a continuación

sitecore tasks cleanup ofda obsolete mediadata Blog Vinicius Deschamps

Como SwitchMasterToWeb.config debe estar habilitado en un entorno de Content Delivery, la solución fue comentar el siguiente código

Antes de comentar

Sitecore Comment Switch Master to Web Blog Vinicius Deschamps

Después de comentar

Sitecore Comment Switch Master to Web Blog Vinicius Deschamps

Después de guardar SwtichMasterToWeb.config, ejecuté de nuevo la Sitecore Diagnostics Tool y el error no volvió a aparecer

IMPORTANTE

Asegúrate de que el archivo SwitchMasterToWeb.config se aplique como el último en la lista de cambios de configuración.

BONUS

Para aquellos – como yo – que no sabían para qué sirve Sitecore.Tasks.CleanupFDAObsoleteMediaData, pregunté en el grupo de Sitecore StackExchange antes de publicar esta entrada.

What is Sitecore.Tasks.CleanupFDAObsoleteMediaData in SwitchMasterToWeb.config?

Según Mark Cassidy

“FDA es la abreviatura de File Drop Area – es decir, WebDAV File Drop Area
Es un tipo de campo que permite a los editores de contenido arrastrar y soltar datos multimedia (archivos) directamente en el CMS a través de WebDAV.
Genera nombres de carpetas automáticamente para soltar estos archivos; esta tarea de limpieza eliminará cualquiera de estas carpetas generadas por la máquina que ya no esté en uso.”

Y al habilitar SwitchMasterToWeb activas CleanupFDAObsoleteMediaData, y parece que Sitecore Diagnostic Tool entiende que esta opción está relacionada con WebDAV.

Gracias por leer, y ¡espero que lo hayas disfrutado!

Y nos vemos en mi próximo post!

Sitecore
WebDAV debe estar deshabilitado en el servidor de entrega de contenido — Vinicius Deschamps