cq5 permissions problems viewing content on publish - aem

I'm having a very interesting problem w/ content appearing on my publish instance. Let me just run down the situation and see if anyone can help.
I have an author and publish instance set up.
Authors have and still do successfully replicate items from Author to Publish with no issue.
All of my code base has been migrated over, my jars are fine -- i even rebuilt the individual jars in the publish instance crx just to make sure.
------- now for the issue.
I went to publish a new page and it did not show up on the publish instance. It's not a new template or component type, just another page to add to the list. These are the actions I took and what i found. I currently have 2 publish instances set up, but will refer to them synonymously as "publish" since their states appear to be identical.
Activated to publish -- did not show up in publish
logged into publish/crx/de/index.jsp to make sure it was replicated properly.
the content did make it fine and is in the proper path in /content
The ACL and access control permissions are the same as all the other content nodes of the same type. (Just to note, those content nodes are perfectly viewable).
No stacktrace errors in my logs. However, when going through the dispatcher I get this error: org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension js, cannot render resource JcrNodeResource, type=XXX, superType=null, path=/content/XXX/jcr:content
I went ahead and logged in as admin in my publish/crx/de and hit the content page in question and everything looked fine. What this means is the content is available to administrators but not anonymous users.
edit: I made sure to check the anonymous context in all 3 instances -- both publish instances directly and through dispatcher.
From here I figured it had to be an issue w/ the access control, but the new node has identical permissions to nodes that are available to the anonymous user context.
To check if it was a matter of replication, I went and deactivated some of the other similar nodes, saw they disappeared, reactived them and saw them come back. Following this train of thought I deactived the group (old nodes + my new node) and then reactived them -- all the old nodes showed up, and still the same permissions issues w/ the new node.
Is the access control available anywhere else? I'm curious if there are other places for me to look at in order to figure out what's wrong with this piece of content.
thank you,
Brodie

You can set "read" permissions for the group "everyone". Ultimately, you will want to put a dispatcher in front of your publishers, and prevent public access to your publish instances directly (preferably sitting behind a VPN).
This means that your dispatcher will be denying access to /apps anyway, and your instances will still be secure, and the ACL for the publisher won't really matter as long as an anonymous user can render the page under /content

Have you tried hitting the page directly as an anonymous user on the publisher (bypassing the dispatcher)? That would help you rule out whether it is a dispatcher issue.
This article may also help: http://forums.adobe.com/message/4263731 It include this:
"The issue was that after creating a new site on an author instance,
when viewing it on the publish site the page was not rendering
correclty. The visible symptom was that initial HTML tags (for HTML,
HEAD, META, and BODY) were being generated, but the content was not be
filled in. I did Activate my content properly, however, because it
was a new site, and I had generated new components and site templates
which resided in the "apps" folder and assets in the "etc" folder,
they were not available to be rendered and so the HTML page was blank
(because they could not be found on the publish instance). What I did
was use the "Activate Tree" under the Tools section to publish content
in /content/mysite. What I missed was using the Activate Tree to
publish items I had created in /etc/designs/mysite and /apps/mysite."

So this is on solution I found, but I don't feel like it is the best solution.
The root issue was that access control was restricted on the Views of the component. This is because /apps has a default deny to read for the "Everyone" group.
I changed this, but was told that of cq5.4 this was put in as a security precaution.
So as this fixes my problem, I fear it may introduce new ones. I'd like to get some more responses before resolving this out.

WEN U ZIP FROM PACKAGE MANAGER FOR USER AND GROUP PERMISSIONS ADD ALL THE NODES WHICH U HAVE WITH THE NAME OF "REP:POLICY"'S AND INSTALL IN NEW CQ

Related

TYPO3 - display one page from pagetree only

I have a problem whose solution is certainly very simple, but it does not come to my mind at the moment :/
I have a multi-domain TYPO3 (6.1) installation and in one of the websites I need to temporarily show only one subpage, and over the rest of the pages I will work/update so I can not delete them. It is important that someone after entering a URL or going to the page from the Google search results has not opened this page, and has been redirected to this temporary.
I've tried the mount points but something does not work ...
Please help.
You can exchange the domain-records.
Make a new page on it's own (independent from the configuration of the domain it should replace). so it is a root-page. give it a domain record and disable the domain record of the pagetree it should replace.
Be aware to change the rootpageid configuration in realurl.
You also may need a special configuration for 404 handling for this domain as the most requests will be a 404 (or better 503).
And hurry up to update your system. TYPO3 6.1 is out of service for a long time.

How does geometrixx outdoor's Order page work in AEM 6?

in AEM, how does geometrixx-outdoor's Orders.html page work.
http://localhost:4502/aem/orders.html/etc/commerce/orders
my initial finding is that /libs/commerce/gui/content/orders is being rendered and data is fetched from /etc/commerce/orders folder. but i'm not able to figure out how it's fetching data for the users. i need to extend this functionality and check if i can use it for the functionality i need.
I'm posting an answer to my own question so that anyone in future might be able to find the post a bit helpful.
Resource Merger API of AEM can be used to extend admin pages in Adobe Experience Manager.
http://dev.day.com/content/ddc/en/gems/user-interface-customization-for-aem-6.html first 20 minutes of this screencast explains it really well.
more information about it is given at https://helpx.adobe.com/experience-manager/using/extending-aem-6-administrator-user.html
in short, if one wants to add a nav bar entry in AEM, create a node after /apps/cq/core/content/nav. your node will be merged with /libs/cq/core/content/nav entries.
for creating your own pages in user interface, refer to /libs/commerce/gui/content/orders and create only the order node in libs folder(having a resource type granite/ui/components/foundation/page). main thing here is that the id in order node here should match the id given in nav bar node above. /libs/cq/gui/components/siteadmin/admin/pages/pages.jsp is the actual page which resolves the nodes to make header and body of pages.
explore the orders node to know more about how pages are created by adding only nodes.

CQ5: links/paths in properties aren't updated on page rollout

When I create a live copy of a blueprint website, and rollout pages using standard rollout config, links in the pages are updated to reflect the live copy version.
ex. /content/myblueprintwebsite/home.html -> /content/mylivecopywebsite/home.html
But when those paths are buried inside properties of the page content nodes, they are not updated, and still points to the blueprint pages.
... is this the intended behavior? If so I guess I would have to write my own rollout config? Or is there another solution to this problem?
Thanks for your answers.
As per: https://docs.adobe.com/docs/en/aem/6-1/administer/sites/msm/msm-livecopy.html
"
When the blueprint source contains links and references that target a paragraph in a different chapter, the targets are not updated in the live copy pages. For example, a live copy is created from the Geometrixx Demo Site blueprint. Links in the Toolbar chapter that target the Services chapter are not updated in the live copy, and continue to target the original pages in the Geometrixx Demo Site.
"
My interpretation of the above:
- If the link to the target is created on a page that is in the ancestral line, the change will reflect in live copies.
I tested this by configuring a link to bp/en/parent/child-page on the bp/en/parent page and also on the bp/en page.
In both cases, the corresponding live-copy/... pages reflect changed paths to the live copy specific child page.
Moreover, the change is happening for links no matter what widget is used - OotB List, a customized link widget, or hyperlink configured in the text widget.
Further question:
Editors may want to create links from pages that is not in the ancestor line. What then? Is there a configuration that can be set to allow the change to happen ? Or are we required to write custom rollout action?
When ever a page rollout is done it updates all the individual content references for ex:
paths in property nodes, if it is stored individually i.e., not concatenated with any other text like: hello /content/test/master/en.
It doesnt update if the path is in the mid of other text.
And
Creating custom roll out doesn't server your purpose.If u really want to create custom roll out to meet this requirement then you have to create following custom live actions and write logic to find paths and then modify them.
1.ContentCopyActionFactoryCustom
2.ContentDeleteActionFactoryCustom
3.ContentUpdateActionFactoryCustom
Creating custom roll out is a risky option as roll out is called from many places like while creating live copy,from blue print section , roll outing a page and its sub pages and background execution etc.,We have to handle any exception caused in this explicitly.If u start changing one file then u end up changing all related files has roll out implementation on many java classes.
Ideal Solution : Save all the paths in a individual property and AEM will take care of updating there references
Cheers !!

Issue with publishing a new page in CQ5

I have installed both author and publish instances of CQ5.5 on my PC. But when I add a new page and publish it, it does not appear in the publish instance. Only a blank page is rendered.
I have tried activating it both from the siteadmin and from the Replication page in Tools. Only the navigation item appears in the Publish instance.
I checked the Request logs also. But it only gives a
200 response(OK)
Can someone please help me on this ?
You need to activate/replicate your /apps/site folder where all of your templates and components are located to push it from your author instance to your publish instance. Activating a page doesn't automatically activate the components and templates it uses.
Go to:
http://localhost:4502/etc/replication/treeactivation.html
Browse to or type /apps/[your site] in the path field
Set the check boxes to fit what you want to activate (Unchecking all will make everything under the selected path activate)
Click 'Dry Run' to see what will get activated without actually activating. (This is more of an informative step to help ensure you don't activate something not intended in a production setting)
Click 'Activate' to activate.
You can then check your publish instance to see your templates and code are there.
It is easy to miss activating your apps folder as there is no ui like the website admin for pages where you can activate.
Activating a page/folder/asset does not activate sub-pages/folders/assets. This can cause confusion especially when working with folders.
Generally if you need to activate a tree the best way is to use the tree activation utility
The only time I've ever seen this is when the code is not installed. That would be the first thing that I'd check. Go to (assuming you have your publisher on port 4503)
http://localhost:4503/crx/de
You should have your the code in /apps and you should be able to find the content page in /content too.
The reason this happens is that the sling:resourceType property points to a component that doesn't exist so it uses the default which is an empty output.
You have to build the code to both the environments (author as well as publish). This way both the environments will have the same copy of source code installed in the form of cq5 packages and felix bundles. Then if you create a new page or drop any component on any existing page, it will appear the same on publish environment after activating the same either through 'Activate Page' link in sidekick or through replication tree activation page.

Publishing multiple sites on a single instance of umbraco

I am looking to setup a parallel site to one already that already uses umbraco for its content management system. The new site would share admins, templates, macros, and media resources, but not any content. If I setup multiple host headers pointing to the same directory with an umbraco install, how can I switch the top node (home vs home2) of the site based on which url is being accessed?
I believe you first have to change a setting in umbracosettings.config:
<useDomainPrefixes>true</useDomainPrefixes>
Then I think you also have to right click on each top node and click 'Manage Hostnames', then add the appropriate host name for that top node.
It already sounds like you have IIS configured correctly, so you should be good to go on that front.
It's been a while since I've worked with Umbraco, but I think I'm mostly right ;-)