Thursday, 23 February 2017

Article operations in AEM Mobile

Article operations in AEM Mobile

How do we modify the existing article?

Unzip the .article as below using any zip extractor.

Now we will have a folder with structure as below. To modify

Go to respective folder / file and update as required. Once done, drag and drop this article to 'AEM Mobile Packager', so you will have a new .article file.

Upload error, how to find out reason.

Some times while uploading an edited article, we find 'Upload Failed' error as below.

To find reason click on the red 'Upload Failed' error. You can see a pop up with error details.

How to fix the error?

The reason is manifest file does not match MD5 calculated internally. To fix this remove the manifest file and drag and drop it to 'AEM Mobile Packager' again and try re uploading.

Adjusting Home Navigation Menu from AEM Mobile On-Demand portal

Adjusting Home Navigation Menu from AEM Mobile On-Demand portal

There are cases where we need to adjust home menu options of AEM Mobile application. See below a sample menu. It has landing collections and products menus which are configurable and adjustable.

The sign in menu appears automatically once the entitlement service for sign in is configured.

Settings contains licensing information, track usage data option, version of app, build details etc.

How do we adjust?

Go to Content & layout > Content map click on the item to be moved from right pane.

Now just drag and drop the item on target areas which are allowed and highlighted in blue during drag.

Once preflight option is done, you will have the new menu in preflight app and on publish, this gets activated to production app

AEM Mobile Testing Interview questions

Add caption
AEM Mobile Testing Interview questions

  • How do we create an aem mobile app from portal?

  • Do you know about AEM Mobile entitlement?

  • How do we author an article in portal?

  • Do you know to configure the app menu?

  • What are all the performance checks we can do on a mobile app?

  • What are all the security checks we can do on an app?

  • How to change metadata of content in portal?

  • How to update an image in an article?

  • Do you know to add a user and configure his permissions?
  • What is the difference between preflight and a production app? How they differ from installation.

AEM Mobile Interview questions for developers

AEM Mobile Interview questions

  • How do we configure AEM with AEM on demand portal?

  • What is entitlement and how it works?

  • What are all the ways of creating article?

  • What is the difference between free threshold and metered content?

  • How do we author AEM Mobile content from AEM?

  • Can we author AEM Mobile content from third party applications?

  • What are all the ways to improve performance of AEM Mobile pages?

  • How the search works on AEM Mobile? Which layout is used for AEM Mobile search?

  • How do we unzip a .article file?

  • What are all the types of files which can be authored on a page in AEM Mobile?

  • How the meta data is added in aem mobile content?

  • How to create a preflight app and web url?

  • How do we configure the menu items in Mobile app?

  • How do we update the fonts in AEM Mobile app?

  • Explain the user roles in AEM Mobile portal?

Friday, 17 February 2017

Create an APP in AEM And Mapping with AEM Mobile On-Demand

Create an APP in AEM And Mapping with AEM Mobile On-Demand Portal

To work with AEM Mobile On-Demand Portal, we need an app created in AEM. Mobile Apps dashboard(http://localhost:8080/libs/mobileapps/admin/content/dashboard.html) collectively holds all mobile apps in AEM. To publish or sync a content between AEM and AEM Mobile, an app is necessary at AEM and a mapped project in AEM Mobile. Consider we already have a project in AEM Mobile, and need to link it with AEM.

There are two steps required to sync AEM and AEM Mobile
1) Creating an On-Demand app in AEM 6.2
2) Link the AEM 6.2 APP with AEM Mobile On-Demand Project

>>Creating an On-Demand app
In AEM 6.2, go the Mobile section as shown below.
Click Create > App. The select template "AEM Mobile runtime", click on 'Next'

Enter app properties such as Title, Name, Description.

Ensure the app properties are matching with the properties used in the AEM Mobile On-Demand Portal, and click Next.

>>Link the AEM 6.2 APP with AEM Mobile

Under 'Manage Connection', map the AEM APP from section 'Select an Experience Manager Mobile Config', with AEM Mobile project from section 'Select an existing Experience Manager Mobile Project' as shown below.

Once the connection is successful, the 'Manage Connection' section looks as below.
Now we will be able to sync data/content between AEM app and AEM Mobile On Demand Portal.

Test the configuration.

Assume we have some collection already created in AEM Mobile portal. Now Go to 'Manage Connection' > click on 'Import Collections', confirm the import pop up screen. You will be able to see the AEM Mobile On-Demand portal collections imported into AEM environment with a success message.

Integrate AEM with AEM Mobile

Integrate AEM with AEM Mobile

The article is based on AEM 6.2. You may need to refer the url( for AEM 6.1 version integration.

How do we get AEM 6.2 Jar?
You may need to raise a request with Adobe in AEM License section for the same mentioning the partnership of your organisation with Adobe.

Integrate AEM with AEM Mobile

AEM Integration with AEM Mobile On-Demand portal helps organizations to manage mobile content easily and work in more distributed way. Once the integration is done, we will be able to add content (Article, collections, banners etc) through AEM for the Mobile Application. We also can import existing content available in AEM Mobile On-Demand portal to our AEM Development environment.

To complete the integration, we need API access of On-Demand portal, which requires additional license from Adobe. Below given the details required.

API Key & Client Secret are credentials to access the API Gateway. (Refer Link and Raise a request for API Key from Adobe
Device ID and Device Token are credentials to identify the API user. (Generate the Device details using above API received from Adobe then from URL

Note: Ensure the Adobe ID used to get API access should match the Device ID generation.

Once both steps are done, you will have

  • API Key (IMS Client ID)
  • Secret Key
  • Device ID
  • Device Token:

Note: Expiry Time automatically gets extended once in use and expiry date is reached.

Integrate AEM 6.2 to work with AEM Mobile.

Follow below steps to integrate the AEM with AEM Mobile On-Demand Portal

In AEM click Adobe Experience Manager, and then go to Tools > Operations > Web Console.

In the new window, search for 'Experience Manager Mobile On-demand Services Client' and click the edit icon.

Enter the API Key (IMS Client ID) and Client Secret in the "Client Id' and 'Client Secret' as shown below and save it.

Now go back to AEM page, Tools > Deployment > Cloud Services. Search for 'Adobe Experience Manager Mobile On-demand Services', and click 'Configure Now'.

In the 'Create Configuration' pop-up window, enter 'Title', 'Name', and click Create.

Enter the 'Device Id' and 'Device Token' which was generated using the 'IMS Device Token Generator' to the pop up window 'Adobe Experience Manager On-Demand Services Account Configuration'. Once the 'OK' button is clicked we will be able to see the configuration saved.

How to Test the connection/configuration?
On the service which we created click on configuration > 'Edit' , the pop up window will have previously saved 'Device ID' and 'Devce Token' and 'Test Device Configuration' on bottom. Click on 'Test Device Configuration'. If the connection is correct we will get a message 'Connection Successful'

If the connection was not successful, ensure that 'Device ID' and 'Device Token' values are correct, have not expired and are copied properly (by copying on notepad and removing any white-spaces).

Click 'OK', and then navigate back to the AEM window. You can see the AEM On-Demoand Cloud Service is enabled and 'Green'

Create Article/Banner from AEM and publish it to AEM Mobile

Create Article/Banner from AEM and publish it to AEM Mobile

AEM Version 6.2

Once the AEM is configured with AEM Mobile account as mentioned in (Link), we will be able to import articles, collections banners etc from AEM On-Demand Portal. We can also create an article, banner, collection from AEM and publish to AEM M
obile on-demand portal. The synch method is quite easy to follow.

Let us see how to create a banner in AEM and publish it to AEM Mobile. Creation / updation of article method remains same as in banners.

In section 'Manage Banners' , click on 'Create Banner' as shown below.

Now go through the screens and fill out all mandatory fields as shown below. Ensure we are clicking on 'Next' to fill out various sections like 'Properties', 'Advertisement', 'Images', 'Collections'. In final screen select the collection where the article/banner to be linked with.

Once we click on 'Create' on final screen we will get confirmation 'Banner Created' with option to view new banner.

WE will have various options like publish, unpublish,Add to a collection, Unlink from collection, upload delete etc for an article. Also we can view and change the properties further.
Now the Manage Banners section listt out all the banners which are created using AEM or through AEM Mobile on demand portal. Section 'Source' specifies the source of content creation.
It also says the advertisement details, whether the article/banner is published etc.

Individual articles/banners can be published by selecting it as shown below below.

Add/MAP user to AEM Mobile project

We need to add multiple users to AEM Mobile account in order to deliver shared development environment and multiple project maintenance. In addition to this AEM integration with AEM Mobile also requires a user to be mapped with a project, preferably a dedicated user.

To do this, we have to login to On-Demand Portal , click on users from left navigation, select the project which user needs to be mapped, then click on (+) Add User enter the user details (Users Adobe id mapped email) and submit.

Now select on 'Custom' drop-down so that we can immediately map the user access with the assigned project.

There are multiple sections where user can get access on as below.


  • Application Development
  • Content
  • Notifications
  • Products & Subscriptions

Select appropriate check boxes according to the requirement and save the selection. The new user with specific access is mapped to the project now.

Any time the user permission can be edited by >Users> selecting the user then edit.

Various options in AEM integrated with AEM Mobile On-Demand Portal

Various options in AEM integrated with AEM Mobile On-Demand Portal

'View Properties' : This helps to view and edit the content settings for article, banner and collection.

'Upload' : Upload helps to upload the newly created/ modified article/banner/collection to AEM On-Demand Portal.

'Add to' : Specific to articles & collections. The selected article gets added to a collection which is mentioned in next step.

'Publish': Helps publishing the content to AEM Mobile and directly to an APP.

'Un Publish': Helps un publishing the content from AEM Mobile and directly to an APP.

'Unlink': Unlink the selected items link between local(AEM) and remote instances of the content.

'Delete': Delete the item from AEM Mobile. On clicking 'Delete' provides an optional checkbox to delete item from 'AEM' also.

'Upload Shared Resources': This helps to upload the HTML common resources of the App of AEM to the common HTML on Experience Manager Mobile.

'Preflight': This helps to preflight all content, collections and layouts on device using a preflight app created from Experience Manager Mobile.

Change the configuration of AEM, AEM Mobile mapping
Clicking on gear icon to update the configuration as shown below section.

Go to the mapped AEM Mobile account from AEM by clicking on 'dots' as shown below.

AEM Mobile Search

All what you need to know about AEM Mobile search

AEM Mobile search functionality
AEM Mobile provides a search feature for its app on menu bar once enabled. When you enable search indexing, article metadata is indexed on article creation.
This is a one time 'on' service which cannot be disabled once enabled. The content gets indexed from then. It can be individually enabled or disabled for different type of apps like 'production app' or preflight.

How to enable search in menu bar of AEM Mobile app?
Go to project settings> Select the project , click on 'Edit Project' from top left corner, select the tab 'Search'

I have enabled the search but I am unable to get results.

To enable search in your mobile app, you must rebuild it by selecting the app, clicking the edit icon, and clicking Submit.

What data is searchable in AEM Mobile?

Article metadata gets indexed in search (which are public facing). Internal properties such as 'Internal Keywords' or 'Article Name' are not indexed. Based on metadata of published articles, for e.g. title, category, author, department etc. If an articles metadata field includes the search string, the article appears in the list of search results.

Note: Search index also does not cover selection items such as 'Metered' (Property of Article Access) or 'High' (Property of Article Importance) - which are internal properties. Items tagged with 'Restricted' are hidden from search results unless the user is signed in and has access to it.

Search and indexing language configuration

Search configuration provides option to configure the index language at project level and article level. We can edit individual articles to override the default project language setting at lower levels. During content search, an article will appear in search results only if its language setting matches the device language setting. For e.g., if the device language is German, articles indexed in French language will not appear in search results.

What is the template layout of search? 
Default Layout in the Layout Templates section of the Portal is used to display search results. It can be changed by modifying the default layout to a specific layout as per the requirement.

Create & Sign Android apps for AEM Mobile on Windows OS(.apk files)

Create & Sign Android apps for AEM Mobile on Windows OS(.apk files)

Go to On Demand portal 'Apps' click on 'create' button select the type of app which you want to create (android)

Fill out basic mandatory fields. At present the mandatory fields are given below.

App Details : App Name, Bundle ID are mandatory
Assets Tab : App Icon

Once basic fields are entered, click on 'Submit', this creates an unsigned version of your aemm app.

Android app creation 

To create an installer we need below requirements in addition to Java (version 7 or later) installed on our machine
The unsigned .apk file downloaded from the Apps section of the Portal.
A valid .p12 certificate for signing Android apps.

Create a .p12 certificate 

If you have java installed and configured on your windows machine, just enter below line on command prompt and press enter(by replacing 'yourcertificatename' with a proper name)
keytool -genkey -v -keystore yourcertificatename.key.p12 -alias alias_name -keyalg RSA -storetype pkcs12 -keysize 2048 -validity 10000

You now will have a certificate created on your windows/users/ folder.

Download the Unsigned app from 'Apps section'

Download the AEM Mobile Signing Tool.  Click on icon in the upper right corner of the Apps section(Both iOS and Andriod works on same tool).

Install the Signing tool

Launch the App Signing Tool

Enter the details of the app to be signed, certificate to be referred while signing, with its password, click on 'Sign application'

A new app is created at the same location as the source app which is signed.

Move the signed app onto your device and install it, you will have  the app installed on your device.

You can also submit the signed app to the android or iOS store.


If you face any error in signing the app, you can go to Signing in tool installed directory, 'AEM Mobile Signing Tool', open 'aemm-sign-tool.log' file in notepad and search for any error.

Friday, 10 February 2017

AEM Mobile Access Protections at collection , article levels

AEM Mobile Access Protections at collection , article levels

AEM Mobile uses the section 'Entitlement' to specify users have permission to access content. Entitlement is determined at the collection level, and is based on the product that is associated with the collection.

Each collection, segregated into 3 types of access. They are 'Free', 'Entitlement Required', 'Restricted'

Free Entitlement RequiredRestricted
Available to all users regardless of article settingsAppears in the app, but metered or protected articles, which requires payment or sign in(Usually paid contents/collections are not hidden.)They are hidden until the user signs in to gain access.
.Entitled collection provides option to edit article properties to determine whether the Article Access option is set to Free, Metered, or Protected.

  Article Access Levels : This is set to collections that are set to Entitled or Restricted.

Free Articles are available for all users to view(Even if the article is in a collection set to Entitled).
Metered articles are available for a specified period of time. Entitled collection allows users to view an article preview until they reach the specified threshold. When the threshold time elapses at the specified Start Time, users can view metered articles again
The articles which are paid. A user sees a payment option when viewing an entitled or restricted collection

 Configuring threshold for metered articles

In project settings, Enable the Article Preview in the Content tab, and specify threshold settings as below.

Free articles are always visible if Enable Article Preview is not selected. Select the 'Enable Article Preview' option to allow users to preview articles in an Entitled collection. If the articles are set to Metered, unentitled users can preview articles until they reach the threshold that we specified.
If the user signed in or purchased the collection, the protected articles in entitlement collection are enabled. Else protected articles are obscured by a payment option.

Threshold time in action - 'Dwell Time'
Dwell time is used to consider whether the threshold is reached when a user stays on an article for a period of time. Below are the measurement criteria,
For Tablet - 25 seconds
Mobile - 15 seconds
A user who just swipe and pass through articles are not considerd for threshold time.

Thursday, 9 February 2017

AEM Mobile Desktop Web Viewer

AEM Mobile Desktop Web Viewer

Adobe AEM Mobile provides a desktop web viewer option for developers to test the content directly on desktop device , instead of testing them on Mobile. Web Viewer will have all features enabled which is available in mobile like navigation, entitlements, layout and collection listing etc.

How to configure AEM Mobile Web Viewer?

From the AEM Mobile on demand portal once logged in, go to ,

APPS> Create > Desktop Web Viewer. You will have a form with below configurations enabled. Leave all the fields blank without filling any information if you want to see the desktop version on Adobe hosted URL. Click on 'Submit', which will create Desktop Web Viewer.

How to access the Adobe Hosted desktop web viewer.
Click on the 'URL' which is accessible on 'Apps' section. This opens up the desktop web viewer on another tab. Keep the URL handy so that you can access it next time.

Login required for the desktop web viewer?
No. Once configured and content is available, you can just access the url to view content without login again.

How do we configure our own site?
If we need to configure the desktop version through our site, ensure we have secure version of url (https://). Configuring this will provide us the url with our custom domain. Please note no content or data is moved to custom domain when we do this, it just gives a url which shows the user appear content is stored in custom domain.

Additional points:
Ensure you have all the articles and collections in published state before creating the Web Viewer. Till you publish it, the content will not be visible on desktop.

Preference of content: Say we have both tablet and phone collections, the collection for tablet is displayed in web viewer.

Need to have internet connectivity to see the content on web viewer, no offline mode as in mobile.
Web viewer will always have the latest content displayed, since it is an online connection. No 'Update Available' option.

Desktop web-viewer works only on desktop browsers, not mobile devices

Disabling web viewer?
Clicking on delete icon after selecting the web viewer will delete and disabled the viewer.

Can we have multiple web viewers?
No , we cannot have multiple web viewers, once a web viewer is created it disables the web viewer option creation from App's Menu.