Thursday, June 11, 2020

AEM Newsletter

AEM Newsletter

AEM Newsletter can be created to distribute the product information/ related details using email. For example, consider a digital marketer that wants to promote events around a specific product. By creating an AEM newsletter, they can raise awareness of the product. Newsletter can have images, texts, links (to videos). This newsletter can be used as part of Adobe campaign as email campaign.

You can create newsletter using existing contents as well as provide new contents.

AEM allows you to manage newsletters, archive them and view the statistics.

In order to configure newsletter, you need to configure email notifications via osgi. Email service can be configured by configuring - Day CQ mailservice. SMTP server port, SMTP server host and from address must not be blank. Configure from email by providing config for com.day.cq.wcm.notification.email.impl.EmailChannel.

You can also personalize the newsletter by providing different variables like username, firstname, lastname, email, salutation, registration date, last visit, interests, city etc.

You can use different mail clients to send the emails like yahoo, gmail, hotmail, thunderbird.

One can also subscribe to the newsletter.

How to create newsletter :

Refer this link

AEM Default Search vs. Solr Search

AEM Default Search vs. Solr Search

AEM Oak Lucene Search :

This is Oak indexing.

Since this is inbuilt search, the indexing happens on AEM itself, which can grow to a large number as per the content repository size. Also index binaries take a lot of space.

Queries can not be cached efficiently here.

In case of e-commerce sites, the contents might be stored on the e-commerce engine. Those will have to be loaded in AEM to use AEM search with them. This will also increase the space requirement.

It doesn't support Natural Language search, keywords indexing, sponsored search, Geo-spatial search and query suggestions/spelling check.

Solr Search :

Reliable, scalabe and fault tolerant

Supports distributed environments which means, there can be cluster of solr instances those can work together to make the most efficient indexing and searching.

Automated failover and recovery

Query caching

You do not have to import the e-commerce contents on AEM for indexing

Advanced Full-Text Search Capabilities, Optimized for High Volume Traffic, Highly Scalable and Fault Tolerant, Near Real-Time Indexing, Faceted Search and Filtering, Geospatial Search, Highly Configurable and User Extensible Caching, Query Suggestions, Spelling Rich Document Parsing.


There are two ways of integrating solr with AEM :

i. Rest integration. Search can be performed using rest api.

ii. It can be configured along with AEM Oak index to optimize the jcr query search.

Scenario :

The out-of-the-box AEM searching feature works well and is a good fit for small applications looking to reduce overall costs and simplify implementations. It requires no extra development time/effort to implement it. It can also be configured and optimized to overcome some of its limitations.

On the other hand, integrating AEM with Solr requires design and development, as well as hosting and managing the Solr environments. This would increase costs and overall project timeline, but the reward is a wide variety of advanced searching features, blazing fast search performance, and a reduced footprint in AEM's environments.




Wednesday, June 10, 2020

Content Fragments Vs Experience Fragment

Content Fragments Vs Experience Fragment

Content Fragment :

- Presentation Agnostic i.e. they can be used in any type of presentation layer. This is achieved using exposing the content fragments in the form of JSON.
- They're of dam:asset type
- Can have several versions like mobile version, tablet version, third party version etc
- Can be created using Content Fragment Model
- Content centric i.e. contents matter not the presentation
- They're composed of form elements like text, date, text area etc
- Can be exported as JSON
- Content fragment model has to be enabled to create content fragment for a site
- Can be created dynamically and used on any channel
- Not meant for larger sizes of content paragraphs
- Advanced version of sling reference component
- It is about reusing the contents

Create content fragment model -> Author content fragment in assets -> Define content services template using editable templates (Empty template) -> Use components like text, image, content fragment or content fragment list -> Author content service page using the content fragment page template created in previous step -> Publish -> View json page the page by putting pagename.model.json.

- Content fragment can be used by third party

Scenario :

i. When dynamic changes in the contents are required frequently. For example events page, vacations planning page, service catalog page, small scale product information catalogs
ii. Multichannel sites
iii. News websites
iv. Legal disclaimers on different channels


Experience Fragment :

- Presentation Centric  : Look and feel matters
- They're of cq:Page type
- Can have several variations based on the channel. Can also have social media specific form which can be created using social post
- Can be created using editable templates
- Can also be created using layout container on a page
- Not necessarily has to be a page, it can be collection of components inside layout container.
- They're composed of components like text component, list component, image component or combination of all
- Can be exported as HTML
- Can be different variation on different channels
- Live copies can be created
- Building blocks
- Experience fragment is about reusing the whole experience across different channels

Create experience fragment template using editable templates (xfpage type) -> go to sites and create experience fragment and select the template -> Ensure experience template policy allows the components you want to use on experience template -> define experience fragment -> Publish

- Experience fragment can be used by third party as simple html pages.

Scenario :
i. Emails
ii. Omnichannel experience
iii. Sites with personalized experiences (by integrating with target)
iv. Embedded on different sites as web component like RSS feed (like detached experiences)

Some more AEM 6 Interview Questions for Architects

 Some more AEM 6 Interview Questions for Architects 1. Consider you have a workflow with two steps. One step is to transfer the asset from s...