since ‎15-12-2017
Online
raj_mandalapu
Level 5
Re: Recover deleted files
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Hi @hamidk92094312 ,I can imagine or put design for this something like below.On clicking of the delete button, just move Asset to the Recycle Bin/Trash folderWhile moving add a property to the asset, the property name is something like source=""Set expiry time out for the deleted Asset to some amount, ex: 30daysIf content author select Asset to restore, move Asset to the original location by reading source property, we do not need to worry about versioning here, the latest version will get publ...

Views

230

Likes

0

Replies

0
Re: provide 301 redirect in aem 6.5
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Hi @sreenu539 Both solutions will work, choosing one on others depends on the requirements if you have hundreds of pages and want to give control to the content authors then selecting this at page property level will help, you do not need to request TechOps guys to add redirection for every page.If you what pages you want to redirect then I prefer rewrite URL's is the best solution.

Views

149

Likes

2

Replies

0
Re: Recover deleted files
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Yes, Max, Thank you for the quick response, I partially agree with you and it is just my opinionWe know that most of the content authors are not technical people, they don't know how to take it from backup, they need to depend on either developers or admins, which I feel is waste of time and some times will effect on schedule.Educating content author may or may not solve this problem, there are chances to occur human errors what if by mistake delete the pages or assets before activating and want...

Views

336

Likes

0

Replies

0
Recover deleted files
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
I have good experience on SharePoint and other CMS's, one thing I noticed when I compare AEM with others, the Recycle Bin is not available in AEM.If content authors accidentally delete any pages or assets, then it is difficult to get it back, sometimes they need to depend on developers to get it back and it is time consuming process, are there any plans to implement the same in future releases?

Views

362

Like

1

Replies

4
Re: RTE Href - Additional Attributes
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
If you have good knowledge on JS then you can customize this "link-options.js", I have done similar implementation in classic UI, but not in Touch UI. you need to put some additional effort for R&D Another approach is you can write a sling model, that reads the content of the rich text editor, and inside the sling model use regex to find out anchor links and replace anchor links by adding custom attributes. My preferable approach is, you are adding custom attributes for analytics tracking, I fee...

Views

97

Like

1

Replies

0
Re: Checking an url if it contains specific text
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
The sightly does not support this, you need to write java code, refer below link for writing the sling modelhttp://www.aemcq5tutorials.com/tutorials/adobe-aem-cq5-tutorials/sling-model-sightly-aem/1. your class adaptable from SlingHttpServletRequest2 add the following inject @injectprivate Page currentPage;3: check path contains /cd/ currentPage.path.contains("/cd/")

Views

158

Like

1

Replies

0
Re: What is the best practice- Clientlibs( minify) or Web...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
You can continue with AEM minify option, but the problem I see here is, if AEM is not properly minified your JS due to some issues in js files then there are chances to get production defects that are related to JS, if any issue occurs either in prod or lower environments related to this then you need to spend some amount of time to identify the issue, I feel it is waste of time. Another approach is, you can ask front end people to minify the JS before adding into the clientlibs. With the tools/...

Views

109

Like

1

Replies

0
Re: AEM Restrict in triggering a workflow on an Asset
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
You can try overlaying the below paths, you need to check the code in provider.jsp, if the URL contains nA then don't fire workflow. you need to do some analysis on this./libs/cq/gui/components/coral/common/admin/timeline/alerts/workflow/provider.jsp/libs/dam/gui/coral/content/commons/sidepanels/timeline/items/alerts/items/workflows The other option is if you know what workflow you are going to fire, then you can create a workflow step, that should execute at the starting of the workflow, inside...

Views

138

Like

1

Replies

0
Re: Converting jsp to HTL
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
You need to create a java class for this. if you are looking to populate dropdown then the below article may help you.http://www.coderss.in/how-to-create-dropdown-dynamically-using-granite-datasource-object-in-aem-6-3/

Views

168

Like

1

Replies

1
Re: Access Page Manager API with postman
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Understanding PageManager API is difficult if you don't have any conceptual knowledge or hands-on experience on AEM, instead of that you can use POSTMAN and CURL commands to create pages.Use the below command's to create pages, both will work.curl -u admin:admin -F "jcr:primaryType=cq:Page" -F "jcr:content/jcr:primaryType=cq:PageContent" -F "jcr:content/jcr:title=keysandstrokes" -F "jcr:content/sling:resourceType=geometrixx/components/contentpage" http://localhost:4502/content/geometrixx/en/keys...

Views

166

Likes

2

Replies

1
Re: In template how to create 3 column layout
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Resizing won't work by default, you need to add grid.less file in your client library.Can you please try by placing below script. @Import "/etc/clientlibs/wcm/foundation/grid/grid_base.less"; /* maximum amount of grid cells to be provided */ @max_col: 12; @grid-gutter-width: 24px; /* default breakpoint */ .aem-Grid { .generate-grid(default, @max_col); width: auto; } /* phone breakpoint */ @media (max-width: 650px) { .aem-Grid { .generate-grid(phone, @max_col); } } /* tablet breakpoint */ @media ...

Views

119

Like

1

Replies

0
Re: How to handle the content with a Non-breaking hypen f...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
We can use sling transformers to rewrite V John to V-John, because we don't know in which component this text comes, it is difficult to go and modify every component and also when it comes to maintenance it is tough.With this TransformerFactory you can rewrite URLs, modify HTML elements content, add attributes to HTML elements, etc. you can refer below the sample code, it is reading image src attribute and changing it is CDN based URL. public void startElement(String uri, String loc, String raw,...

Views

99

Like

1

Replies

0
Re: AEM servlet redirect with parameters and display resu...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
If you use java sling model or js use api, you do not need script, you can directly use HTL expression language., ${' Thank you for your information, your case ID is {1}' @ format=[cased.getCaseId]}, refer this https://docs.adobe.com/content/help/en/experience-manager-htl/using/htl/expression-language.htmlif you want to read query string value using JS Use API, then the above HTL expression language also should work. If you want to read query string value using plain js, then you need to follow ...

Views

202

Likes

0

Replies

0
Re: AEM servlet redirect with parameters and display resu...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
I feel this request.getSession().setAttribute("caseID",caseID) is not recommended one and it is tied to a user session, what if the request goes to other publish server, you need to use sticky connections and setup dispatcher configurations. please refer this for more information https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/new-httpsession-on-every-request/qaq-p/214835create a sling model called CaseDetails, inside the sling model. you can read the cookie value by us...

Views

231

Likes

0

Replies

0
Re: AEM servlet redirect with parameters and display resu...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
It is not possible to pass query string value using the sling model to another page, you can use the below code.response.sendRedirect(redirect_URL + "?cased=" + cased);in the redirected page you need to read the query string value for this, you can create a sling model class in the post construct method of sling model you can read the query string value and assign it to the property.In the redirected page where you want to render cased, you need to create an object for the sling model and displa...

Views

244

Like

1

Replies

6
Re: How add custom font in in project
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
First, the location of the fonts folder which you placed needs to change, you need to place your fonts under the resources folder, the resource folder should be under clientlibsYou can refer weretail: Sample code: font-family: SlatePro-Bk; src: url("../resources/fonts/we-icons.1.0.0.woff") format("woff");}you can either use the Maven project to import fonts files to AEM or a temporary solution is export clientlib as package and add font files then import it to AEM.

Views

123

Likes

2

Replies

0
Re: ACS Report - too many calls exception
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
This is related to system security. I suggest you can set this on demand basis that to in lower environments, I prefer once your operation is completed you can change it back.The only issue I see, if someone injects infinite malicious recursive code then it is going to be a problemThe infinite recursion and excessive script calls may impact on the system performanceIf you are enabling this on production then it is good to security testingApache Sling Main Servlet Configure:Number of Calls per Re...

Views

123

Like

1

Replies

0
Re: Adobe Launch Migration UAT Phase
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Platform Launch
The most important thing for us is we should not miss any tracking related information such as, visits, pageUrl, search tracking, etc, so what you can do is you can ask the team who is performing UAT to share the list of URL which they are going to test or the other approach is you can create some pages and assign it to the people who are going to perform UAT. the advantage with this is you can generate reports based on assigned pages, if any page is not tracked or custom event is not fired then...

Views

132

Likes

2

Replies

0
Re: Version increment on Asset and Page
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
As per adobe documentation, the default behaviour is Create versions of any page.The initial labels and version node names will be 1.0, 1.1, 1.2 and so forth.Restore the first version; i.e. 1.0.Create new versions again.The generated labels and node names will now be 1.0.0, 1.0.1, 1.0.2, etc.Refer: https://docs.adobe.com/content/help/en/experience-manager-64/authoring/siteandpage/working-with-page-versions.htmlBut, if you want to implement custom numbering, instead of 1.0 if you want 2.0 then th...

Views

110

Like

1

Replies

0
Re: How to move common code in sightly html file to diffe...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
Seems abc.html and testcomponent.html are in the same component, you don't need to call it by putting full path, you can call something like this The best practice is to use a template for reusable content.I did not test below code, but your code should something like below, you can pass brandStyles as parameter to the template, inside template put test condition. dd cc ff ...Refer adobe docs:https://docs.adobe.com/content/help/en/experience-manager-htl/using/htl/block-statements.html

Views

124

Like

1

Replies

0
Re: How to migrate page content in JSON format to AEM JCR
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
You can build a package by including your XML content, update filters and deploy using the package manager, to build a package you can follow either manually or via code, if it is a one time operation then the manual approach is ok.You can also modify your JSON as JCR expected JSON format and import via curl command. https://gist.github.com/joemaffia/87f8328eed1810a93260if you want to have great control over the pages which you are going to create then you need to go with page manager API's, you...

Views

139

Like

1

Replies

0
Re: File Download vs Custom Link
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
I see two different requirementsDownload link tracking - this will fire whenever you download a file, it could be anything, exe, pdf, Xls, etc. this you can find in your custom editor.s.trackDownloadLinks= true;s.linkDownloadFileTypes= 'exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls';With this you can track path of the link, in your case it is pdf path. The other use case is what if you want to track pdf path along with the downloaded user name, location, etc. in this case normally we go with a cus...

Views

69

Like

1

Replies

0
Re: 503 - Timeout error
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
I just want to highlight a few thingsTaking 30second's time is not a good sign, if you are testing this on a lower environment then I feel it is ok to wait for 30 seconds for a response, but if you want to deploy this to the production with the same configuration then it is going to be a problem the end-user will get frustrated and also it is not good user experience.Check with the people who are managing the external system and get the SLA's, if the external system always behaves like that I me...

Views

170

Like

1

Replies

1
Re: Fetch the date property from the page
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
You need to handle multiple use cases and conditions 1. the direct approach is getting from the current page. inside the sling model, read publication date, and the Image property from the currentPage reference object.2. if the current page object does not contain these properties, then check for the parent page. But, your requirement is you need to fetch these values into the other page. the other page must know this page path.1. if it is the parent page, then you can use currentPage.getAbsolut...

Views

177

Like

1

Replies

0
Re: Ability to send invitations to external users (System...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Experience Manager
There are multiple things involved here, you need to have protected page, two components, two servlets and OSGI service.1. The pages should be protected, registering users should not be allowed on an anonymous page and the page should be visible to only admin users.2. create a registration component that asks basic details, email address, first name, last name.3. on clicking of the submit button using Ajax, call servlet.4. the servlet should handle creating a user and adding to the group5. it is...

Views

133

Likes

2

Replies

0
Re: Analytics tracking for AEM Search
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
You can use getPageLoadTime plugin to measure the amount of time the page takes to completely load. check below link, in reports you need to filter by search results page.https://docs.adobe.com/content/help/en/analytics/implementation/vars/plugins/getpageloadtime.html If you want to measure time only search results then you need to do customization at your code level, usually in AEM to get search results we write servlet and make a request to it via AJAX call, you need to write java code or java...

Views

52

Likes

2

Replies

0
Re: Always catching in to Typed / Bookmarked in Referrer...
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
By default, Adobe Analytics tracks referrer from document.referrer, but here it is not behaving like that, seems something is overriding, you need to check internal URL filters or check custom code editor.You can override this using s.referrer plugin, for this, you need to write code in Adobe Launch custom code editor.Example:s.referrer=document.referrer;If you are using Launch then you can use Adoeb analytics plugin code editor to place your custom code.

Views

108

Like

1

Replies

0
Re: Block tracking from particular domain
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
I want to fix this by using Exclude by IP configuration, but it is not working, any pointers?

Views

58

Likes

0

Replies

0
Block tracking from particular domain
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
I don't want to track requests coming from the particular domain, I tried Exclude by IP and bot rules options but, still, it did not work out, any pointers on this will help us lot. ThanksRaj.

Views

86

Likes

0

Replies

4
Re: Custom Link/Download Link Event Tracking
Avatar

raj_mandalapu

raj_mandalapu
- Adobe Analytics
When we try to download a file, the AA will automatically track the respective file if the s.trackDownloadLinks= true is configured. you can configure this in launch either "configure tracker using custom code" or Link Tracking If you want to track downloads without using the OOTB then you can disable below configurations, but you need to handle same in your custom event which you call when you click on download button s.trackDownloadLinks= true; s.linkDownloadFileTypes= 'exe,zip,wav,mp3,mov,mpg...

Views

172

Likes

0

Replies

2