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

De Basef
Ir para: navegação, pesquisa
 
(Uma revisão intermediária pelo mesmo usuário não estão sendo mostradas)
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 32: Linha 32:
  
 
[[Arquivo:request-resolution-2.png]]
 
[[Arquivo: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
  
  

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