AEM
AEM
AEM
Code Feautes:
1.@Inject
String lname;
2.@override
public string get firstname();
Return fname;
4.Default values
@Inject
@Default (value ="AEM")
String fname;
5. @Model(adaptables =Resource.class
adapters = Author.class;
Default Injection Strategy = Default Injection Strategy.optional;
6.@Script Variable
Page current page;
7.@override
Public String getpage Title(){
Return current page.get Title();
}
8.@Inject
@Via("Resource")
@Default (Value="AEM")
String fname;
9.@ValueMapvalue
@Default (values="Geeks")
String lname;
10.@Slingobject
Resource Resolver resource Resolver;
11.@self
SlingServletRequest.SlingServletRequest;
13.@OSGI Service
querybuilder querybuilder;
14.@Inject
@Named ("Jcr:LastModifiedBy")
String Modified by;
Multifield Dailog
1.Component and Node Structure
2.Difference when composite Added True and False
3.Java Code
Content Fragments
1.Definition and Explaination
2.Architecture of Content Fragment
model --- CF-- Variations --- CF Component --- Raw Json
3. How to Create the content Fragment
Experience Fragments
1.Definition and Explaination
2. How to Create the content Fragment
EDITABLE Template
1.What is Template-Definition and Explaination
2.How the Page is Created by using Template
3.Create a Template --Steps
4.Policies used in Templates
5.Page Properties used in Templates
6. Explation of 3 areas
-- Structure
-- Initial Content
-- Layout
7. Dynamically Meaning and Static Meaning
8.How Editable Template is Different From Static Template
9.Reference and Relationship
10.Editable Template Structure
-- Initial
-- Structure
-- Policies
11.Editable Template Folder Structure
12.Template Type Resolution
13.Difference Between Static Template and Editable Template
OSGI Services
7.OSGI Configuration
--------------------------------------------------------------- What is
OSGI Configuration in AEM
-- What is OSGI Configuration and Basics Of OSGI Configuration
How to Write the OSGI Configuration using R7 Annotation
-- OSGI Config Fields and Config in nodes
Different Field Types in OSGI Configuration
-- Components anddd Service with OSGI Congfiguration
Save OSGI Configuration as node or file
-- Write the OSGI Configuration using R7 Annotation
Display Configuration in Components
-- look at this
1. @objectclassdefinition
2.Public @Interface Serviceconfig
3.@AttributeDefinition
4.@Designate(-----)
8.Create OSGI Configuration in Separate Files
-- OSGI Configuration in Separate File and then we can call it
-- save the OSGI Configuration as node or File type
Code Feautes:
2. @OSGI Service
Iterator <page>
3. @OSGIfilter
@service A(1000)
@service B(1001)
4. call @OSGIservice with filter
@OSGI service
Multiservice multiservice
@override
Public String getname From Service();
return multiservice .get Name();
}
}
@Reference (Target="component.name=com.aem.geeks.core.services.impl.Multiservice
impl")
Multiservice Multiservice;
10. @AttributeDefinition
@name name ="Service name"
@Description Description="Enter Service name"
@Type Type= Attribute Type .STRING
@Method Public String ServiceName () Default="AEM geeks
Service"
12.@Designate(ocd=OSGI ConfigurationImpl.Serviceconfig.class)
13.@objectclassdefinition
Servlets
Code Feautes:
1.@Service Description ("Simple Servlet using OSGI DS 1.4)
Public class Sample Path servlet extends
Sling all methods Servlet
@overide
Protected void doget(Slinghttpservlet Request Request,Slinghttpservlet Response
Response)
Throws Servlet Exception, IOException{
}
@overide
Protected void dopost(Slinghttpservlet Request Request,Slinghttpservlet Response
Response)
Throws Servlet Exception, IOException{
}
}
}
2. @Component (Service=servlet.class)
@Sling ServletResource types{
Resource types ="aemgeeks/componet/Structur/page"
Methods =httpconstants.METHOD_GET
Extension ="txt"
4.@SlingServletpaths{
values="/bin/geekspath"
Query Builder
2.query query=queryBuilder.getresult();
create (create Textsearchquery(Searchtext)).Session);
4.List<hits> hits=results.gethits();
5.@reference
Searchservice Searchservice;
6.Type=cq:page
path= /content/aemgeeks
property= cq:template
property value =/apps/aemgeeks/templates/geeks-content
p.limit=-1
Schedular
Service
1.@component(immediate=true,service= job.class) ---- for job interface
Interface
public class geekschedularjobs.implements job; ---- for job interface
Code Feautes:
1.@component(immediate=true,service=runnable.class)
2.@Designate(ocd= schedularconfiguration.class)
3.@Reference
private Schedular Schedular;
Event-handler
@Reference
Sling Repository Sling Repository;
@Activate
public void activate () throws exception{
session = SlingRepository.login service("geeks service user", null);
EventConstants.EVENT_TOPIC
Property={
Resource change listener.PATHS+="/Content/aemgeeks/us/en/card"
Resource change listener.CHANGES+="ADDED"
Resource change listener.CHANGES+="REMOVED"
Resource change listener.CHANGES+="CHANGED"
}
Code Feautes:
@Reference
Sling Repository Sling Repository;
@Activate
Public void activate () throws Exception{
session = Sling Repository.login service ("geeks service user",null);
this
Event.NODE_ADDED / Event PROPERTIES_ADDED
"/content/aemgeeks/us/en" //Path
True //is Deep?
null //UUID's Filter
null //nodestypes Filter
false
and Down Iterator is loop added
Event Listerner
Event.NODE_ADDED---- 1
Event.NODE_REMOVED---- 2
Event.NODE_CHANGED----32
Event.PERSIST -------- 64
Event PROPERTIES_ADDED--- 4
Event PROPERTIES_REMOVED-- 16
Event PROPERTIES_CHANGED-- 8
2. Explain it;
Dispatcher
6.Explain Dispatcher Modular Configuration with points and this below one
1.Dispatcher_Vhost.conf
2.dispatcher.any
3.conf.d
4.conf.dispatcher.d
5.dispatcher.any
6.Cache
7.Filter
8.Vhost
Work-Flow
1.Workflowsession Workflowsession=ResourceResolver.adaptto(Workflowsession.class)