Showing posts with label AEM 6.2. Show all posts
Showing posts with label AEM 6.2. Show all posts

Thursday, 14 June 2018

RedirectTarget property is not working in AEM 6.2

I tried to redirect a page to another using redirectTarget page property in wcmmode=disabled in author instance.

This redirectTarget property is working on Geomertrixx site and not on we-retail site.

Root Cause:
Geomertrixx site is created using template /libs/foundation/components/page and we-retail site is created using wcm/foundation/components/page.

Page component under foundation path is having code to redirect to another page, where as page component under wcm is not having code to redirect. In page.jsp we have code to redirect response.sendRedirect(redirectPath); which we don't have it in page.html.

Try these:
  • Try running AEM on publish runmode. 
  • Try creating a page with sling:resourceType: foundation/components/redirect. 

Wednesday, 16 August 2017

Troubleshooting AEM 6.1 to AEM 6.2 upgradation

When we try to upgrade website developed on AEM 6.1 to AEM 6.2 we need to consider below points.

Update uber.jar version to 6.2.0


Issue 1:

When tried to build code we normally see below error message.
java.lang.NoClassDefFoundError: com/day/cq/commons/Externalizer

06.07.2017 09:55:54.242 *ERROR* [0:0:0:0:0:0:0:1 [1499331350444] GET /content/kishore/en/test.html HTTP/1.1] Exception: com/day/cq/commons/Externalizer
java.lang.NoClassDefFoundError: com/day/cq/commons/Externalizer

Fixed this issue by rebuilding the package with AEM 6.2 uber.jar

Issue 2:
Caused by: 
Cannot find a a file corresponding to class com.aem.kishore.HelloWorld in the repository.


This issue is caused due to the Java version. Use the correct java version preferably Java 8.

Tuesday, 18 July 2017

org.osgi.framework.BundleException: osgi.wiring.package=com.adobe.cq.mcm.salesforce

Sometimes when we try to deploy code, bundles may not be in active state in AEM 6.1. We can see below error message.

Error Message:
18.07.2017 23:44:01.519 *ERROR* [qtp1756110899-265] org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0))))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0)))

  • Delete (or stop) the ''org.eclipse.equinox.region" bundle from the felix.
  • Delete the existing custom bundle.
  • Restart the server (check without restarting) and then redeploy your code bundle.
This bundle has some dependency with eclipse and should not be in AEM6.1, it was meant for AEM 6.2. But somehow it got introduced in this version.

If still issue is not resolved check this post.

Monday, 20 March 2017

Enable SSL for AEM author instance

Accessing site over https is must. AEM has capability to access entire site or few pages https.

There are two ways to access site or pages by https:
  • Using OSGI service Apache Felix Jetty Based Http service. (To access entire instance using https).
  • Using crxde, manually creating nodes. (To access few pages using https).

Create credential for SSL development

Use the Java keytool to create a self-signed credential and to store it in a keystore file. The following procedure uses a single command that includes all of the information needed to create the keystore. For complete information about the command, see the Oracle Java SE Documentation.

  1. Create a directory named ssl in the directory where the quickstart JAR file is located.
  2. In the command prompt, type the following command to create the credential and keystore:
keytool -genkeypair -keyalg RSA -validity 3650 -alias cqse
 -keystore [quickstart_dir]/ssl/keystorename.keystore  -keypass key_password 
-storepass  storepassword -dname "CN=Host Name, OU=Group Name, 
O=Company Name,L=City Name, S=State, C=Country_ Code"

Sunday, 5 March 2017

Programmatically manipulating Touch UI Fields

When developing Adobe Experience Manager custom components, you can programmatically interact with fields located in a Touch UI component dialog using an API. That is, you can control the behaviour of a field (such as a checkbox) by using application logic. For example assume that you have a checkbox located within a component dialog and you want to have the ability to check a condition and then dynamically check or uncheck the checkbox (this is shown later in this article).
Using JavaScript application logic, you can dynamically check the box so that the checkbox appears checked when an AEM author opens the dialog box, as shown in this illustration. 

Friday, 9 December 2016

Creating an Adobe Experience Manager HTL Headline component

You can create an Adobe Experience Manager (AEM) Headline component that you can use in your AEM web page. A headline component lets your website visitors read latest headlines about a specific subject. That is, you can enter keyword into an AEM dialog and the component will display headlines related to the keyword. For example, you can enter Facebook keyword and the component displays headlines, as shown in the following illustration.

Tuesday, 31 May 2016

Working with Adobe Experience Manager Content Fragments

In AEM 6.2, you can use content fragments that let you create original content in AEM, enabling copy writers to create editorial content before it is being authored in a page, and to further allow curating such content by creating channel specific variations and by associating collections with relevant media content. As a result, web producers receive content that is prepared and "ready to go”, enabling them to focus on assembling content across channels, globally and on a local level.

Thursday, 28 April 2016

Top Features in Adobe Experience Manager 6.2: Sites

  1. Find Anything Anywhere
    Adobe has introduced an updated Touch UI. This is actually a great enhancement, but once again Adobe is changing the user interface. It’s hard on authors to constantly need to learn a new way of doing things and navigating around, and it means additional training for people when they upgrade from one version to another. But let’s not get bogged down with negativity. The new update to AEM is called OmniSearch and this is a really decent way of getting around. No longer do I have to do multiple clicks to find my tags. I just type “tags” and then the page loads. It also comes with search suggestions that show you all the possible destinations within AEM and the ability to do filtered searches. Also, they removed the need to go to a “selection mode” to select multiple items (pages, assets, etc.) when you need to activate them or update their properties. That’s great.
  2. Templates for Everyone
    This is the new Template Editor. Last year when they teased this I mentioned how reluctant I was about it. Put the template in the hands of the authors and not the developers, are you insane? I still feel that way, but not as strongly now. An author can still royally screw things up, if you give them the permissions to do so. And that is the key. You can tie down this functionality by only giving it to people who actually know what they are doing. I was able to chat a bit with Gabriel Walt during Summit and that was his big piece of advice. So, we can still be happy, authors can still feel empowered, and developers won’t have to do as much. I had a chance to play around with it a bit in one of the Summit lab sessions and it certainly shows some promise.

Thursday, 21 April 2016

Adobe Experience Manager 6.2 Released - Apr 21, 2016

The release cycle for this version of Adobe Experience Manager started May 21, 2015, went through 21 iterations of quality assurance and bug fixing, and ended April 6th, 2016. The total number of customer related issues including enhancements and new features fixed in this release is 972.
Adobe Experience Manager 6.2 is generally available since April 21, 2016. Major changes include the new design of navigation system.

Creating your first AEM Service using an Adobe Maven Archetype project

In some business use cases, you create an OSGi bundle when creating an Adobe Experience Manager (AEM) application. Although there are different ways to create an OSGi bundle, a recommended way is to use Maven and the Adobe Maven Archetype. This development article walks you through creating a basic OSGi bundle that contains a simple service namedKeyService. All this service does is accept an input value and sets a key value. It also exposes a method that returns the key value and the value can be displayed within an AEM web page.