Mudanças entre as edições de "Request Resolution in Adobe AEM"

De Basef
Ir para: navegação, pesquisa
 
Linha 25: Linha 25:
 
     `libs`
 
     `libs`
  
e) When it find the correct folder, it chooses a node with the best match based on some of the URL properties:
+
e) When it finds the correct folder, it chooses a node with the '''best match''' based on some of the URL properties:
  
 
     `Selector`
 
     `Selector`
Linha 39: Linha 39:
  
 
a) Method '''GET'''
 
a) Method '''GET'''
 +
 
b) Selector '''print.a4'''
 
b) Selector '''print.a4'''
 +
 
c) Extension '''html'''
 
c) Extension '''html'''
 +
 
d) sling:resourceType '''hr/jobs'''
 
d) sling:resourceType '''hr/jobs'''
  
The best match will be the following order:
+
The best match will be one of the following nodes:
  
 +
    Biggest priority
 
     apps/hr/jobs/print/a4.html.jsp
 
     apps/hr/jobs/print/a4.html.jsp
 
     apps/hr/jobs/print/a4/html.jsp
 
     apps/hr/jobs/print/a4/html.jsp
Linha 61: Linha 65:
 
     libs/hr/jobs/print/jobs.jsp
 
     libs/hr/jobs/print/jobs.jsp
 
     libs/hr/jobs/print/GET.jsp
 
     libs/hr/jobs/print/GET.jsp
 +
    Lowest priority
 +
  
 
== Request Example ==
 
== Request Example ==

Edição atual tal como às 10h27min de 23 de maio de 2018

Before trying to understand request resolution, take a look at URL decomposition to see how the URL is decomposed.

The process looks like this:

a) After the URL Decomposition process, the following URL properties are extracted:

   Protocol
   Host
   Path
   Selector(s)
   Extension
   Suffix
   Param(s)

b) The `path` component of the URL is matched against a node in `content` folder

c) If the node is found, it uses one of the following properties to try to locate the resource:

   `sling:resourceType`
   `sling:resourceSuperType`
   `jcr:primaryType`

d) Using the value of one of the above properties, it tries to locate this resource under one of these folders:

   `apps`
   `libs`

e) When it finds the correct folder, it chooses a node with the best match based on some of the URL properties:

   `Selector`
   `Extension`
   `Method`

Request-resolution-2.png


Best match

Suppose a request with the following characteristics:

a) Method GET

b) Selector print.a4

c) Extension html

d) sling:resourceType hr/jobs

The best match will be one of the following nodes:

   Biggest priority
   apps/hr/jobs/print/a4.html.jsp
   apps/hr/jobs/print/a4/html.jsp
   apps/hr/jobs/print/a4.jsp
   apps/hr/jobs/print/print.html.jsp
   apps/hr/jobs/print/print.jsp
   apps/hr/jobs/print/html.jsp
   apps/hr/jobs/print/jobs.jsp
   apps/hr/jobs/print/GET.jsp
   libs/hr/jobs/print/a4.html.jsp
   libs/hr/jobs/print/a4/html.jsp
   libs/hr/jobs/print/a4.jsp
   libs/hr/jobs/print/print.html.jsp
   libs/hr/jobs/print/print.jsp
   libs/hr/jobs/print/html.jsp
   libs/hr/jobs/print/jobs.jsp
   libs/hr/jobs/print/GET.jsp
   Lowest priority


Request Example

http://myhost/content/corporate/jobs/developer.html

Notice how the resolutions starts at `content` folder, then uses a file in `apps` folder by `sling:resourceType` reference:

Request-resolution-1.png