Part 1: Lazybones Generator for AEM

1.IntroductionThis is first part of multi-part series where we'll talk about how Lazybones is useful in AEM projects.

Starting new project from scratch/base is an exciting task and we want to give our best whenever we are starting something new. We try to pour all our past experiences and learnings together to make sure that we are not doing same mistakes that we have done or found in other projects.

Developing large projects goes through various phases:

1)Requirement gathering and analysis
2)Create high level and low level architecture and technical design
3)Choosing frameworks/libraries for development
4)Choosing unit testing frameworks
5)Hooking up build scripts
6)Choosing dependency management tool
7)Defining DevOps strategy
8)Infrastructure – Cloud or In House
9)And many more….

Individual people might have worked on different projects and each of them might have faced different problems and might have learned many best practices. It’s quite possible that when you are startin…

Generating URL based on AEM RUN mode using AEM Externalizer Service

AEM allows us to create content for various channels. In large enterprise ecosystem AEM is central system to deliver content to mobile, web, email, big screens and devices like echo show. Same content can be rendered in different ways and formats and that is a big advantage of AEM.

In this article, we are going to look at one specific challenge that becomes very visible when AEM delivers content via email, mobile etc. The challenge is making sure that links embedded in emails and content delivered via email are not broken. There are various ways in which you can fix this problem:
Dynamically determine the host URL based on incoming request (sling request and resolver) but, this is not possible in all situations (especially when original request is not originated from a resource/page served by same AEM instance)Create your own OSGi configuration to store AEM instance host domain. This needs to be different for Author and PublisherHardcoded URLs … a big NO for this
Haven’t AEM team thou…

Part 4: AEM with Angular 2 - Unit Testing Angular Components & Services

This article is continuation of a multi-part series on AEM + Angular 2 integration. You can read previous 3 articles from this series here: Part 1: 2: 3: In previous three parts, we have learned: Angular 2 & Challenges of using AEM with Angular 2Project Structure of AEM + Angular 2 project and custom build scriptDeveloping AEM components using Angular 2 In this part, we’ll learn about Unit testing Angular code base and collecting code coverage matrix.
Unit testing is very important from code quality perspective and it becomes even more important when project is large and multiple teams are working on same project. In large projects, dividing large systems in to small and loosely coupled modules is a best practice b…

KONE Hackathon on IoT, Smart Elevators, Smart Lights and BlueMix Cloud

I have used elevators countless times in my life so far and we all use it multiple times every day. Have you ever thought about how elevators can react in smarter way, does an elevator knows who you are and personalize it for you? I think most of us (including me) have never thought about this (before this hacking event, that I attended) but, trust me there are companies like KONE and many smart people who work there are challenging themselves and pushing hard to make elevator smart.
What exactly KONE is developing?
KONE is building APIs to control, manage and maintain elevators. KONE's APIs are collecting data from various elevators installed in buildings, these APIs are backbone or I can say brain of KONE’s smart elevators. Once data is collected, possibility of harnessing valuable information from that data is endless. Example:
Feed collected data to analytics tools to optimize elevator operation, usage etc. Apply Artificial Intelligence and Machine Learning to give a smart bra…