AEM

AEM Interview Questions Part 1

When you are preparing for technical interview, it is sometimes beneficial to know what types of questions that may be asked during your interview. I am going to list some questions that may be asked during an AEM interview, and the answers to these questions. This is not a definitive guide by any means, but a way to get going in the right direction.

This is part one of my AEM interview questions. You find the other parts here:

Part 2 - Part 3 - Part 4 - Part 5 - Part 6 - Part 7 - Part 8 - PDF

Q: What is AEM?

A: Adobe Experience Manager (AEM), is a java based content management system that is offered from Adobe. It was previously called Day CQ5, but was acquired from Adobe in 2010. AEM is based on a content repository and uses the JCR to access the content in the repository. AEM uses the Apache Sling framework to map request url to the corresponding node in the content repository. It also uses the OSGI framework to internally allow modular application development.

Q: What are the advantages of AEM over another CMS?

A: One big advantage of AEM over another CMS is how it integrates with other products from Adobe and with the Adobe Marketing Cloud. AEM comes built in with features like workflows to control content in the CMS, the use of search queries to find anything you are looking for, setting up social collaboration, tagging content, and a way to manage your digital content.

AEM Developer Chrome Extension

Finding a new tool to help you as a developer is always exciting. One that I would like to share with you that recently became available is the AEM Developer Chrome Extension. This extension is a great tool that can save you a lot of time when working with AEM. The extension was created by Nate Yolles, and you can check it out here on GitHub: aem-developer-chrome

You can also find the extension on the Google Chrome store here: AEM Developer Chrome Extension

Now you may be wondering what the tool has to offer. Here are some of its features:

AEM Dialog Conversion Tool

Adobe has recently released a new tool that can extend your existing components dialog that is defined for the classic view and update it to the new Touch UI dialog. The tool will use the original dialog that was built with ExtJS and create a duplicate dialog that is based on the Granite UI.

Even though your classic dialog will work on the Touch UI, it does not have the nice new design that fits in with the Touch UI and it really stands out. If you wanted a new dialog before, you would have to create a new dialog for your component. Now with this new tool, it can be done automatically for you, which will save you time as a developer and allow you to focus elsewhere.

The tool is not perfect and cannot always create a dialog for you. So, you need to verify that your new dialog works correctly and that it meets your needs. It is a great tool that will help you get started with your dialog creation, and will save you time in the long run.

For more information go to the following link: Dialog Conversion Tool

Ask the Community Experts Session: AEM Workflows

Adobe will be holding another “Ask the Community Experts Session” this month on March 24th at 11 A.M. - 12:00 P.M. EST. This session will be focusing on workflows in AEM. The session will be giving an in depth look at building workflow models, custom workflow steps, using the workflow launcher, and available workflow operations.


If you have not attended one of these AEM sessions, they are a great chance to listen to some of the best experts in the industry, a great place to ask questions, and a good way to start networking. I look forward to seeing you all there.

Here is a link to sign up if you are interested: Ask the Community Experts

This session will be hosted by Scott Macdonad and Will McGauley. You can find Scott Macdonad's blog here: http://scottsdigitalcommunity.blogspot.com/

AEM Component To Send An Email Tutorial

The purpose of this tutorial is create a component for AEM that will send an email and then display a confirmation message. This is accomplished by using the ACS AEM Commons Email API. The ACS AEM Commons package adds a lot of features to the out of the box AEM implementation. For the purpose of this tutorial we will be creating the component in crxde lite. This tutorial does not go into full detail, but does provide all of the code that was used in the creation of this component for learning purposes.

This tutorial uses the following website: ACS AEM Commons

Lets get started -

AEM Component To Display X3D File Tutorial

The purpose of this tutorial is to develop a component for AEM, which will allow you to display 3D models. This is accomplished by loading in an X3D file and then displaying it on your webpage. For this tutorial we will be creating the component in crxde lite. This tutorial does not go into full detail, but does provide all of the code that was used in the creation of this component for learning purposes.

This tutorial uses the following website:  http://www.x3dom.org/

Create A Swing Application To Post Files To AEM

While reading through some AEM forums, I came across this tutorial called “Creating Java Swing applications that posts files to AEM ClientLibs folder”. 





Here is a link to the tutorial: Swing Tutorial

The tutorial walks you through creating an application that will upload a Text, CSS, or JavaScript file to a file path that you specify in the application.

Once you do this, then you need to create an OSGI bundle that contains a Swing Servlet. After this is done, you just upload the bundle to the Felix Console, start the bundle, and then you can run your application to start uploading files.

I thought this was great tool because it is a nice alternative to getting local files into AEM without having to use CRXDE.

Here are some tips if you run through the tutorial: 

The tutorial states that it was tested on 5.5 and 5.6. I ran through the tutorial using AEM 6.0, and it worked fine, so you are welcome to try it out with that version.

When you are creating the Swing application, it has you create some image icons, and reference images in a image folder. You can upload your own images to your project and update the file path to those images. The application will work fine without the images, but it adds a nice look to the application.

Also, during the creation of your Swing application, you can update the default path text to something more relevant to your application. Just change "path.setText("/apps/slingSevletApp/components/clientlibs");" to any path you would like.

Lastly, just make sure you export your Swing application as a runnable jar file so you can run it at any time without having to have Eclipse, or any other IDE open.