Installing FileVault Tool (VLT) in CQ/AEM


First install VLT tool, as it is not installed by default and it is additional tool available at  /opt folder in your AEM instance.

Set system’s environment variable. Perform below steps to install FileVault Tool (VLT) :

  • Copy the FileVault archive file from the cq-quickstart/opt/filevault directory of your installation. 
  • Copy either filevalut.tgz or filevault.zip, based on your OS.
  •  
  • Note: Extract the archive. Add /vault-cli-/bin to your environment PATH so that the command files are accessed appropriately.  Eg:-  /crx-quickstart/opt/helpers/vault-cli-2.4.8/bin
  •  
  • Open command prompt using cmd and execute vlt –help. It displays the following help screen:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; suppor
t was removed in 8.0
Commands:
  export             Export the Vault filesystem
  import             Import a Vault filesystem
  checkout (co)      Checkout a Vault file system
  status (st)        Print the status of working copy files and directories.
  update (up)        Bring changes from the repository into the working copy.
  info               Displays information about a local file.
  commit (ci)        Send changes from your working copy to the repository.
  revert (rev)       Restore pristine working copy file (undo most local edits).
  resolved (res)     Remove 'conflicted' state on working copy files or directories.
  propget (pg)       Print the value of a property on files or directories.
  proplist (pl)      Print the properties on files or directories.
  propset (ps)       Set the value of a property on files or directories.
  add                Put files and directories under version control.
  delete (del,rm)    Remove files and directories from version control.
  diff (di)          Display the differences between two paths.
  rcp                Remote copy of repository content.
  sync               Control vault sync service
  console            Run an interactive console




Configure LDAP with AEM 6

Steps to Configure LDAP with AEM 6- SP1 :

In AEM 6, LDAP support comes with a new implementation that requires a different type of configuration than with previous versions.

All LDAP configurations are now available as OSGI configuration. They can be configured via the Web Management console at:
http://hostName:4502/system/console/configMgr

In order to have LDAP working with AEM, you need to create three OSGI configurations:

1.LDAP Identity Provider (IDP).
2.Sync Handler.
3.External Login Module.

Steps:
1. Go to http://hostName:4502/system/console/configMgr
2. Search for "Apache Jackrabbit Oak LDAP Identity Provider"
3. Click on "+" (plus) symbol for the creating new configuration for "Apache Jackrabbit Oak LDAP Identity Provider"
4. Enter the below values in configuration and click on save.

provider.name="ldap"
host.name="dsxdev.companyName.com"
host.port=I"389"
host.ssl=B"false"
host.tls=B"false"
host.noCertCheck=B"false"
bind.dn="uid=wemusr.gen,OU=Generics,O=cco.companyName.com"
bind.password="wem4Dev"
searchTimeout="60s"
user.baseDN="O=cco.companyName.com"
user.objectclass=["ccoPerson"]
user.idAttribute="uid"
user.extraFilter="(objectClass=ccoPerson)"
user.makeDnPath=B"false"
group.baseDN="CN=wemusers-dev,OU=Mailer,OU=Groups,O=cco.companyName.com"
group.objectclass=["groupOfUniqueNames"]
group.nameAttribute="cn"
group.extraFilter="CN=wemusers-dev,OU=Mailer,OU=Groups,O=cco.companyName.com"
group.makeDnPath=B"false"
group.memberAttribute="memberOf"
org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
-----------------------------------------------------------------------------------------------

5. An OSGI node created with name like : org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider-b9c9258a-81b1-4413-8fea-1589cbe0fc35.config  at path : /apps/system/config/
6. Search for "Apache Jackrabbit Oak Default Sync Handler"
7. Click on "+" (plus) symbol for the creating new configuration for " Apache Jackrabbit Oak Default Sync Handler"

-----------------------------------------------------------------------------------------------

8. Enter the below values in configuration and click on save.
NOTE:  handler.name can be changed based on the Environment. Eg: for Production name can be given as : prodldapsynchandler
------------------------------------------------------------
handler.name="idevldapsynchandler"
user.expirationTime="1h"
user.autoMembership=["companyGrpall"]
user.propertyMapping=["rep:e-mail=mail","cq:last-name=sn","cq:first-name=givenName"]
user.pathPrefix=""
user.membershipExpTime="1h"
user.membershipNestingDepth=I"0"
group.expirationTime="1d"
group.autoMembership=[""]
group.propertyMapping=["rep:fullname=cn",""]
group.pathPrefix=""
------------------------------------------------------------------------------------------------

9. An OSGI node created with name like : org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler-b9c9258a-81b1-4413-8fea-1589cbe0fc35.config  at path : /apps/system/config/
10. Search for "Apache Jackrabbit Oak External Login Module"
11. Click on "+" (plus) symbol for the creating new configuration for "Apache Jackrabbit Oak External Login Module"
12. Enter the below values in configuration and click on save.
NOTE: sync.handlerName is the name of Apache Jackrabbit Oak Default Sync Handler as given above at STEP : 8

jaas.ranking=I"400"
jaas.controlFlag="REQUIRED"
jaas.realmName=""
idp.name="ldap"
sync.handlerName="idevldapsynchandler"
------------------------------------------------------------------------------------------------

13.An OSGI node created with name like : org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory-ffe61481-2dad-4864-b58a-c2ade426345c.config  at path : /apps/system/config/




 

Working with Sightly and Templates in AEM 6.1











Use templates in AEM 6.1 Sightly :




1. Template (data-sly-template)

                These are the HTML blocks which act a function. Every block will have an identifier and like normal function they do accept parameters. When you are defining the block, you can define all parameters that will be accepted by it.

Example1:
      <template data-sly-template.first>
              This is my first Template.
      </template>

Now, create a simple template with identifier as ‘first‘.


In order to use this block you call them with identifier


2. Call (data-sly-call)


Call will help you to get a declared HTML block or template.

     <div data-sly-call="${first}"></div> 

Above statement will call our template with identifier ‘first‘.


Output HTML:

<div>
This is my first Template.
</div>

===============================================================



Example 2
           Passing parameters to templates


Template:
     <template data-sly-template.second="${@ x, y, z}">
           Value of x = ${x}, y= ${y}, z= ${z}
     </template>


Call:
     <div data-sly-call=”${second @ x=1, y=2, z=3}”></div>


Output HTML:
      <div>
         Value of x = 1, y= 2, z= 3
      </div>

 ===============================================================


Example 3: 
           Template in different file


Above examples based on assumptions that templates present in the same file in which we are calling them, other many scenarios when you create template in one html and need to call them in different file.


Template:

 It will be presented at path  
/apps/project/component/content/sightly-demo/mytemplates.html

<template data-sly-template.third="${@ x, y, z}" >
      Value of x= ${x}, y= ${y}, z= ${z}
</template>



Call:

The file in which we will call this is present at path /apps/project/component/content/sightly-demo/sightly-demo.html

<div data-sly-use.data="mytemplates.html" data-sly-call="${data.third @ x=1, y=2, z=3}">
</div>


You can use “data-sly-use” which will help you to get a reference to the file. 
Path to the file can be absolute or relative.


Output:
      <div>
        Value of x = 1, y= 2, z= 3
      </div>


One more example where our template will call sightly JS file before returning html.


===============================================================

Example 4:


<template data-sly-template.fourth="${@ page}" data-sly-   use.tmpl="${'simple.js' @ page=page, descriptionLength=50}">
       <h1>${tmpl.title}</h1>
        <p>${tmpl.description}</p>
</template>



simple.js
use(function () {
var Constants = {
DESCRIPTION_PROP: "jcr:description"
};

var title = this.page.getNavigationTitle() || this.page.getTitle() || this.page.getName();
var description = this.page.getProperties().get(Constants.DESCRIPTION_PROP, "").substr(0, this.descriptionLength);
return {
title: title,
description: description
};
});


Call:
<div data-sly-use.tmpl="mytemplates.html" data-sly-call="${tmpl.fourth @ page=currentPage}"></div>

Output:
      <div>
       <h1>English</h1>
       <p>This is a demo page. It shows how to use templates</p>
      </div>


AEM – Hot Fixes & Service Packs -SP

 
Hot Fixes / SP for AEM-6.0:

AEM 6.0 is having architectural and technical changes expected to have many hot fixes released from Adobe.

Find below are the list of all the hot fixes for AEM 6.0 version & same will get updated on new coming additions.
Hot fix Description Link to HoFix Server Restart Required or NOT
AEM 6.0 SERVICE PACK 1 AEM 6.0 SP 1 is an important update that includes security, performance, stability, and key customer fixes and enhancements. AEM 6.0 Service Pack 1-1.0 NO
CQ-6.0.0-HOTFIX-4642 Hot fix for repository update to Oak 1.0.5 cq-6.0.0-hotfix-4642-1.0.0 YES
CQ-6.0.0-HOTFIX-4562 Hot fix for repository update to Oak 1.0.4 cq-6.0.0-hotfix-4562-1.0.0 YES
CQ-6.0.0-HOTFIX-4135 Oak TarMK uses too much disk space cq-6.0.0-hotfix-4135 YES



Hot Fixes / SP for AEM-6.1:
  
We seen AEM 6.1 has been more stable release since Adobe released AEM with new architecture changes including Oak and Touch UI.

AEM 6.1 Service Pack 1 comes with lot of hot fixes and you can download the same here

Here is  some of the major hot fixes.
 
Touch UI
  1. Feature like ‘Multiple In-place editing‘ capabilities. Refer below for more information.
    • http://docs.adobe.com/docs/en/aem/6-1/develop/components/multiple-inplace-editors.html
  2. New ‘beforeinsert‘ listener
    • http://docs.adobe.com/docs/en/aem/6-1/develop/components.html#cq:listeners
XSS Vulnerability fixes to improve Security

Fixes for Oak 1.2.7 and AEM forms fixes.

Also use new version of Dispatcher – 4.1.11 that is available to get advantages like configuring cache for vanity URLs.

Click here to look at the complete list for hot fixes as part of AEM SP1