2016-09-08 4 views
3

In Alfresco Share wird die Suchseite mit Aikau implementiert. Ich interessiere mich für die allgemeinere Frage, ist es möglich, Aikau Widgets zu debuggen?Alfresco Aikau Debugging

Ich habe gründet einige Links zu diesem Thema, aber sie mehr über die Protokollierung sprechen und nicht unbedingt die Javascript-Debugging:

Angenommen, ich habe folgendes Aikau Widget im Freien/search/AlfSearchResult und die folgende Methode darin:

/** 
 
     * 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); 
 
     }

Gibt es eine Möglichkeit, einen Breakpoint einfügen könnte und die Ausführung an der Linie stoppen, wo this.currentItem verwendet wird, um für mich ist es Eigenschaften zu bewerten?

Antwort

4

Ja, es gibt mehrere Möglichkeiten, wie Sie Aikau debuggen können ... das erste, was Sie tun müssen, ist sicherzustellen, dass Sie den Modus "client-debug" aktiviert haben (entweder in Share oder in Ihrem benutzerdefinierten Aikau) Klient).

Zum Beispiel in Teilen Sie würden wollen die /WEB-INF/classes/alfresco/share-config.xml Datei aktualisieren, zu ändern:

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

... sein ...

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

Sie benötigen Teilen neu starten damit die Änderungen wirksam werden. Sie werden dann sehen, dass Sie einen "Debug-Menü" -Eintrag in der Hauptüberschrift-Menüleiste haben. Wenn Sie dies öffnen, können Sie die Protokollierung aktivieren, indem Sie "Debug Logging" und "Show All Logs" aktivieren.

Dies führt dazu, dass die Protokollausgabe in Ihrer Browser-Entwickler-Tools-Konsole angezeigt wird. Sie können die Protokollierungsausgabe auch so optimieren, dass nur Fehler oder Warnungen angezeigt werden und ein RegEx-Ausdruck bereitgestellt wird, der bestimmten Protokollausgaben entspricht.

Wenn Client-Debug aktiviert ist, wird die vom Browser geladene JavaScript-Quelle unkomprimiert. Dies wird Ihnen das Hinzufügen von Breakpoints erleichtern.

Da Surf den gesamten benötigten Quellcode des Moduls in einer einzigen Ressource zusammenfasst (aus Performance- und Caching-Gründen), sollten Sie die Aikau-Quelldatei finden - der einfachste Weg dazu ist "CTRL-P" (in Chrome), um eine Ressource zu öffnen und "surf" in die angezeigte Box einzutippen - dies wird immer zuerst den Aikau-Quellcode finden.

Firebug für Firefox behandelt die Suche über Ressourcen besser, so können Sie einfach "STRG-F" verwenden und dann in die Zeile einfügen, die Sie unterbrechen möchten.

Sie können Haltepunkte in dieser Ressource wie gewohnt hinzufügen, und der Browser wird sie unterbrechen.

Sie können nicht nur Breakpoints setzen, sondern auch das DebugLog-Widget. Dies kann vom "Debug-Menü" umgeschaltet werden und zeigt alle Publikationen und Abonnements, die gemacht werden.

Es ist auch möglich, die Widgets alfresco/services/LoggingService und alfresco/logging/DebugLog direkt in Ihre Seite aufzunehmen und zu konfigurieren, während Sie entwickeln. Diesen Ansatz verfolgen wir für alle unsere Unit-Test-Seiten. Dies kann ein praktischer Ansatz während der Entwicklung sein und sie können entfernt werden, wenn Sie mit der Entwicklung fertig sind.

Diese presentation obwohl ziemlich alt, enthält auch einige nützliche Debugging-Tipps (siehe Folie 56 weiter).

+0

Vielen Dank! Es funktionierte. –

+0

Kein Problem - immer gerne helfen! Wenn Sie mit der Lösung zufrieden sind, können Sie diese abstimmen und als akzeptiert markieren. –

+0

Erlaubt es mir nicht, wegen niedriger Repos abzustimmen –