2016-09-08 2 views
3

Alfresco 공유 검색 페이지는 Aikau와 함께 구현됩니다. 더 일반적인 질문에 관심이 있습니다. 아이카우 위젯을 디버그 할 수 있습니까? 내가 가진Alfresco Aikau 디버깅

이 문제에 대한 몇 가지 링크를 발견한다, 그러나 그들은 로깅에 대한 자세한 실제없는 이야기 자바 스크립트 디버깅 :

가정하자 나는 다음과 같은 Aikau 위젯 야외가/search/AlfSearchResult 및 그 안에있는 다음 메소드 :

/** 
 
     * This function is called to create a 
 
     * [SearchResultPropertyLink]{@link module:alfresco/renderers/SearchResultPropertyLink} widget 
 
     * to render the displayName of the result. It can be overridden to replace the default widget 
 
     * with a reconfigured version. 
 
     * 
 
     * @instance 
 
     */ 
 
     createDisplayNameRenderer: function alfresco_search_AlfSearchResult__createDisplayNameRenderer() { 
 
     // jshint nonew:false 
 
     var config = { 
 
      id: this.id + "_DISPLAY_NAME", 
 
      currentItem: this.currentItem, 
 
      pubSubScope: this.pubSubScope, 
 
      propertyToRender: "displayName", 
 
      renderSize: "large", 
 
      newTabOnMiddleOrCtrlClick: this.newTabOnMiddleOrCtrlClick, 
 
      defaultNavigationTarget: this.navigationTarget 
 
     }; 
 
     if (this.navigationTarget) 
 
     { 
 
      config.navigationTarget = this.navigationTarget; 
 
     } 
 
     new SearchResultPropertyLink(config, this.nameNode); 
 
     }

내가 중단 점을 삽입하고 내가 그것을 속성을의 평가에 대한 this.currentItem을 위해 사용되는 라인에서 실행을 막을 수있는 방법이 있습니까?

답변

4

예, Aikau를 디버깅 할 수있는 여러 가지 방법이 있습니다. 먼저 "클라이언트 디버그"모드를 사용하도록 설정해야합니다 (공유 또는 사용자 정의 Aikau 고객).

예를 들어, 공유에 당신은 변경할 수 /WEB-INF/classes/alfresco/share-config.xml 파일을 업데이트 할 것 ...

<config> 
    <flags> 
    <client-debug>false</client-debug> 
이 ... 수

<config> 
    <flags> 
    <client-debug>true</client-debug> 

공유를 다시 시작해야합니다 변경 사항이 적용됩니다. 그러면 메인 헤더 메뉴 막대에 "디버그 메뉴"항목이 있음을 알 수 있습니다. 이것을 열면 "Debug Logging"및 "Show All Logs"를 true로 전환하여 로깅을 활성화 할 수 있습니다.

이렇게하면 브라우저 개발자 도구 콘솔에 로깅 결과가 표시됩니다. 로깅 출력을 세밀하게 조정하여 오류나 경고 만 표시하고 특정 로깅 출력과 일치하는 RegEx 표현식을 제공 할 수도 있습니다.

클라이언트 디버그를 사용하면 브라우저에서로드하는 JavaScript 소스가 압축 해제됩니다. 이렇게하면 중단 점을 쉽게 추가 할 수 있습니다.

Surf는 필요한 모듈 소스 코드를 모두 하나의 리소스로 집계하므로 (성능 및 캐싱을 위해) Aikau 소스 파일을 찾고 싶습니다. 가장 쉬운 방법은 "CTRL-P"를 사용하는 것입니다 (Chrome에서) 리소스를 열고 표시되는 상자에 "surf"를 입력하십시오. 이렇게하면 항상 Aikau 소스 코드가 먼저 발견됩니다.

파이어 폭스 용 파이어 버그 (Firebug for Firefox)는 리소스를보다 잘 찾아 낼 수 있으므로 "CTRL-F"를 사용하여 중단하려는 줄에 붙여 넣을 수 있습니다.

정상적으로이 리소스에 중단 점을 추가하면 브라우저에서 중단 점을 중단시킬 수 있습니다.

중단 점을 설정할뿐만 아니라 DebugLog 위젯을 사용할 수도 있습니다. 이 기능은 "디버그 메뉴"에서 토글 할 수 있으며 작성중인 모든 발행 및 구독을 표시합니다.

개발중인 페이지에 위젯과 alfresco/logging/DebugLog 위젯을 직접 포함하고 구성 할 수도 있습니다. 우리는 모든 단위 테스트 페이지에 대해이 방법을 사용합니다. 이는 개발 중에 편리한 접근 방식이 될 수 있으며 개발이 끝나면 제거 할 수 있습니다.

presentation에는 꽤 오래된 디버깅 팁이 포함되어 있습니다 (슬라이드 56 참조).

+0

감사합니다. 그것은 효과가 있었다. –

+0

문제 없음 - 항상 도와 드리겠습니다! 해결책이 만족 스럽다면 투표를하고 투표를 수락하십시오. –

+0

낮은 반품으로 인한 과반수 투표를 허용하지 않습니다. –