Archive for August, 2012

CQ5.5: Invalid links to DAM assets containing spaces in the file-name

Issue

If you are using the CQ5.5 authoring environment to add links to DAM assets through the rich-text editor dialog by drag-and-drop, then you may notice that some of these links will be marked invalid after clicking OK on the dialog.

A invalid link appears like the “banking” text below, whereas a valid link appears like the “investors” text.

You may also see errors similar to the following in the error.log:

*ERROR* [0:0:0:0:0:0:0:1 [1344244721052] GET /libs/wcm/core/content/pageinfo.json HTTP/1.1] com.day.cq.wcm.core.impl.servlets.PageInfoServlet Request path does not resolve to a resource: /content/dam/geometrixx/documents/GeoSphere_D%20a%20tasheet.pdf

Reason

The links are marked invalid when the assets in DAM contain spaces, or other characters such as !%$üäö, in the file-name (e.g. GeoSphere_D a tasheet.pdf).  Such file-names are being parsed by a URL encoder and the characters get converted by a URL encoder at the wrong place.

Workaround

You can workaround this issue by creating the link with the in-place editor, and also creating the link manually using the link button in the rte dialog, and selecting the document through the browse function. Only drag&drop directly onto the text in the rte dialog is not working.

Solution

This is a product issue with the rich-text widget and has been fixed in later product versions.

If you wish to resolve this issue in CQ5.5 you should contact support through Daycare and request hotfix “cq-5.5.0-hotfix-2390-1.zip”.  This hotfix has dependencies on other components, so the support team can advise you on installation order and requirements.

reference: (37103/NPR-2390)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.0/10 (1 vote cast)

CQ5.5: MCM emails contain URLs to author instead of publish

Issue

If you are using the Newsletter feature in MCM to send emails to lists of contacts you may notice that the URLs for assets in the email are pointing to the author instance, rather than the publish instance.  The links to the author instance will not work for external users, so the assets in the email will not show up.

Reason

This is a documentation issue as there is some further configuration required to substitute the links in the newsletter email so they point to the publish instance, rather than the author instance.  This will be addressed in a later version of CQ.

Solution

To resolve this issue in the meantime you should do the following steps:

  1. login to the system console on author (e.g. http://localhost:4502/system/console/configMgr)
  2. in the configuration tab search for the “Day CQ MCM Newsletter” bundle and open it
  3. take note of the fake host name in “Lookup for Sender Host” field (by default it is –publish–), i.e. the field should have http://–publish– in it
  4. open CRXDE Lite and goto /etc/map/http
  5. create a Node named –publish– of type sling:Mapping
  6. add a String property sling:match with value –publish–.80
  7. add a String property sling:redirect with value of your publish instance host name or IP including port(e.g. http://publishhost:4503)
  8. click Save All

Now when you send the newsletter it should substitute the author URL with the publish URL.

reference: (37433/CQ5-15440)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.5/10 (4 votes cast)

Acrobat: “Insufficient data for an image” error after updating to 10.1.4 or 9.5.2

Issue

If you have updated Adobe Acrobat/Reader to the current version 10.1.4 or 9.5.2 then you may encounter the following error when opening some PDF files:

“Insufficient data for an image”

The PDF will open, but the contents may appear blurred, or not display at all.

Reason

This error occurs due to a problem in the Adobe Acrobat/Reader functionality used to display scanned documents and/or documents containing JP2K images.

Solution

This issue has been fixed with the latest version of Reader XI now available (http://get.adobe.com/reader).  We are actively working on a solution for previous versions and expect to have a fix available for Adobe Acrobat/Reader 10.1.x and 9.5.x in Q1 2013.
Update (08 Jan 2013): this issue has now been fixed in the latest updates for Adobe Acrobat and Reader 9.5.3 and 10.1.5 available from the Adobe site:
Reader updates
Acrobat updates

Workarounds

Changing the zoom settings should allow you to see the contents of the document.  Try reducing the Zoom factor, or click the button to “Fit one full page to window”.

You can make this change persistent (to avoid changing for every document) in Edit > Preferences > Page Display > Zoom > Fit Page.

You can also try saving the PDF again in Acrobat using the PDF Optimizer to optimize the PDF file using Standard settings, or the Reduced Size PDF option.

For those looking to roll-back to a previous version of Adobe Acrobat/Reader to avoid this problem, you can find archived versions here: ftp://ftp.adobe.com/pub/adobe/reader/.

Further Information

This issue is being discussed in detail in the following forum threads:

http://forums.adobe.com/message/4632375

http://forums.adobe.com/message/4632511

http://forums.adobe.com/message/4630822

reference: (3312912/3312904)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 5.1/10 (95 votes cast)

CQ5.5 SP1: MalformedPathException: ‘:redirect’ is not a valid path. Prefix must not be empty

Issue

If you have updated to CQ5.5 Update 1 and you attempt to access a user profile page, for example the admin profile, as follows:

http://<server>:<port>/home/users/a/admin/profile.form.html/content/geometrixx/en/toolbar/profiles/edit
or
http://<server>:<port>/home/users/a/admin/profile.form.html/content/geometrixx/en/toolbar/profiles/view

you will see the following exception in the error.log:

*ERROR* GET /home/users/a/admin/profile.form.html/content/geometrixx/en/toolbar/profiles/edit HTTP/1.1] com.day.cq.wcm.core.impl.WCMDebugFilter Exception:  org.apache.sling.api.scripting.ScriptEvaluationException:
    at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:385)

Caused by: java.lang.IllegalArgumentException: javax.jcr.RepositoryException: Failed to resolve path :redirect relative to node /home/users/a/admin/profile

Caused by: org.apache.jackrabbit.spi.commons.conversion.MalformedPathException: ‘:redirect’ is not a valid path. Prefix must not be empty

Reason

This issue is caused by a regression in the 2.1 version of Sling which has been integrated with CQ5.5 SP1: https://issues.apache.org/jira/browse/SLING-2518

The issue does not occur with the 2.0.10 version of Sling included with CQ5.5.

Solution

This issue will be resolved in the next release of CQ5.5 SP2.

reference: (37322/CQ5-18799)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)

CQ5.4: how to force a delay between workflow steps

Information

If you are using workflows in Adobe CQ5.4 you may wish to have a customized delay between certain workflow steps.  It is possible to cause a delay using the timeout functionality which has pre-defined values (immediate, 1h, 2h, 6h etc…), and then select the Auto Advance timeout handler to move the workflow to the next step.

In some cases you may also want to define your own delay intervals rather than use the pre-defined values.  This is possible in CQ5.4 by creating an overlay of:

/libs/cq/workflow/components/model/step/tab_common/items/timeout/items/timeout/options

to:

/apps/cq/workflow/components/model/step/tab_common/items/timeout/items/timeout/options

and then you can make a copy of one of the existing nodes (1h, 2h etc…), and change the values to suit your needs.  The value should be in seconds and not milliseconds.

This new value will then appear in the workflow step configuration dialog, under the list of timeout values, and the step will timeout after the specified interval.

reference: (37175)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 4.0/10 (4 votes cast)

CQ5: Loading an image from a resource in a custom image renderer

Issue

If you are using a custom image renderer to handle image renders, you may notice that you cannot create a valid Image object from a referenced Asset in the DAM.  You are probably using code similar to the following:

//Note c is an ImageContext object
Resource r = c.request.getResourceResolver().getResource("/content/dam/geometrixx/travel/train_station_woman.jpg");
Image i = new Image(r);
if (!i.hasContent()) {
    resp.sendError(HttpServletResponse.SC_NOT_FOUND);
    return;
}

In the example code snippet above, hasContent() will always return false.

Reason

You cannot simply create an image or a layer directly from an image/file resource as obtained from the resolver.  You must first use the Asset class to get a rendition of the image.  Then you can work with that.

Solution

Use code similar to the following

//Note c is an ImageContext object
Resource  r = c.request.getResourceResolver().getResource("/content/dam/geometrixx/travel/train_station_woman.jpg");
Asset a = r.adaptTo(Asset.class);
Layer layer = ImageHelper.createLayer(
      c.node.getSession(),
      a.getCurrentOriginal().getPath()
)

reference: (36895)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 5.0/10 (5 votes cast)