No thumnail or preview for PSD

Nuxeo 5.5 on Mac OS X Lion server…

I've imported a PSD as a file into DAM and it won't show a preview or thumbnail image of the PSD file, then I tried as an image, didn't allow cause it wasn't a jpg, gif, png. Lastly I tried as a video and it didn't worth either! Here is what I see - The first one that has the “OFFICE"thumbnail with file name “Click here” is a PSD, second one is an image “Hello World” and the last one “Laptop” is a PSD imported as a video. Any suggestions?

0 votes

4 answers

2452 views

ANSWER

A few questions…

  1. Do you have the latest version of GhostScript installed (version 9.0.5)?

  2. Do you have the latest version of ImageMagick installed (version 6.7.x-x)?

  3. Are there any errors showing up in your log file?

  4. Do you have all hot fixes applied? There are a few fixes to core imaging libraries in HF01 and HF04 (if I recall correctly).

Cheers, Bruce.

05/24/2012



What I did to fix this issue was make a custom contribution to override default office and image plugin filters. I changed the “order” attribute of OfficeFileImporter to 7 and the Imageplugin to 8. The contribution I'm using follows… (the classes associated with each plugin extend the default classes and override functions)

<?xml version="1.0"?>
<component name="com.concena.custom.dam.core.filemanager.plugins">
    <require>org.nuxeo.ecm.platform.filemanager.service.FileManagerService.Plugins</require>
    <require>org.nuxeo.dam.filemanager</require>
    <require>org.nuxeo.ecm.platform.picture.filemanager.contrib</require>

    <extension target="org.nuxeo.ecm.platform.filemanager.service.FileManagerService" point="plugins">
        <plugin name="OfficeFileImporter" class="com.concena.custom.dam.importer.DefaultFileImporterCustom" order="7">
            <filter>application/msword</filter>
            <filter>application/vnd.openxmlformats-officedocument.wordprocessingml.document</filter>
            <filter>application/vnd.openxmlformats-officedocument.wordprocessingml.template</filter>
            <filter>application/vnd.ms-word.document.macroEnabled.12</filter>
            <filter>application/vnd.ms-excel</filter>
            <filter>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</filter>
            <filter>application/vnd.openxmlformats-officedocument.spreadsheetml.template</filter>
            <filter>application/vnd.ms-excel.sheet.macroEnabled.12</filter>
            <filter>application/vnd.ms-excel.template.macroEnabled.12</filter>
            <filter>application/vnd.ms-excel.addin.macroEnabled.12</filter>
            <filter>application/vnd.ms-excel.sheet.binary.macroEnabled.12</filter>
            <filter>application/vnd.ms-powerpoint</filter>
            <filter>application/vnd.openxmlformats-officedocument.presentationml.presentation</filter>
            <filter>application/vnd.openxmlformats-officedocument.presentationml.template</filter>
            <filter>application/vnd.openxmlformats-officedocument.presentationml.slideshow</filter>
            <filter>application/vnd.ms-powerpoint.addin.macroEnabled.12</filter>
            <filter>application/vnd.ms-powerpoint.presentation.macroEnabled.12</filter>
            <filter>application/vnd.ms-powerpoint.template.macroEnabled.12</filter>
            <filter>application/vnd.ms-powerpoint.slideshow.macroEnabled.12</filter>
            <filter>application/vnd.sun.xml.impress</filter>
            <filter>application/vnd.sun.xml.impress.template</filter>
            <filter>application/vnd.oasis.opendocument.presentation</filter>
            <filter>application/vnd.oasis.opendocument.presentation-template</filter>
            <filter>application/vnd.sun.xml.calc</filter>
            <filter>application/vnd.sun.xml.calc.template</filter>
            <filter>application/vnd.oasis.opendocument.spreadsheet</filter>
            <filter>application/vnd.oasis.opendocument.spreadsheet-template</filter>
            <filter>application/vnd.sun.xml.writer</filter>
            <filter>application/vnd.sun.xml.writer.template</filter>
            <filter>application/vnd.oasis.opendocument.text</filter>
            <filter>application/vnd.oasis.opendocument.text-template</filter>
            <filter>application/pdf</filter>
            <filter>application/xml</filter>
            <filter>text/xml</filter>
            <filter>text/plain</filter>
            <filter>text/html</filter>
            <filter>application/xhtml+xml</filter>
            <filter>text/x-web-markdown</filter>
        </plugin>

        <plugin name="Imageplugin" class="com.concena.custom.dam.importer.customImagePlugin" order="8">
            <filter>image/jpeg</filter>
            <filter>image/gif</filter>
            <filter>image/png</filter>
            <filter>image/tiff</filter>
            <filter>image/bmp</filter>
            <filter>image/x-ms-bmp</filter>
            <!-- RAW images mime type -->
            <filter>image/x-canon-cr2</filter>
            <filter>image/x-canon-crw</filter>
            <filter>image/x-nikon-nef</filter>
            <filter>image/x-adobe-dng</filter>
            <filter>image/x-panasonic-raw</filter>
            <filter>image/x-fuji-raf</filter>
            <filter>image/x-sigma-x3f</filter>
            <filter>image/x-pentax-pef</filter>
            <filter>image/x-kodak-dcr</filter>
            <filter>image/x-kodak-kdc</filter>
            <filter>image/x-sony-sr2</filter>
            <filter>image/x-sony-arw</filter>
            <filter>image/x-sony-srf</filter>
            <filter>image/x-minolta-mrw</filter>
            <filter>image/x-olympus-orf</filter>
            <filter>image/x-raw-epson</filter>
            <filter>image/x-portable-pixmap</filter>
            <filter>image/raw</filter>
            <filter>image/x-raw</filter>
            <filter>application/illustrator</filter>
            <filter>image/photoshop</filter>
            <filter>application/postscript</filter>
        </plugin>

        <plugin name="DefaultFileImporter" class="com.concena.custom.dam.importer.DefaultFileImporterCustom" order="25">
            <filter>.*</filter>
        </plugin>
    </extension>
</component>

The contribution is made in an xml file and included in my Nuxeo IDE build process.

1 votes



Forgive my ignorance bruce, where do I add/create this xml?
05/25/2012

Sorry about that.

Well I normally include this in my custom jar, but this requires setting up the Nuxeo IDE dev environment (see http://doc.nuxeo.com/display/IDEDOC/Nuxeo+IDE+Documentation+Center).

However, it may work just as well by creating the XML file (e.g., mynxfilemanager-plugin-bundle.xml) in the Nuxeo server nxserver/config directory. I have copied LDAP config xml files into the config directory and they work fine.

To the above you will have to change the following:

FROM >> class="com.concena.custom.dam.importer.DefaultFileImporterCustom"

TO >> class="org.nuxeo.ecm.platform.filemanager.service.extension.DefaultFileImporter"

-and-

FROM >> class="com.concena.custom.dam.importer.customImagePlugin"

TO >> class="org.nuxeo.ecm.platform.picture.extension.ImagePlugin"

05/25/2012

Thanks for the reply, how did you import the PSD, as an image or file?
05/30/2012

I think has something to do with MySQL. I tried a new install with the default database service, put the XML file in the nxserver/config… it worked! With MySQL, put the file in nxserver/config, it shows nothing. Any suggestions of what may cause this issue using MySQL?
05/30/2012

Well Nuxeo recommends not using MySql for the most part (see http://doc.nuxeo.com/display/KB/MySQL+limitations). If it's practical/possible to switch to Postgresql then that would always be my first suggestion.

The same approach really should work irrespective of database (assuming that all other configuration is the same). I don't understand how something like this could be database dependent, but of course stranger things have happened!

05/30/2012


I found “We generally don't recommend to use MySQL (see Why avoid MySQL?).” Saw the listed reasons, I'm going to use the recommend SQL engine (postgresql) and I'll report back my results.

0 votes



I've configured it with postgresql and it seems to be working correctly. It must of been MySQL the problem with not showing the preview and thumbnail. Thanks for the help bruce!
05/31/2012


I've applied hot fixes and it hasn't changed. PSD don't show preview of what it actually is in it.

0 votes



How big is the PSD file? How much memory do you have on your system?
05/24/2012

PSD is 285KGB
05/24/2012

can you send me the PSD? I will try on my system. I have fixed a number of DAM-related image and performance issues so I can at least test that it gets processed properly.
05/25/2012

Let me know if you're able to find out, I'm puzzled why it won't show a thumbnail of the actual file and preview of what is in the file… http://dl.dropbox.com/u/37922225/bg_header.psd
05/25/2012

I imported the PSD without issue. See http://bit.ly/KQKSzf for the screenshot. The version of DAM I imported the PSD in to is customized to extend functionality, fix things that are broken, and improve performance. If I recall correctly the fix for this issue relates to the FileManagerService plugins - these plugins determine which importer is used for a given file type. I will compare mine to stock 5.5 and let you know the difference.
05/25/2012

Here is a list of local packages I have installed on mine, maybe I need to enable one of them?
05/25/2012


Thanks for the quick reply!

  1. ghostscript @9.05_2

  2. ImageMagick @6.7.6-7_0+q16

  3. I'm new to the software, I don't know what to look for in the logs, I didn't see anything jumping out at me saying it was major. In the nuxeo-error.log the last error was on the 21st…

    2012-05-21 16:11:05,596 ERROR [nuxeo-error-log] Request Attributes:

    securityError : false nuxeo.disable.redirect.wrapper : true exception_message : incorrect data check stackTrace : javax.servlet.ServletException: javax.faces.FacesException: Error decode resource data

        at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:137)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.ecm.platform.wi.filter.WIRequestFilter.doFilter(WIRequestFilter.java:120)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:141)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.platform.login.web.LoginStackCleaner.doFilter(LoginStackCleaner.java:49)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:59)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        at java.lang.Thread.run(Thread.java:680)
    

    Caused by: javax.faces.FacesException: Error decode resource data

        at org.ajax4jsf.resource.ResourceBuilderImpl.decrypt(ResourceBuilderImpl.java:627)
        at org.ajax4jsf.resource.ResourceBuilderImpl.getResourceDataForKey(ResourceBuilderImpl.java:369)
        at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:156)
        at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
        at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
    

    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

    at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:131)
    ... 27 more
    

    Caused by: java.util.zip.DataFormatException: incorrect data check

        at java.util.zip.Inflater.inflateBytes(Native Method)
        at java.util.zip.Inflater.inflate(Inflater.java:238)
        at java.util.zip.Inflater.inflate(Inflater.java:256)
        at org.ajax4jsf.resource.ResourceBuilderImpl.decrypt(ResourceBuilderImpl.java:621)
        ... 37 more
    

    user_message : an unexpected error occurred NuxeoExceptionHandlerMarker : true

  4. I don't know where to download the hot fixes, I saw I need 7 applied, clicked the link, but the page it directed me too didn't have anything relating to downloading them? Is there a URL explaining how-to do it?

Thanks!

0 votes