<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Microsoft Word y Alfresco WebDav. Content Type vacío in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113722#M80070</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hola&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cuando intento guardar un fichero de microsoft word sobre el repositorio de documento de Alfresco a través de WebDav &lt;A class="link-titled" href="https://alfresco.dev.es/alfresco/webdav/Test/Test.docx" title="https://alfresco.dev.es/alfresco/webdav/Test/Test.docx" rel="nofollow noopener noreferrer"&gt;https://alfresco.dev.es/alfresco/webdav/Test/Test.docx&lt;/A&gt;&amp;nbsp; se realizan varias peticiones HTTPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://connect.hyland.com/legacyfs/online/alfresco/22005_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;La petición que sube el fichero al repositorio de Alfresco es mediante el verbo &lt;STRONG&gt;HTTP PUT&lt;/STRONG&gt;, para ello decidi sobreescribir el comportamiento dentro de alfresco de la clase &lt;STRONG&gt;org.alfresco.repo.webdav.PutMethod (&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;alfresco-remote-api-3.4.d.jar&lt;/SPAN&gt;)&lt;/STRONG&gt; añadiendo una serie de mensajes de Logging para ver que realmente que hace Alfresco cuando se realiza dicha petición PUT. En esta clase PutMethod se determina el tipo MimeType (Content Type) que tendra el documento en Alfresco.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aqui viendo los mensajes de log podemos ver que el tipo MIME se determina en base a la cabecera HTTP content type (&lt;STRONG&gt;m_strContentType = m_request.getHeader(WebDAV.HEADER_CONTENT_TYPE)&lt;/STRONG&gt;) de la petición HTTP PUT que es &lt;STRONG&gt;text/xml; charset="utf-8"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,220 DEBUG [org.alfresco.webdav.protocol] GPG Put node: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user: admin&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path: /Test/Test.docx&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,242 DEBUG [org.alfresco.webdav.protocol] &lt;STRONG style="color: red;"&gt;GPG Mimetype mimetype: text/xml; charset="utf-8"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,400 DEBUG [org.alfresco.webdav.protocol] PUT took 182ms to execute&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Es decir, ALFRESCO siempre va asignar el content type como si fuera un documento XML, cuando en realidad se trata de un documento de Word y el content type debería ser &lt;STRONG style="font-size: 11.0pt;"&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;¿Cuál es mi solución?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;He modificado la clase &lt;STRONG&gt;org.alfresco.repo.webdav.PutMethod &lt;/STRONG&gt;para obligar que se determine el mimetype (content type) Alfresco en lugar de usar el mimetype de la petición.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;String mimetype = null;&lt;BR /&gt;if (m_strContentType != null)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mimetype = m_strContentType;&lt;BR /&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;String guessedMimetype = getMimetypeService().guessMimetype(contentNodeInfo.getName());&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mimetype = guessedMimetype;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (logger.isDebugEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; logger.debug("GPG guessedMimetype: " + guessedMimetype);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;STRONG&gt;mimetype = getMimetypeService().guessMimetype(contentNodeInfo.getName());&lt;/STRONG&gt;&lt;BR /&gt;if (logger.isDebugEnabled())&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; logger.debug("GPG Mimetype mimetype: " + mimetype);&lt;BR /&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;writer.setMimetype(mimetype);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ahora si accedemos a Alfresco vemos que ya tiene su Content Type correctamente. &lt;/P&gt;&lt;P&gt;&lt;IMG class="image-2 jive-image" src="https://connect.hyland.com/legacyfs/online/alfresco/22012_pastedImage_12.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;¿Que te parece Angel?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jul 2018 08:28:46 GMT</pubDate>
    <dc:creator>gsantos</dc:creator>
    <dc:date>2018-07-18T08:28:46Z</dc:date>
    <item>
      <title>Microsoft Word y Alfresco WebDav. Content Type vacío</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113720#M80068</link>
      <description>Buenos días&amp;nbsp;Nosotros le permitimos al usuario crear y modificar documentos de word (.doc, .docx) sobre Alfresco, a través de WebDav usando el cliente Microsoft Word.&amp;nbsp;Alfresco Version: Community - v3.4.0 (d 3370)¿Que ocurre?&amp;nbsp;Cuando guardamos un documento Word en Alfresco usando WebDav, dentro de las</description>
      <pubDate>Thu, 05 Jul 2018 10:28:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113720#M80068</guid>
      <dc:creator>gsantos</dc:creator>
      <dc:date>2018-07-05T10:28:06Z</dc:date>
    </item>
    <item>
      <title>Re: Microsoft Word y Alfresco WebDav. Content Type vacío</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113721#M80069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Probablemente es esta&amp;nbsp;incidencia de Alfresco que en esa versión no está resuelta:&lt;/P&gt;&lt;P&gt;&lt;A href="https://issues.alfresco.com/jira/browse/MNT-2624" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/MNT-2624&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jul 2018 07:10:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113721#M80069</guid>
      <dc:creator>angelborroy</dc:creator>
      <dc:date>2018-07-09T07:10:28Z</dc:date>
    </item>
    <item>
      <title>Re: Microsoft Word y Alfresco WebDav. Content Type vacío</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113722#M80070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hola&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cuando intento guardar un fichero de microsoft word sobre el repositorio de documento de Alfresco a través de WebDav &lt;A class="link-titled" href="https://alfresco.dev.es/alfresco/webdav/Test/Test.docx" title="https://alfresco.dev.es/alfresco/webdav/Test/Test.docx" rel="nofollow noopener noreferrer"&gt;https://alfresco.dev.es/alfresco/webdav/Test/Test.docx&lt;/A&gt;&amp;nbsp; se realizan varias peticiones HTTPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://connect.hyland.com/legacyfs/online/alfresco/22005_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;La petición que sube el fichero al repositorio de Alfresco es mediante el verbo &lt;STRONG&gt;HTTP PUT&lt;/STRONG&gt;, para ello decidi sobreescribir el comportamiento dentro de alfresco de la clase &lt;STRONG&gt;org.alfresco.repo.webdav.PutMethod (&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;alfresco-remote-api-3.4.d.jar&lt;/SPAN&gt;)&lt;/STRONG&gt; añadiendo una serie de mensajes de Logging para ver que realmente que hace Alfresco cuando se realiza dicha petición PUT. En esta clase PutMethod se determina el tipo MimeType (Content Type) que tendra el documento en Alfresco.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aqui viendo los mensajes de log podemos ver que el tipo MIME se determina en base a la cabecera HTTP content type (&lt;STRONG&gt;m_strContentType = m_request.getHeader(WebDAV.HEADER_CONTENT_TYPE)&lt;/STRONG&gt;) de la petición HTTP PUT que es &lt;STRONG&gt;text/xml; charset="utf-8"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,220 DEBUG [org.alfresco.webdav.protocol] GPG Put node: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user: admin&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path: /Test/Test.docx&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,242 DEBUG [org.alfresco.webdav.protocol] &lt;STRONG style="color: red;"&gt;GPG Mimetype mimetype: text/xml; charset="utf-8"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;13:53:24,400 DEBUG [org.alfresco.webdav.protocol] PUT took 182ms to execute&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Es decir, ALFRESCO siempre va asignar el content type como si fuera un documento XML, cuando en realidad se trata de un documento de Word y el content type debería ser &lt;STRONG style="font-size: 11.0pt;"&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;¿Cuál es mi solución?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;He modificado la clase &lt;STRONG&gt;org.alfresco.repo.webdav.PutMethod &lt;/STRONG&gt;para obligar que se determine el mimetype (content type) Alfresco en lugar de usar el mimetype de la petición.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;String mimetype = null;&lt;BR /&gt;if (m_strContentType != null)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mimetype = m_strContentType;&lt;BR /&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;String guessedMimetype = getMimetypeService().guessMimetype(contentNodeInfo.getName());&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mimetype = guessedMimetype;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (logger.isDebugEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; logger.debug("GPG guessedMimetype: " + guessedMimetype);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;STRONG&gt;mimetype = getMimetypeService().guessMimetype(contentNodeInfo.getName());&lt;/STRONG&gt;&lt;BR /&gt;if (logger.isDebugEnabled())&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; logger.debug("GPG Mimetype mimetype: " + mimetype);&lt;BR /&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;writer.setMimetype(mimetype);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ahora si accedemos a Alfresco vemos que ya tiene su Content Type correctamente. &lt;/P&gt;&lt;P&gt;&lt;IMG class="image-2 jive-image" src="https://connect.hyland.com/legacyfs/online/alfresco/22012_pastedImage_12.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;¿Que te parece Angel?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2018 08:28:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113722#M80070</guid>
      <dc:creator>gsantos</dc:creator>
      <dc:date>2018-07-18T08:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: Microsoft Word y Alfresco WebDav. Content Type vacío</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113723#M80071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Es similar al parche que aplicó Alfresco para versiones posteriores:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/ecm4u/community-edition-5.2.e-patched-OLD/blob/master/root/projects/remote-api/source/java/org/alfresco/repo/webdav/PutMethod.java#L274" rel="nofollow noopener noreferrer"&gt;https://github.com/ecm4u/community-edition-5.2.e-patched-OLD/blob/master/root/projects/remote-api/source/java/org/alfresco/repo/webdav/PutMethod.java#L274&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Buen trabajo!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2018 08:55:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/microsoft-word-y-alfresco-webdav-content-type-vac%C3%ADo/m-p/113723#M80071</guid>
      <dc:creator>angelborroy</dc:creator>
      <dc:date>2018-07-18T08:55:40Z</dc:date>
    </item>
  </channel>
</rss>

