Saturday 4 February 2017

AEM Mobile(AEMM) Applications - FAQ


AEM Mobile(AEMM) Applications - FAQ

Why Mobile Apps?
Now a days mobile applications are getting wide acceptance because of their capability to deliver personalised content. Responsive websites are normally generic type but mobile application deliver better engagement thus better efficiency.

Why AEM Mobile?
Adobe Experience Manager Mobile gives us ease of development, complete control over the user experience and allows us to design and build apps quickly for clients. AEMM provides better automation of the publishing of latest content and data into the apps, while authoring is a built in support. This  feature helps to keep the app any time and when user opens the app it automatically updates the latest content.

Backbone of AEMM is the strong design. Combining efficient development by utilising the Adobe cloud tools provides a better AEMM application. AEMM avoids the lengthy native app development process. AEMM also takes advantage of multi-channel publishing to the web and mobile apps like AEM published content, assets etc.

There are cases where clients sanction fund for new applications and it take months to get a bsic version of application. AEMM helps clients to deliver an app with the relevant content in weeks.

What are all the ways of authoring/ adding content to an AEMM application?

AEM Mobile cloud provides a beautiful authoring environment where user can login and add content.
Cordova enabled development efficiently allows adding new layouts and content to system.
AEM Mobile also provides API's, through which any custom developed application can author the content in AEM Mobile.

Technical knowledge for AEM Mobile development
Any one who knows Java script with front end can work on AEM Mobile development. AEM knowledge is an added advantage because content authoring comes in picture.
People who are good at mobile development using Cordova knowledge are best fit for this job.

Is it possible to develop personalised content in AEM Mobile?
The answer is yes. AEM APIs provide option for sign in and integration with various Adobe cloud tools like analytics. This helps clients to configure custom content for each user.
AEM Mobile provides various dynamic banner, collections, layouts which can be configured using cordova apis through keywords and meta tags. This provides a better personalised content.

AEM knowledge is mandatory for AEMM Development?
AEM knowledge is an added advantage but not mandatory.

Where are we can find more useful tips on AEM Mobile and related development?
Below are some of the best helpers available:
https://helpx.adobe.com/digital-publishing-solution/topics.html
http://blogs.adobe.com/aemmobile/

Can we have any type of content in AEM Mobile?
Yes We can have any type of content like text, image, video, pdf , documents etc.

Can we search in AEM Mobile Application?
Yes. AEM Mobile provides an inbuilt search which needs to be enabled from admin console. Once enabled search box appears in header and enables any type of content search.

Does AEM Mobile support login?
Yes. AEM Mobile support login using AEM Mobile provided API.

Do we need license to create an AEM Mobile app?
Trial versions are available for AEM Mobile development. By registering we can get trial access, but to develop a commercial app, we need paid license from Adobe.

Can we extract the articles from .article file?
Yes. Use 7 zip or any extractor.

What is preflight app?
Preflight app is a mobile app which helps to test(preview) the AEMM developed app in mobile devices by configuring the Adobe id. All the app which are assigned to a specific Adobe id can be previewed through this app.






Preflight mode enabled while creating an app? sign in/entitlement related will not work  - in web url it will appear but it doesnt allow to login.

Tuesday 27 September 2016

AEMM: How to create custom authentication


There are cases where we need to use custom login screen other than the login UI provided by AEMM. In such cases we need to use generic auth method in AEMM with custom UI hosted in our own server. Below given the approach.

We need to have our own API authentication mechanism running to achieve the functionality. In this case our system exposes an API which gives status as success or failure while authenticating in JSON format
Click on image to see it big



Step 1:
Create a login form which accepts user credentials

<form onsubmit="loginfunctioncall();"> 
Username: <input type="text" /> 
Password: <input type="text" /> 
<input type="submit" /> </form>

Step 2:
Add a post method which takes the response and  collects user info. This info is processed to respective format as our API requires.
Do a post call and get response.
Process the response(JSON format) back from POST and check the authentication is success
If authentication is success, redirect the user to app home screen, else alert user with an error message


<script>
function login() {

//process response and if authentication is success, set the success to true
var success = true;
var authToken = 'AUTH_TOKEN_BASED_ON_USER_LOGIN';
if (success && authToken) {
window.location = appData.redirectUri + '?authToken=' + authToken;  } else {
window.location = appData.redirectUri + '?error="Internal Error"';  } }
</script>

AEM Mobile Integration with third party application for authoring

There are cases where we need to create third party web portals to use for authoring instead of using AEMM authoring. Advantage of using such system is to isolate authoring from AEMM environment. To setup an independent suthoring, AEM Mobile supports API services. Below are the steps involved.

Click on image to see it big

Webportal is a third party application, which can be created to author in AEM Mobile. Web portal interacts with AEM Mobile using the on demand API's provided by AEM Mobile.

Web portal can be created in any language which will have its own database used for authentication and then for authoring AEMM content.

AEMM master admin should create an AEMM user with content creation access permissions. This user can be configured in webportal then.

We need to have AEM Mobile API access obtained from Adobe to interact between AEM Mobile and web portal application. (See section: 'Requesting an API key' )

Webportal helps to upload AEM Mobile page content once logged in, and on submission it creates '.article' files with its manifest file using On Demand API. This creates .html file through its service.

To generate the article files from a folder, you can either use the desktop utility or use the example packager in ‘class/manifest.php’.

On-demand api push this article to AEMM using created AEMM content creation web portal user id.

To script the export process, you can use the ‘exportDpsArticle’ function. For details, see Creating InDesign-based articles using scripting.

Sunday 18 September 2016

AEM Mobile Overview

Adobe Experience Manager Mobile(AEM Mobile/ AEMM)

AEM Mobile:
Adobe PhoneGap was one of the finest solution for enterprise level organizations to create and manage mobile application quickly.
AEM Mobile is an evolution from phone gap which enables its users to produce, manage and maintain their mobile apps from centralized server.

Advantages:

  • Existing contents can be migrated easily to AEM Mobile
  • Cloud managed, so centralized
  • Simple to custom complex level apps
  • Real time app update notifications
  • Simple apps can be developed by non technical users
  • Installable on multi platforms
  • Highly extensible, which can be customized to any level with its article collection combination
  • Ease in content publishing
  • Easily integrated with Adobe Analytics
  • Personalized content distribution


Steps in AEMM(AEM Mobile) app development includes

  1. Create app
  2. Integrate data
  3. Manage and publish app
  4. Measure the data usage


AEM Mobile Pre-flight APP

 This app allows user to test and preview AEM Mobile app and content on-device, before you publish it. This is a kind of testing sandbox which helps you ensure your content appears the way you wanted it when viewed on a device. Entire testing which includes, app navigation, browse pages, interactivity and authentication levels.

We are going to add more details on below topics for AEM Mobile
How to create custom authentication?
Third party Authoring for AEM Mobile
How entitlement can be done?

Subscribe this blog for more write-ups on AEM Mobile development.