Expand my Community achievements bar.

Guidelines for the Responsible Use of Generative AI in the Experience Cloud Community.

WHY does "Request Publication" show instead of "Publish Page" in Touch UI?

Avatar

Level 4

I am facing a situation similar to yevhenii.d on "Request Publication" shown instead of "Publish Page" in Touch UI. One of our AEM 6.3 instances started showing "Request Publication" and "Request Unpublication" instead of "Publish Page" and "Unpublish Page".

1774821_pastedImage_1.pngand 1774822_pastedImage_2.png

I can implement yevhenii.d 's solution:

I found the actual problem at /libs/granite/ui/components/foundation/renderconditions/privilege/privilege.jsp

The actual trouble on line №53... After getting path trough cmp.getExpressionHelper() it returns the path with ".html" and then it tries to getResource with the ".html" and it's wrong.

I overlay jsp under /apps/ folder and remove ".html" if path contains.

This gets around the issue successfully, but that's not my goal or my question. I want to know why this happened - what could possibly change that would trigger this change in behavior. We have other instances, running on the same code base, where sending path with an ".html" at the end doesn't cause this problem.

I have looked at the code

1774838_pastedImage_4.png

I've looked at the PrivilegeRenderCondition.check() for if it has .html or not. No .html always generates TRUE. If the .html is there, check() generates FALSE if the page is locked (which happens when editing). Once the page is unlocked, the .check() is TRUE. And this is the same behavior on both instances.

Furthermore - normal AEM behavior is for "Publish Page" and "Unpublish Page" to only show when the page is unlocked. A side effect of the work around is that "Publish Page" and "Unpublish Page" will show up even when the page is locked.

So I don't think the problem is that it's sending ".html" and it's the getting wrong resource. I think it's something else - either what the PrivlegeRenderCondition is doing or what the "com.adobe.granite.ui.components.rendercondition.RenderCondition" attribute that is being set is doing with it.

5 Replies

Avatar

Level 4

Digging deeper and looking at /libs/wcm/core/content/editor/jcr:content/content/items/content/header/items/headerbar/items/pageinfopopover/items/list/items :

1774896_pastedImage_0.png

I can deduce that these are the different conditions which will trigger "Publish Page" or "Request Publication." "Publish Page" has the conditions:

  • Can Replicate
  • Is not a launch resource
  • Is not locked

"Request Publication" has the conditions:

  • Is not a launch resource
  • Can not Replicate

This tells me that in the "Request Publication" environment there is some issue with replication - something that is preventing the "Can Replicate" requirement from passing. (It also tells me that the resource without the .html is considered unlocked and can replicate.)

The canreplicate nodes have the sling:resourcetype of cq/gui/components/renderconditions/canreplicate. I'm looking at /libs/cq/gui/components/renderconditions/canreplicate/canreplicate.jsp, but it's not very helpful.

Avatar

Employee Advisor

Can you check in /useradmin if this user has the "canReplicate" privilege for that given path?

Avatar

Level 4

We ended up restarting the system, and when we did, the issue went away. So we did not need to code change. Moreover, once the issue was gone, we could no longer dig into the problem and find the cause.

I think the takeaway is the knowledge that when it says "Request Publication" instead of "Publish Page," it indicates there's an issue with replication in that environment. But the exact nature of that replication issue is going to be specific to that environment. One option to correct the replication issue is try would be to restart the systems. If the replication issue cannot be resolved, the code change to bypass it is an option, but has the caveat that with it, "Publish Page" and "Unpublish Page" will show up even when the page is locked.

Avatar

Level 1

Hello, Which version of AEM are you using?

and, Does somebody know if Request Publication / Unpublication still appear in AEM 6.5.1 version?
I have a user with Read, Modify, Create, Delete permissions on pages but not Publish, and I'm not able to see this options in the Edit view of the page.

In the Sites View Console I do can see the Manage Publication option that triggers the same results.

thanks for any info!