rubenr

Winx64 ImageMagickContentTransformerWorker not available and The content node was not specified so the content cannot be streamed to the client errors on Alfresco Community 5.2

Blog Post created by rubenr on Jul 2, 2018

This post is a possible fix to this errors:

 

ImageMagickContentTransformerWorker not available: 06020018 

 

06020006 The content node was not specified so the content cannot be streamed to the client: classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js on WINx64

 

1º.- Modify setenv.bat:

 

set MAGICK_CONFIGURE_PATH=C:\alfresco-community\imagemagick\modules\coders

 

2º.- Modify alfresco-global.properties

 

img.root=C:/ALFRES~1/imagemagick
img.dyn=${img.root}/lib
img.exe=${img.root}/convert.exe
img.coders=${img.root}/modules/coders
img.config=${img.root}/config

#img.gslib=${img.root}/lib   <- COMMENT THIS

 

3º.- Create 2 custom xml files in  alfresco-community\tomcat\shared\classes\alfresco\extension

 

custom-alfresco-pdf-renderer-transform-context.xml

 

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>

<bean id="transformer.worker.subsys.alfresco-pdf-renderer" class="org.alfresco.repo.content.transform.pdfrenderer.AlfrescoPdfRendererContentTransformerWorker">
<property name="mimetypeService">
<ref bean="mimetypeService" />
</property>
<property name="executer">
<bean name="transformer.alfresco-pdf-renderer.command" class="org.alfresco.util.exec.RuntimeExec">
<property name="commandsAndArguments">
<map>
<entry key=".*">
<list>
<value>${alfresco-pdf-renderer.exe}</value>
<value>SPLIT:${options}</value>
<value>${source}</value>
<value>${target}</value>
</list>
</entry>
</map>
</property>
<property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesWindows' : 'transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesUnix'}" />
<property name="defaultProperties">
<props>
<prop key="options"></prop>
</props>
</property>
<property name="errorCodes" >
<value>1</value>
</property>
</bean>
</property>
<property name="checkCommand">
<bean name="transformer.Pdfium.CheckCommand" class="org.alfresco.util.exec.RuntimeExec">
<property name="commandsAndArguments">
<map>
<entry key=".*">
<list>
<value>${alfresco-pdf-renderer.exe}</value>
<value>--version</value>
</list>
</entry>
</map>
</property>
</bean>
</property>
</bean>

<bean id="transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="ALFRESCO-PDF-RENDERER_HOME">
<value>${alfresco-pdf-renderer.root}</value>
</entry>
</map>
</property>
</bean>

<bean id="transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="ALFRESCO-PDF-RENDERER_HOME">
<value>${alfresco-pdf-renderer.root}</value>
</entry>
</map>
</property>
</bean>

</beans>

 

custom-imagemagick-transform-context.xml

 

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>

<bean id="transformer.worker.ImageMagick" class="org.alfresco.repo.content.transform.magick.ImageMagickContentTransformerWorker">
<property name="mimetypeService">
<ref bean="mimetypeService" />
</property>
<property name="executer">
<bean name="transformer.ImageMagick.Command" class="org.alfresco.util.exec.RuntimeExec">
<property name="commandsAndArguments">
<map>
<entry key=".*">
<list>
<value>${img.exe}</value>
<value>${source}</value>
<value>SPLIT:${options}</value>
<value>-strip</value>
<value>-quiet</value>
<value>${target}</value>
</list>
</entry>
</map>
</property>
<property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'transformer.worker.ImageMagick.processPropertiesWindows' : 'transformer.worker.ImageMagick.processPropertiesUnix'}" />
<property name="defaultProperties">
<props>
<prop key="options"></prop>
</props>
</property>
<property name="errorCodes" >
<!-- The published error and fatal error codes are in the 400 and 700 ranges, but 1 is the most common and have seen 255 (could that by -1) -->
<value>1,2,255,400,405,410,415,420,425,430,435,440,450,455,460,465,470,475,480,485,490,495,499,700,705,710,715,720,725,730,735,740,750,755,760,765,770,775,780,785,790,795,799</value>
</property>
</bean>
</property>
<property name="checkCommand">
<bean name="transformer.ImageMagick.CheckCommand" class="org.alfresco.util.exec.RuntimeExec">
<property name="commandsAndArguments">
<map>
<entry key=".*">
<list>
<value>${img.exe}</value>
<value>-version</value>
</list>
</entry>
</map>
</property>
</bean>
</property>
</bean>

<bean id="transformer.worker.ImageMagick.processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="MAGICK_HOME">
<value>${img.root}</value>
</entry>
<entry key="MAGICK_CODER_MODULE_PATH">
<value>${img.coders}</value>
</entry>
<entry key="MAGICK_CONFIGURE_PATH">
<value>${img.config}</value>
</entry>
<entry key="DYLD_FALLBACK_LIBRARY_PATH">
<value>${img.dyn}</value>
</entry>
<entry key="LD_LIBRARY_PATH">
<value>${img.dyn}</value>
</entry>
</map>
</property>
</bean>

<bean id="transformer.worker.ImageMagick.processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="MAGICK_HOME">
<value>${img.root}</value>
</entry>
<entry key="DYLD_FALLBACK_LIBRARY_PATH">
<value>${img.dyn}</value>
</entry>
<entry key="LD_LIBRARY_PATH">
<value>${img.dyn}</value>
</entry>
</map>
</property>
</bean>

</beans>

 

4º.- Restart TomcatServer

 

This fixed me the issue with thumbnails not working on Alfresco Community edition Windows 10 install (x64).

 

Let me know if it also works for you!

Outcomes