Posts in Category "WCM"

CQ5: Phantom fields appearing in IE after scrolling

Issue

If you are using CQ5 in Internet Explorer 8 or 9, you may notice phantom fields appearing after dismissing a dialog in the browser, and then scrolling the browser page.

phantom_fields

TestCase1
1) Goto /content/geometrixx/en/toolbar/feedback.html
2) Open the dialog of one field (eg. Name)
3) Cancel the dialog
4) Scroll the browser window
=> Phantom form fields appear.

TestCase2
1) Goto /content/geometrixx-outdoors/en/men.html
2) Open the edit dialog of the “Navigation Products”-Component
3) Click on “Cancel”
4) Scroll the browser window
=> Phantom form fields appear.

Reason

This issue is caused by a problem in the CSS which controls the layout of the page in author mode.

Solution

This issue will be fixed in CQ 5.6.1 and later versions.

Workaround

To workaround this issue in CQ5.5  SP2.1 you can use the following overlay to fix the CSS: reset_css_overlay_44088-1.0.zip

reference: (44088/CQ5-29678)

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

CQ5.5: Wrong default values displayed in forms with IE8

Issue

If you add show/hide rules on a Form (Dropdownlist or Radio Group) and set initial values as detailed below, the wrong default values are displayed on a publish instance in IE8.

1.) Create a new form
2.) Add two DDL components to the form
3.) Add three values (elema, elemb, elemc, …) to each DDL
4.) Set title=’Title 2′ and initial value to ‘elemb’ for 2nd DDL
5.) Set title=’Title 1′ and the initial value to ‘elema’ for 1st DDL
6.) Add the following rule (check ‘show/hide’) to Title 1: Show Title 1 if all of the following are met: Title 2 is equal to elemb
7.) Goto Preview, or Activate the page and call it on publish instance, or call it on author instance with param ‘wcmmode=disabled’

Result:
In IE 8, Title 1 is not shown (that is wrong), Title 2 displays elemc (that is wrong). If you change Title 2=elemb, then Title 1 does become visible, but with default value elemc (that is wrong).

Expected:
elema is shown as default value in the first DDL and elemb in second one.

Reason

This seems to be related to a problem in IE8.

Solution
The problem does not occur in Chrome (tested with version 27), Firefox (tested with version 19) or IE9.

reference: (43824/CQ5-29485)

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

CQ5: ClearableComboBox widget renders with 0px width and causes text-clipping

Issue

If you are using a ClearableComboBox widget on the second tab of a dialog, the widget is rendered with 0px width after selecting a value, which means the value is hidden/clipped.

-Install attached package into a CQ instance, it’s a modified dialog for the text component
-Open /content/geometrixx/en.html and drag a text component to the parsys
-Open the dialog for the text component
-Click on the tab “Bug Test” and select a value from the Combobox “ClearableComboBox”
-Important: Click on the tab “Text” to move away from the “Bug Test” tab
-Close the dialog with OK and open it again (usually just switching between tabs also shows the issue)
-Click on the tab “Bug Test”

Result: ClearableComboBox is rendered with no width, so value is not visible

Expected: ClearableComboBox to be rendered correctly so value is visible (ComboBox works fine)

Workaround
Using the ClearableComboBox widget on the 1st tab in the dialog, works fine.

Solution

You must add a new property hideMode to the dialog tab (not the combobox) in your custom text component, and set it’s value to offsets.  See the following screenshot for more details.

solution_screenshot

With this property set, the combobox width is maintained even when the dialog tab/panel is not visible.

reference: (43540/CQ5-29349)

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

CQ5.5 SP2.1: Links/References are not updated following move/rename

Issue

If you are using CQ5.5 SP2.1 and move/rename pages in the tree, you may notice that the links/references to those pages are not updated as expected.

Method

Add links in /content/geometrixx/en/products/triangle.html, pointing to the parent page, a sibling page, and a child page.
Move /content/geometrixx/en/products to /content/geometrixx/en/productsRenamed.

Result

None of the links in /content/geometrixx/en/products/triangle are adjusted to the new target /content/geometrixx/en/productsRenamed/….

Reason

This works in the base version CQ 5.5 and is a regression introduced by SP 2.1

Solution

This issue will be fixed in the next service-pack for CQ5.5 and later versions.  If you require a hotfix for this issue for SP2.1, please contact the support team through Daycare and request “cq-5.5.0-hotfix-2582″.

reference: (40612/CQ5-23844)

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

CQ5.5 SP1: Editing page properties in siteadmin does not work correctly

Issue

If you are using CQ5.5 SP1 and you edit the page properties in siteadmin, this may not work as expected.  For example, vanity URLs added to the page properties may not work correctly.

Reason

The issue with the page properties occurs because the node jcr:primaryType gets changed from cq:PageContent into nt:unstructured, due to a change in the latest Sling POST servlet.  The only way to avoid this node change with SP1  is to edit the page properties of a page using the sidekick within each page view.

Solution

This issue is resolved in CQ5.5 SP2.1, and later versions.

Workaround

If you cannot update to SP2.1 at this time there is a workaround using an overlay which you can install to avoid this problem.

Download and install the attached content package (SiteAdmin.Actions.js-overlay_40752.zip), containing an overlay of SiteAdmin.Actions.js, which prevents the nodetype of the jcr:content node being changed to nt:unstructured.  Once the package is installed, please make sure to clear your browser cache to avoid potential client-side caching issues.

After upgrading to SP2.1 be sure to remove this overlay.

reference: (40752/CQ5-18787)

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

CQ5: new page/site buttons disabled in WCM siteadmin

Issue

If you are using WCM siteadmin and wish to create a new page/site using the available buttons, they may appear disabled so that you are unable to click on them.  Firstly, you should check your permissions for these actions and/or check with an administrator or admin account.  If these problems persist it may be related to an issue in your repository structure.

Reason

These buttons can also be disabled if there is an invalid Page node in the /content tree.  A cq:Page node must have a child named jcr:content of type cq:PageContent, otherwise it is invalid and can lead to this issue.  The root /content node is not of type cq:Page and therefore does not require a jcr:content child of type cq:PageContent, but every other Page node below /content should have this structure.

It seems that if the invalid node is a top-level page/site in the content tree (e.g. /content/geometrixx) then it will affect the site actions for all other top-level nodes, and other nodes in that specific tree.
If the invalid node is a sub node (e.g. /content/geometrixx/en/services), then it seems to only affect the site actions for that level in that tree.

Such invalid nodes can appear in the tree if they were created outside of WCM (i.e. using CRXDE, or Content Explorer), or by importing a package containing such invalid nodes.

Solution

Check your content tree for such invalid page nodes, and repair the nodes as required, by creating a jcr:content child node of type cq:PageContent.

reference: (37890)

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

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 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: 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)

CQ5.4: How to display a confirmation dialog when activating pages

Issue

If you are using CQ5.x you will notice that there is a confirmation dialog for deleting/deactivating pages in the WCM console.  No such confirmation dialog is presented when you activate a page.  In some projects it may be a requirement to present such a confirmation dialog for activation also.

Solution

You will have to overlay:
/libs/cq/ui/widgets/source/widgets/wcm/SiteAdmin.Actions.js
to
/apps/cq/ui/widgets/source/widgets/wcm/SiteAdmin.Actions.js
Create the same folder structure in apps and then copy the SiteAdmin.Actions.js node from libs to the same folder in apps. This will ensure the jcr:content node under the JS file is also copied.

Then edit the SiteAdmin.Actions.js from apps.  You should replace the CQ.wcm.SiteAdmin.activatePage function with the lines (435-520) from this SiteAdmin.Actions.js file.

Note

Ideally you should not not completely overlay the siteadmin.Actions.js as you might run into problems when a SP brings a new SiteAdmin.Actions.js with it. Instead just overlay the function you want to change.  Use the clientlib approach and create a new JS file, attach it to the same clientlib as the SiteAdmin.Actions.js and redefine the function you want to change in that new JS file.

reference: (35823)

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

CQ5.5: Members of administrators group not able to unlock pages from other users

Information

Only the user who locked the page, or the “admin” user, can unlock it.  Members of the administrators group, apart from the “admin” user, cannot unlock pages which were locked by other users.

The documentation (http://dev.day.com/docs/en/cq/current/wcm/page_publish.html#Locking%20Pages) states:

You can only unlock locked pages if you locked the page or if you have administrator privileges.

This may be misleading, as it is not sufficient to have administrator privileges (i.e. general members of the administrators group).  Only the “admin” account has the correct privileges.

How to unlock a page

It is possible to unlock a page using the sidekick in WCM, or using Content Explorer.

1. Using the sidekick

Log into CQ as the user who locked the page or the “admin” user.

Open the page that is currently locked in the WCM Websites panel.

In the sidekick, select the Page tab and then “Unlock Page”.

2. Using Content Explorer (http://<server>:<port>/crx/explorer)

Browse the tree to the locked page.

Right-click on the jcr:content node below the locked page.

Select “Unlock” from the context menu.

reference: (35128/CQ5-18339)

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

CQ5.5: ‘uu’ is undefined javascript error in widgets.js

Issue

If you add a datetime or datefield Widget to a component dialog (e.g. /apps/geometrixx/components/title/dialog/items) in CQ5.5, you may encounter a javascript error on the page when you open the dialog, enter a date and submit it.  Your other changes in the dialog will not be displayed (e.g. the updated title will not displayed).

The javascript error says “uu is not defined” .

Reason
This is caused by an error in the JS code in
/libs/cq/ui/widgets/source/undo/UndoHistory.js (line 921).
There is an undefined variable “uu” used here.

Solution

This is a bug in CQ5.5 and will be fixed in a future release.

Workaround

A workaround would be to add a definition for “var uu = CQ.undo.util.UndoUtils;” before that variable is called.

1. create an overlay of /libs/cq/ui/widgets/source/undo/UndoHistory.js to /apps/cq/ui/widgets/source/undo/UndoHistory.js
2. open /apps/cq/ui/widgets/source/undo/UndoHistory.js
3. goto line 921
4. paste the following code into line 921:

var uu =CQ.undo.util.UndoUtils;
5. line 922 should now have:

var dateValue =uu.parseDate(originalValue);
6. save the file

reference: (33913/CQ5-17726)

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

CQ5: preview mode in sidekick does not refresh automatically

Issue

If you are using the sidekick to switch between edit, design and preview modes, you may notice that the pages refreshes automatically when switching to edit and design mode, but not when switching to preview mode.

This can cause problems if you are using the WCMMode methods and properties in your application to display a different page view depending on the current mode (i.e. using conditional logic based on WCMMode.DESIGN, WCMMode.EDIT and WCMMode.PREVIEW).  If the page does not refresh when switching to preview mode, then it will display the same objects and state as it did in edit mode.

Solution

The solution is simply to force a page refresh automatically when switching to preview mode.

  1. Open /libs/wcm/core/components/init/init.jsp
  2. Add the previewReload property as follows and save the changes:
    CQ.WCM.launchSidekick("<%= currentPage.getPath() %>", {
        propsDialog: "<%= dlgPath == null ? "" : dlgPath %>",
        locked: <%= currentPage.isLocked() %>,
        previewReload: "true"
    });
  3. Now CQ is setup to refresh automatically when switching to preview mode.

reference: (32750)

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

CQ: design and preview mode toolbar not visible

Issue

If you are using the sidekick on an author instance of CQ, you may notice that the toolbar at the bottom which includes the design and preview mode buttons, is not visible or available.

Reason

The functionality in the sidekick is determined by the ACLs (Access-Control-Lists) defined in the CQ server.  If you do not have the appropriate privileges then functionality may be hidden in your sidekick.  Sometimes the sidekick may become unstable if you add faulty components to the page, or after you have installed some packages that may have overwritten required objects in your application, breaking some dependencies.

Solution

You should first try to clear your browser cache, and then reload the page from WCM console to refresh the sidekick.

You should also ensure you have the correct privileges to access the appropriate design in /etc/designs.  This can be changed by an administrator on the Users tab in the siteadmin console.  If the privileges appear to be correct, then try to disable them, save, and then re-enable them and save.  The sidekick should now display the toolbar again as expected.

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