AEM UI 문제 해결하기

AEM UI 권장 지침

UI 문제 해결

Clientlibs 문제

AEM에서 clientlibs는 무엇입니까? - 최신 웹 사이트는 복잡한 JavaScript와 CSS 코드로 구동되는 클라이언트 측 처리에 주로 의존합니다. 이 코드를 구성하고 최적화하는 것은 복잡한 문제일 수 있습니다.

이 문제를 지원하기 위해 AEM은 클라이언트 측 코드를 리포지토리에 저장하여 범주에 구성하고 코드의 각 범주를 클라이언트에게 제공하는 방법과 시기를 결정할 수 있는 클라이언트 측 라이브러리 폴더를 제공합니다. 이 경우 클라이언트 측 라이브러리 시스템은 최종 웹 페이지의 올바른 링크를 생성하여 올바른 코드를 로드합니다.

 

포함된 clientlibs 중 하나가 로드되지 않음:

 다음 절차를 사용하여 포함된 모든 파일의 이름을 확인합니다.

  • 웹 브라우저의 주소 상자에서 HTML URL에 다음 텍스트를 추가합니다.

    ?debugClientLibs=true

  • 페이지가 로드되면 페이지 소스를 확인합니다.
  • 링크 요소에 대해 href로 제공된 링크를 클릭하여 파일을 열고 소스 코드를 확인합니다.

 

clientlibs가 거의 축소되지 않음:

  • 축소 옵션이 AEM HTML 라이브러리 관리자에서 활성화되어 있는지 확인합니다.
  • 이렇게 해도 여전히 문제가 되는 경우 구문 오류를 확인하도록 디버그 로거를 설정합니다. 아래 절차를 따르십시오.
    • http://<host>:<port>/system/console/slinglog로 이동합니다.
    • "새 로거 추가"를 클릭합니다.
    • [로그 수준]을 [디버그]로 설정합니다.
    • 로그 파일 이름을 "clientlibs.log"로 변경합니다.
    • "로거" 필드에 다음 클래스를 추가합니다.
      com.adobe.granite.ui.clientlibs
    • [저장]을 클릭합니다.
  • 아래와 비슷한 오류가 표시되면 clientlibs 파일에 구문 오류가 있는 것입니다. 

 

27.06.2019 11:36:01.450 *ERROR* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.processor.gcc.impl.YUIScriptProcessor Processed /apps/acs-commons/components/dam/custom-component-activator/clientlib/activator.js. 1 error(s), 0 warning(s) 
27.06.2019 11:36:01.450 *DEBUG* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryBuilderImpl processing /apps/acs-commons/components/dam/custom-component-activator/clientlib with processor yui for mode min rejected.
  • 최신 프로세서에서만 처리할 수 있는 최신 js 파일이 있을 수 있으므로 YUI에서 GCC로 스크립트 프로세서를 변경해 볼 수도 있습니다.

RTE 문제

항상 RTE 기능을 테스트하기 전에 최신 SP/CFP를 설치합니다.

RTE 특성 제거:

  • 일부 특성이 저장 후에 RTE에서 제거되는 경우 사이트 간 스크립팅을 방지하기 위해 도입된 XSS 보안 프레임워크 때문일 수 있습니다.
  • 로그 파일에 아래와 비슷한 메시지가 표시됩니다.
25.02.2019 18:29:31.815 *INFO* [10.98.144.110 [1551119371795] GET /content/support/en_US/security.html HTTP/1.1] org.apache.sling.xss.impl.HtmlToHtmlContentContext AntiSamy warning: The a tag contained an attribute that we could not process. The rel attribute had a value of "noopener noreferrer". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
  • 이 경우 "/libs/cq/xssprotection/config.xml"을 덮어쓰고 비즈니스 요구에 따라 보안 규칙을 업데이트하되, AEM 인스턴스를 사이트 간 스크립팅에 표시하지 않는 것이 좋습니다.
Adobe 로고

내 계정 로그인