- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Template Debugger Usability / Features
Hallo Community,
der Template Debugger hat mir schon oft geholfen, schnell Fehler zu analysieren. Deswegen Danke an e-Spirit fรผr diese Erleichterung. Aber: das Hin- und Hergeschiebe der Fenster nervt ohne Ende oder hat jemand von Euch mal horizontale Scrollbalken gefunden, damit man lรคngere Werte von Variablen auch lesen kann?
Mit dem Template Debugger will ich oft die Generierung simulieren, nur ich finde nirgends eine Mรถglichkeit, den UrlCreator zu konfigurieren, so wie das im GenerateTask geht. Geht das oder muss ich einen Feature-Request aufmachen? Wenn letzteres: vermisst Ihr das auch?
Ich wรผrde mir wรผnschen, dass man im Settings-Bereich ein Stรผck Code pflegen kann, das einfach vorher immer ausgefรผhrt wird. So kรถnnte ich den UrlCreator setzen und evtl. auch den Datensatz, der bei Content-Projektionen verwendet werden soll. Heute helfe ich mir damit, das im Template temporรคr fรผr die Debugging-Session reinzuschreiben. Leider habe ich aber auch schonmal vergessen, den Debug-Code wieder rauszunehmen ...
Gruร Heiko
- Labels:
-
Developers
- Tags:
- debugging
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Heiko, hallo Felix,
ob man sich gerade im Debugger befindet, lรคsst sich auch รผber die Art des aktuellen Contexts herausfinden:
Dann brauchst Du im Skript nicht รผber den TemplateDebuggerService zu gehen, Heiko.
Viele Grรผรe
Donato
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Heiko,
Ich wรผrde mir wรผnschen, dass man im Settings-Bereich ein Stรผck Code pflegen kann, das einfach vorher immer ausgefรผhrt wird.
รผber den TemplateDebuggerService kannst du abfragen, ob der Debugger gerade lรคuft.
Ich wรผrde also empfehlen den Code in das Projekteinstellungstemplate zu รผbernehmen, da darin enthaltener Template-Code auch in der Preview immer vor dem Generieren einer Seite ausgefรผhrt wรผrde. So kรถnntest du dort einfach einen Abschnitt mit TemplateDebugger-Settings machen, die nur gesetzt werden, wenn der Debugger lรคuft.
Beste Grรผรe
Felix
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Idee ist genial. Habe mir ein Skript gemacht:
//!Beanshell
import de.espirit.firstspirit.access.ServicesBroker;
import de.espirit.firstspirit.access.ServiceNotFoundException;
import de.espirit.firstspirit.debugger.client.TemplateDebuggerService;
final ServicesBroker servicesBroker = context.requestSpecialist(ServicesBroker.TYPE);
try {
final TemplateDebuggerService tds = servicesBroker.getService(TemplateDebuggerService.class);
result.setValue(tds.isDebuggerRunning());
} catch (ServiceNotFoundException e) {
return "TemplateDebuggerService not found";
}
Kriege allerdings einen Fehler:
ERROR (Script 'debug_stuff' (id=1289446) at 0, 0): at 0, 0: Script 'debug_stuff' (id=1289446) - Typed variable declaration : Class: TemplateDebuggerService not found in namespace : at Line: 9 : in file: inline evaluation of: ``__execute() { //!Beanshell import de.espirit.firstspirit.access.ServicesBroker; . . . '' : TemplateDebuggerService
Und Zeile 9 ist:
final TemplateDebuggerService tds = servicesBroker.getService(TemplateDebuggerService.class);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hmm, schade.. Bin einfach davon ausgegangen, dass der Service normal verfรผgbar ist. Habe aber gerade in die module.xml des fs-debugger.fsm geschaut und leider sind die Klassen nur im Modul verfรผgbar. Der einzige Weg รผber die API wรคre dann wohl nur noch den Status des Debugger-Fensters abzufragen --> Alles andere als schรถn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Heiko, hallo Felix,
ob man sich gerade im Debugger befindet, lรคsst sich auch รผber die Art des aktuellen Contexts herausfinden:
Dann brauchst Du im Skript nicht รผber den TemplateDebuggerService zu gehen, Heiko.
Viele Grรผรe
Donato
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey Donato,
cool, vielen Dank fรผr die Info!
Gruร
Felix
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Felix,
ist deine Frage damit beantwortet oder benรถtigst du noch weitere Hilfe?
Sollte deine Frage beantwortet sein, wรคre es super, wenn du Donatos "richtige Antwort" entsprechend markierst.
Viele Grรผรe
Michaela
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michaela,
die Frage war von Heiko. Ich konnte Donatos Antwort somit nur als hilfreich und nicht als richtig markieren /abschlieรen.
Gruร
Felix
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke Donato, der Tipp ist super. Dieses Stรผck Code in der Seitenvorlage der Project Settings habe ich fรผr meine Zwecke eingebaut:
$CMS_IF(#global.class.name.contains("Debugger"))$
$CMS_VALUE(#global.logInfo("Running in Debugger"))$
$-- for the Developer: put in here code to be executed for your debugging session, e.g. set variables --$
$CMS_END_IF$

