- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Generierungsauftrag - Setzen von Variable und Auslesen in den Projekteinstellungen
Hallo zusammen,
ich bin wie in Zugriff auf Variablen in der Auftragsplanung vorgegangen.
ich habe รผber den Variablen-Tab in der Generierungsaktion eine Variable gesetzt:
Auf diese greife ich wie folgt in den Projekteinstellungen zu:
$CMS_SET(void,#global.logWarning("job_isDebugEnabled: " + job_isDebugEnabled))$
Im Log bekomme ich dann folgende Meldung:
WARN 16.04.2018 09:15:34.773 (de.espirit.firstspirit.generate.SiteProduction): job_isDebugEnabled: null
Wir nutzen folgende Version:
FirstSpirit SiteArchitect 5.2.905.76007
Version Server: 5.2.905.76007
Java Version: 1.8.0_121 32bit Oracle Corporation
Betriebssystem: Windows 10 10.0 x86
Hat hier jemand noch eine Idee?
Gruร
Christian
PS
In der Dokumentation zu dieser Version findet man im Kapitel "9.6.4 Konfiguration des Generierungsauftrags" (immernoch) keinen Hinweis zur Verwendung der Variablen.
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Deine Vermutung ist korrekt. Im Seitentemplate ist die Variable sichtbar.
Was aber dieses Feature irgendwie absurd macht, da es dann ja nicht fรผr "Einmal-Einstellungen" in den Projekteinstellungen zu verwenden ist.
Gelรถst habe ich das wie folgt:
Zusรคtzliche Aktion "Script ausfรผhren" vor der Aktion "Generierung ausfรผhren" mit folgendem Code eingefรผgt:
context.setProperty("context_isDebugEnabled", true);
Und Folgender Schnipsel in die Projekteinstellungsseite:
$-- please overrite this value by using script task and set context variable "context_isDebugEnabled", example: context.setProperty("context_isDebugEnabled", true); --$
$CMS_SET(set_isDebugEnabled, if(#global.scheduleContext.getProperty("context_isDebugEnabled").isEmpty, false, #global.scheduleContext.getProperty("context_isDebugEnabled")))$
$CMS_SET(#global.debugMode, set_isDebugEnabled)$
$CMS_SET(void,
if(set_isDebugEnabled,
#global.logWarning("debug mode ON - do not use this in production"),
#global.logInfo("debug mode OFF")))$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
an welcher Stelle schaust du Dir aktuell die Log-Meldung an? In der Vorschau oder ist das eine Logausgabe wรคhrend der Generierung/der Ausfรผhrung des Auftrages?
Gruร,
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In das Log des Generierungsauftrages.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kannst du dir mal die Variable in einer Seite ausgeben? Ich vermute, im Kontext der Projekteinstellungsseite sind die Variablen noch nicht verfรผgbar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Deine Vermutung ist korrekt. Im Seitentemplate ist die Variable sichtbar.
Was aber dieses Feature irgendwie absurd macht, da es dann ja nicht fรผr "Einmal-Einstellungen" in den Projekteinstellungen zu verwenden ist.
Gelรถst habe ich das wie folgt:
Zusรคtzliche Aktion "Script ausfรผhren" vor der Aktion "Generierung ausfรผhren" mit folgendem Code eingefรผgt:
context.setProperty("context_isDebugEnabled", true);
Und Folgender Schnipsel in die Projekteinstellungsseite:
$-- please overrite this value by using script task and set context variable "context_isDebugEnabled", example: context.setProperty("context_isDebugEnabled", true); --$
$CMS_SET(set_isDebugEnabled, if(#global.scheduleContext.getProperty("context_isDebugEnabled").isEmpty, false, #global.scheduleContext.getProperty("context_isDebugEnabled")))$
$CMS_SET(#global.debugMode, set_isDebugEnabled)$
$CMS_SET(void,
if(set_isDebugEnabled,
#global.logWarning("debug mode ON - do not use this in production"),
#global.logInfo("debug mode OFF")))$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Was aber dieses Feature irgendwie absurd macht, da es dann ja nicht fรผr "Einmal-Einstellungen" in den Projekteinstellungen zu verwenden ist.
Der Einsatz-Zweck ist Variablen zu รผberschrieben, die im Struktur-Root-Knoten gesetzt sind.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Peter,
dann bitte das in eurer Dokumentation auch genauso beschreiben.
Eine weitere Ergรคnzung, dass die Variablen nicht in den Projekteinstellungen zur Verfรผgung stehen, wรคre sicherlich ebenfalls hilfreich.
Oder ihr denkt ggf. darรผber nach sie auch dort verfรผgbar zu machen.
Meine Stimme habt ihr! ^^
Gruร
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
Meine Stimme habt ihr! ^^
Das ist ja ein valider Einsatzzweck, da kann ich mir gut vorstellen, dass da noch mehr Stimmen fรผr einsammeln kannst.
Wichtig ist halt, das beide Einsatzzwecke funktionieren.
Stell doch bitte einen Feature-Request dafรผr ein. Du kannst dabei auf diese Diskussion verweisen und das Ticket CORE-7867 referenzieren.
Den Hinweis fรผr die Dokumentation nehme ich davon unabhรคngig gerne auf.
Danke und Gruร,
Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Peter,
ist hier zu finden: Generierungsaktionsvariable in den Projekteinstellungen verwenden
Gruร
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Auch wenn es schon eine Weile her ist, ich hatte dies fรผr mich einmal so lรถsen kรถnnen, um in den Projekteinstellungen an die entsprechenden Variabeln zu kommen:
- //Abruf
- $CMS_SET(generationContextVars,{:})$
- $CMS_FOR(var,#global.scheduleContext().getTask().getVariables())$
- $CMS_SET(void,generationContextVars.put(var.getKey(),var.getValue()))$
- $CMS_END_FOR$
- //Zugriff
- $CMS_VALUE(generationContextVars.dv_varName)$
Funktioniert natรผrlich nur, wenn eine Generierung lรคuft; fรผr die Vorschau sollte mit $CMS_IF(#global.preview)$ noch eine Alternative eingebaut werden.
Gruร,
Renรฉ

