since ‎06-07-2012
‎23-12-2020
Andrew_Khoury
Employee
Re: Why do we use RTEFilterServletFactory in core compone...
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi,This configuration makes sure RTE editor content gets filtered to avoid XSS attacks. This feature is pending official addition to the Adobe docs:com.adobe.cq.ui.wcm.commons.internal.servlets.rte.RTEFilterServlet is the new generic servlet introduced that returns the content filtered (through the XSS API).This servlet is not bound to a particular component resource type, and can actually be configured to be bound to any new Text component by adding a new configuration amendmentHere's an exampl...

Views

2.1K

Likes

3

Replies

0
Re: How to provice access to child nodes while restrictin...
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi,You need to use rep:glob type ACLs to do what you want, see here:https://helpx.adobe.com/experience-manager/kb/how-to-leverage-rep-glob-aces-to-manage-permissions-on-multi-ten0.htmlThanks,Andrew

Views

5.6K

Likes

0

Replies

1
Re: How to debug JSPs in an AEM custom errorhandler?
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
To find the complied JSP files for debugging you can do the following:1. Go to http://host:port/system/console/bundles/org.apache.sling.commons.fsclassloader2. Get the Id bundle3. On the file system go to crx-quickstart/launchpad/felix/bundleX/data/classes where X is the Id value from step 2.4. You can add that folder to the source code debug search path of your Eclipse or IntelliJ project for debugging of the jsp.java files. I am assuming here that we are debugging on a local AEM instance. Othe...

Views

2.4K

Likes

2

Replies

0
Re: Why isn't debugging easier? Where's the source code?
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi jkpanera​,You should be able to do debugging using remote debugging as documented here:Debug an AEM app using eclipse Remote debugging is available in all major Java IDE's. Using remote debugging, you can debug your application's code.In addition, the code for Apache Felix, Sling and Jackrabbit Oak is available on github: The Apache Software Foundation · GitHub​.

Views

7.1K

Like

1

Replies

0
Re: AEM workflow instances and archive not always displayed
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
I searched our bug tracker and I couldn't find a matching issue. However, I have seen some cases where somebody tries to terminate a workflow during an AEM restart and it picks up the Sling POST servlet instead of the workflow servlet. In these cases this node gets corrupted: /var/workflow/instancesTo see if this is the cause and fix it, do the following:1. Go to http://aemhost:port/crx/de/index.jsp#/var/workflow/instances and log in as admin2. Check the Properties tab for the properties of the ...

Views

3.5K

Likes

0

Replies

0
Re: Xss config
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi Kishore,There is no ability to edit the xml file via dialogs. However, there shouldn't be need to edit the configuration so often. Antisamy xml format supports regular expressions. That makes it so you can define complex rules.More details can be found here:https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project

Views

2.1K

Likes

4

Replies

0
Re: Xss config
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
You need to overlay this file [1] under the /apps directory via CRXDE:[1] /libs/cq/xssprotection/config.xmlSee related doc here: Security Instructions:1. Go to http://{aemhost}/crx/de/index.jsp2. Browse to /libs/cq/xssprotection/config.xml and right-click the file then select Copy3. (Skip this step in 6.4 and later versions) Go to /apps and if it doesn't already exist, create the same folder structure usinig sling:Folder type /apps/cq/xssprotection. Select the Access Control tab and allow sling-...

Views

2.1K

Likes

3

Replies

0
Re: etc Mapping configurations for different runmodes
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Unfortunately the runmode doesn't get picked up by these automatically. You have to update the Resource Resolver configuration to point to your custom mapping path. Per the doc [1]:You can use /etc/map.publish to hold the configurations for the publish environment. These must then be replicated, and the new location (/etc/map.publish) configured for the Mapping Location of the Apache Sling Resource Resolver of the publish environment.[1] Official doc reference: Resource Mapping Instructions:1. G...

Views

2.0K

Likes

4

Replies

0
Re: 6.4 Policies for nested parsys in dynamic templates
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
This looks like it might be related to product issue CQ-4246095 which was a bug related to parsys and the template editor. A fix was included in AEM 6.3.3, 6.4.4 and 6.5.0. Please test on one of those versions.

Views

1.3K

Like

1

Replies

1
Re: AEM 6.4 | Apache Dispatcher rewrite rule to restrict classic ui authoring and exclude for one
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Since the anchor isn't sent to the server you could add javascript to the client library category loaded for the /cf URL. /cf is handled by this node /libs/wcm/core/content/contentfinder which loads javascript for the "contentfinder" xtype - /libs/cq/ui/widgets/source/widgets/wcm/ContentFinder.js. So you could overlay /libs/cq/ui/widgets/source/widgets/wcm/ContentFinder.js under /apps/cq/ui/widgets/source/widgets/wcm/ContentFinder.js with your custom logic.

Views

1.3K

Like

1

Replies

0
Re: AEM 6.4 | Apache Dispatcher rewrite rule to restrict classic ui authoring and exclude for one
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
This may not work as Joerg has mentioned because the anchor doesn't get sent to the server.

Views

1.2K

Likes

0

Replies

0
Re: Perfect AEM deploy to PRD ?
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
The issue of the bundles not getting updated by the package install is likely due to some performance issue with the application, meaning some thread is still using the classes from the older version. I would suggest you capture thread dumps from the instance and see what the stack traces are to debug the issue. If you need help debugging why the bundles aren't updating then please file a case with AEM support.In addition, it is generally suggested to pull each instance off of traffic / load bal...

Views

1.4K

Like

1

Replies

0
Re: "/" special character gets converted to {} after migrating to 6.4
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi vvnishant​​​ can you please provide more specifics? What feature of AEM is converting / to {} and where / how? Please provide steps to reproduce the issue too, if possible.

Views

1.8K

Likes

0

Replies

0
Re: com.day.cq.dam.core -- Cannot be resolved in AEM 6.4
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
rajs73651622​ I see the problem, that article you referenced is outdated. The class has been moved fromcq-dam-core bundle to cq-dam-commons, see here AbstractAssetHandlerAlso, I would suggest using the uber-jar for your AEM version instead of using separate dependencies. See here for how to set up a proper project:How to Build AEM Projects using Apache Maven

Views

2.9K

Likes

0

Replies

0
Re: Customizing AEM UI
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi rockie-rocafort​, I read the product code for you and it seems the logic for the filtering is hard coded into the query in com.adobe.cq.projects.impl.ProjectStorageProvider. So in order to override filtering you would need to modify these files:/libs/cq/gui/components/projects/admin/datasource/projectsdatasource/projectsdatasource.jsp/libs/cq/gui/components/projects/admin/clientlibs/projects/js/graph.toggle.jsCreate a filtering button similar to this one for your additional filtering:/libs/cq...

Views

1.1K

Like

1

Replies

0
Re: Core AEM bundles restart when custom bundle is deployed
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
prestonModOp​ the only way your custom bundle would cause the out of the box bundles to restart is if you are exporting a java package that is the same as one of the out of the box bundles.1. Go to the /system/console/bundles UI2. Click on each of your custom bundles and see the "Importing Bundles" list3. If any out of the box bundles are listed as importing your bundle4. Click on the link to the out of the box bundle in that list5. Look at the "Imported Packages" list on the out of the box bund...

Views

6.3K

Like

1

Replies

3
Re: How to create templates with components already placed?
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi vigiaemnewbie​, this concept is the whole idea behind editable templates, to allow authors to manage the templates. However, you could follow these steps for a developer to create initial content for a static template:1. Create a page, add whatever content you like.2. Create a new template node under your application folder /apps/myapp/templates/newtemplate3. Copy the jcr:content node of that page under the template node

Views

1.1K

Likes

0

Replies

0
Re: Do replication agents use the Sling Job Thread Pool?
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
The thread pool is managed by sling eventing. The settings for how events are processed as sling job threads are configured as an instance of org.apache.sling.event.jobs.QueueConfiguration:

Views

1.1K

Like

1

Replies

0
Re: Deferring contexthub.kernel.js
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
atyaf66​ and raghavc​ if possible, please open a support case with our AEM support team. We can ask the Adobe engineering team why the contexthub kernel is loaded synchronously and if there is any optimization that can be done.

Views

4.5K

Likes

0

Replies

1
Re: How to add a JS file to a AEM page without using clientlibs
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
If you would like to add a JS file to an AEM page without using a client library then you can add it to the page component code with a tag (as you would with normal HTML).

Views

671

Likes

0

Replies

0
Re: assetlink share customization
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi sr508​ java package com.day.cq.dam.core.impl is not exported by the out of the box cq-dam-core bundle. So any classes in there are internal, as such, they cannot be added to the uber jar.

Views

1.2K

Likes

0

Replies

0
Re: User sync doesn't sync groups associated with the user in AEM 6.3
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Thanks for the update Sawan. What you mention is a match to product issue GRANITE-25203. To add more details to this, usually the issue occurs with an error like this during user sync:javax.jcr.nodetype.ConstraintViolationException: OakConstraint0025: Authorizable property rep:password may not be removed.The issue can be resolved with the following steps:1. Make sure that communities-user-admin and usersync-admin are members of administrators group on the publish instances.2. Edit the configurat...

Views

4.5K

Like

1

Replies

0
Re: [New] Welcome to AEM Community! Please Introduce Yourself
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi, my name is Andrew Khoury, I have been working with the Adobe AEM Customer Care team as a Senior Engineer since the Day Software days (2008) when the product was called Communiqué. I have many years of AEM development and support experience and have a background in Computer Science and Digital Arts. My favorite hobbies are woodworking, programming and creating digital art using Photoshop and Illustrator.-Andrew

Views

18.9K

Likes

2

Replies

0
Re: Activate page not working on AEM 6.3.2.2
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
I checked the product code, it seems that the NullPointerException indicates that the cq:lastReplicationAction property is set on the node you are publishing but not the cq:lastReplicated or cq:lastPublished. That shouldn't be possible under normal circumstances. Do you have some custom code that modifies those properties?

Views

1.8K

Like

1

Replies

1
Re: cahce the source variable on the URL
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Please provide more details on what you are trying to cache. /ignoreUrlParams would just ignore the source parameter and cache the file (minus the querystring).Are you trying to cache varying versions of the same page / html by querystring param source?

Views

798

Like

1

Replies

0
Re: How can we customize ootb slingservlet in AEM
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
akashdeepm40900243​ the general recommendation is to avoid customizing the OOTB servlets. What is your requirement? Perhaps there is some other way to solve this.However, if you find you absolutely need to override the OOTB servlet then this article does a good job of explaining how to do so:http://www.computepatterns.com/153/overriding-out-of-the-box-servlet-in-aem-sling/

Views

3.5K

Likes

2

Replies

0
Re: Multiple Nested Multifields in one dialog
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
There are a few blog posts I was able to find that cover this:Experiencing Adobe Experience Manager - Day CQ: AEM 64 - Touch UI Nested Composite Multifield Using Coral 3 http://www.aemcq5tutorials.com/tutorials/create-touch-ui-nested-multifield-dialog-aem/ Did you happen to try those already?

Views

779

Likes

0

Replies

0
Re: Workflow Asset activation failed with version created error
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Hi Chamu,This issue with namespace errors usually happens after a selective crx2oak migration. You have solved the issue properly, see here for the official doc on the topic:javax.jcr.NamespaceException: Unknown namespace prefix error in AEM Thanks,Andrew

Views

1.1K

Likes

0

Replies

0
Re: Not able to access etc.clientlibs on publish environment
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
Please try this solution out on your publish instance: 1. Go to http://hostport/system/console/configMgr2. Search for and open Apache Sling Authentication Service3. Add these two entries to the sling.auth.requirements-/etc.clientlibs-/etc/clientlibs/granite4. After changing the property, restart the bundle http://host:port/system/console/bundles/org.apache.sling.auth.core

Views

4.3K

Likes

3

Replies

1
Re: Failed to load PDF document
Avatar

Andrew_Khoury

Employee

Andrew_Khoury
- Adobe Experience Manager
As a first step in debugging this:1. Use the browser developer tools panel to see what the "Content-Type" header is set to when the file is served from AEM versus other sites where you see it working.2. What URL are you serving the PDF from? To help you be able to capture the network request in the browser do the following:a. Open chrome://settings/content/pdfDocuments in the Chrome browser and enable this feature to make it download the pdf instead of opening it.b. Open a new browser tab and op...

Views

2.1K

Likes

0

Replies

1