적응형 양식 캐시 구성

캐시는 데이터 액세스 시간을 단축하고 지연을 줄이며 입출력 속도를 향상시키는 메커니즘입니다. 적응형 양식 캐시는 사전 채워진 데이터를 저장하지 않고 적응형 양식의 HTML 컨텐츠 및 JSON 구조만 저장합니다. 클라이언트에서 응용 양식을 렌더링하는 데 필요한 시간을 줄이는 데 도움이 됩니다. 적응형 양식을 위해 설계되었습니다.

작성자 및 게시 인스턴스에서 적응형 양식 캐시 구성

  1. AEM 웹 콘솔 구성 관리자(https://[server]:[port]/system/console/configMgr)로 이동합니다.

  2. 적응형 양식 및 대화형 통신 웹 채널 구성​을 클릭하여 구성 값을 편집합니다.

  3. 구성 값 편집 대화 상자에서 AEM Forms 서버의 인스턴스가 응용 Forms 수의 필드에 캐싱할 수 있는 최대 양식 또는 문서 수를 지정합니다. 기본값은 100입니다.

    노트

    캐시를 비활성화하려면 [응용 Forms 수] 필드의 값을 0​으로 설정합니다. 캐시 구성을 비활성화하거나 변경하면 캐시가 재설정되고 모든 양식과 문서가 캐시에서 제거됩니다.

    적응형 양식 HTML 캐시를 위한 구성 대화 상자

  4. 저장​을 클릭하여 구성을 저장합니다.

환경이 캐시 적응형 양식 및 관련 자산을 사용하도록 구성되어 있습니다.

(선택 사항) 디스패처에서 적응형 양식 캐시를 구성합니다.

또한 추가 성능 향상을 위해 디스패처의 적응형 양식 캐싱을 구성할 수도 있습니다.

전제 조건

  • 클라이언트](prepopulate-adaptive-form-fields.md#prefill-at-client) 옵션에서 [데이터 병합 또는 프리플링을 활성화합니다. 미리 채워진 양식의 각 인스턴스에 대한 고유 데이터를 병합하는 데 도움이 됩니다.

디스패처에서 적응형 양식을 캐싱하기 위한 고려 사항

  • 적응형 양식 캐시를 사용할 때는 AEM Dispatcher을 사용하여 적응형 양식의 클라이언트 라이브러리(CSS 및 JavaScript)를 캐시합니다.
  • 사용자 지정 구성 요소를 개발하는 동안, 개발에 사용되는 서버에서 적응형 양식 캐시를 사용하지 않도록 설정합니다.
  • 확장자가 없는 URL은 캐시되지 않습니다. 예를 들어 패턴 패턴/content/forms/[folder-structure]/[form-name].html이 있는 URL은 캐시되고 캐싱은 패턴 /content/dam/formsanddocument/[folder-name]/<form-name>/jcr:content이(가) 있는 URL은 무시됩니다. 따라서 URL과 익스텐션을 함께 사용하면 캐싱의 이점을 활용할 수 있습니다.
  • 현지화된 적응형 양식에 대한 고려 사항:
    • http://host:port/content/forms/af/afName.html?afAcceptLang=<locale> 대신 URL 형식 http://host:port/content/forms/af/<afName>.<locale>.html을 사용하여 적응형 양식의 현지화 버전을 요청합니다.
    • 형식이 있는 URL 에 대해 브라우저 로컬 사용을 비활성화합니다 http://host:port/content/forms/af/<adaptivefName>.html.
    • 구성 관리자에서 URL 형식 http://host:port/content/forms/af/<adaptivefName>.html브라우저 로케일 사용​이(가) 비활성화되면 현지화되지 않은 응용 양식 버전이 제공됩니다. 현지화되지 않은 언어는 적응형 양식을 개발하는 동안 사용되는 언어입니다. 브라우저에 대해 구성된 로케일(브라우저 로케일)은 고려되지 않으며, 현지화되지 않은 버전의 적응형 양식이 제공됩니다.
    • 구성 관리자에서 URL 형식 http://host:port/content/forms/af/<adaptivefName>.html브라우저 로케일 사용​이 활성화되어 있으면 현지화된 버전의 적응형 양식이 제공됩니다(사용 가능한 경우). 현지화된 적응형 양식의 언어는 브라우저에 대해 구성된 로케일(브라우저 로케일)을 기반으로 합니다. 응용 양식]의 첫 번째 인스턴스만 [캐싱할 수 있습니다. 인스턴스에서 문제가 발생하지 않도록 하려면 문제 해결을 참조하십시오.

디스패처에서 캐싱 사용

다음 단계를 수행하여 디스패처에서 응용 양식 캐싱을 활성화하고 구성합니다.

  1. 환경의 모든 게시 인스턴스에 대해 다음 URL을 열고 환경의 게시 인스턴스에 대해 flush 에이전트를 활성화합니다.
    http://[server]:[port]]/etc/replication/agents.publish/flush.html

  2. dispatcher.any 파일에 다음을 추가합니다.

       /invalidate
       {
       /0000
       {
       /glob "*"
       /type "deny"
       }
       /0001
       {
       # Consider all HTML files stale after an activation.
       /glob "*.html"
       /type "allow"
       }
       /0002
       {
       # Exclude htmls present in AF directories
       /glob "/content/forms/**/*.html"
       /type "deny"
       }
    

    위의 내용을 추가할 때:

    • 응용 양식이 업데이트된 버전의 양식이 게시되지 않을 때까지 캐시에 남아 있습니다.

    • 적응형 양식에서 참조하는 최신 버전의 리소스가 게시되면 영향을 받는 적응형 양식이 자동으로 무효화됩니다. 참조된 리소스의 자동 무효화에 대한 몇 가지 예외가 있습니다. 예외에 대한 해결 방법은 문제 해결 섹션을 참조하십시오.

  3. 아래 rules dispatcher.any 또는 사용자 지정 규칙 파일을 추가합니다. 캐싱을 지원하지 않는 URL은 제외됩니다. 예: 대화형 통신.

       /0000 {
             /glob "*"
             /type "allow"
       }
       ## Don't cache csrf login tokens
       /0001 {
             /glob "/libs/granite/csrf/token.json"
             /type "deny"
       }
       ## Don't cache IC - print channel
       /0002 {
             /glob "/content/forms/**/channels/print.html"
             /type "deny"
       }
       ## Don't cache IC - web channel
       /0003 {
             /glob "/content/forms/**/channels/web.html"
             /type "deny"
       }
    
  4. URL 매개 변수 무시 목록에 다음 매개 변수를 추가합니다.

       /ignoreUrlParams {
       /0001 { /glob "*" /type "deny" }
       # added for AEM forms specific use cases.
       /0003 { /glob "dataRef" /type "allow" }
       }
    

AEM 환경은 적응형 양식을 캐시하도록 구성되어 있습니다. 모든 유형의 적응형 양식을 캐시합니다. 캐시된 페이지를 전달하기 전에 페이지에 대한 사용자 액세스 권한을 확인할 필요가 있는 경우 보안 컨텐츠 캐싱을 참조하십시오.

문제 해결

이미지나 비디오가 포함된 일부 적응형 양식은 디스패처 캐시에서 자동으로 무효화되지 않습니다.

문제

자산 브라우저를 통해 이미지 또는 비디오를 선택하고 적응형 양식에 추가하면 이러한 이미지 및 비디오가 자산 편집기에서 편집되면 이러한 이미지가 포함된 적응형 양식이 발송자 캐시에서 자동으로 무효화되지 않습니다.

솔루션

이미지와 비디오를 게시한 후에는 이러한 자산을 참조하는 적응형 양식을 명시적으로 게시 취소하고 게시합니다.

응용 양식의 첫 번째 인스턴스만 캐시됩니다.

문제

적응형 양식 URL에 현지화 정보가 없고 구성 관리자에서 브라우저 로케일 사용​이 활성화되어 있으면 현지화된 버전의 적응형 양식이 제공되고 응용 양식의 첫 번째 인스턴스만 캐시되어 모든 후속 사용자에게 전달됩니다.

솔루션

문제를 해결하려면 다음 단계를 수행하십시오.

  1. 런타임에 로드하도록 구성된 conf.d/httpd-dispatcher.conf 또는 기타 구성 파일을 엽니다.

  2. 다음 코드를 파일에 추가하고 저장합니다. 환경에 맞게 수정하는 샘플 코드입니다.

   <VirtualHost *:80>
        # Set log level high during development / debugging and then turn it down to whatever is appropriate
    LogLevel rewrite:trace6
        # Start Rewrite Engine
    RewriteEngine On
        # Handle actual URL convention (just pass through)
        RewriteRule "^/content/forms/af/(.*)[.](.*).html$" "/content/forms/af/$1.$2.html" [PT]
 
        # Handle selector based redirection basded on browser language
        # The Rewrite Cond(ition) is looking for the Accept-Lanague header and if found takes the first two character which most likely will be the desired language selector.
        RewriteCond %{HTTP:Accept-Language} ^(..).*$ [NC]
        RewriteRule "^/content/forms/af/(.*).html$" "/content/forms/af/$1.%1.html" [R]
   </VirtualHost>

이 페이지에서는

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now