- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Strukturvariable in einer Regel - ValueService
Hallo Community,
ich habe in einem Beitrag gelesen, dass man anhand eines ValueService Strukturvariabeln in Regeln einbeziehen kann. (FS5 Rules: Werte von Projekt- und Strukturvariablen auswerten )
Leider wird nicht erklรคrt, wie man auf eine Strukturvariable zugreifen kann.
Die Strukturvariable als Parameter รผbergeben funktioniert logischerweise nicht, da man ja ansonsten direkt in der Regel den Wert prรผfen kรถnnte.
Trotzdem habe ich es probiert. Hier wird der ValueService erst gar nicht mehr aufgerufen. ss_unique_microsite_name ist die Strukurvariabel
....
<SCHEDULE delay="10" id="x" service="Strukturvariable">
....
<PARAM name="unique_microsite_name">
<PROPERTY name="VALUE" source="ss_unique_microsite_name"/>
</PARAM>
</SCHEDULE>
Der erstelle ValueService funktioniert auf jeden Fall, da bei einem Testparamater der ValueService richtig aufgerufen wird.
<PARAM name="unique_microsite_name">
<TEXT>test</TEXT>
</PARAM>
Wahrscheinlich muss ich รผber einen Agent im ValueService, den ich durch den SpecialistsBroker bekomme, auf die Variabel zugreifen.
Hat jemand eine Idee wie ich am besten dran komme?
Liebe Grรผรe Marcel
- Labels:
-
Developers
-
Knowledgebase
-
Project Usage
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Lena,
danke fรผr den Hinweis! Wir nutzen einen Tomcat und dort waren natรผrlich die Logs vorhanden. Danke sehr!
Zu dem eigentlichen Problem, welches ich mittlerweile lรถsen konnte:
Der Code oben funktioniert, nur liefert der WebeditUiAgent, je nachdem wie ich auf die Seite springe, andere Werte:
Ich hatte in meinem Lehrerverzeichnis eine Section (im SiteArchitekten) abgespeichert. Hierรผber bin ich auf die Seite im ContentCreator gesprungen. Wenn ich nun auf diese Seite mit diesem Sprung den ValueService aufrufe, funktioniert mein Code nicht. Wenn ich den รผber einen Link auf der Seite im ContentCreator auf die Seite gehe und somit auf die PageRef, dann funktioniert alles prima. Wenn ich die Seite als Lesezeichen hinzufรผge und auf die Seite hierrรผber springe, dann funktioniert es ebenfalls problemlos
Also kurz zusammengefasst:
Der obige Sprung auf die Seite -> Code funktioniert nicht
Der untere Spring auf die Seite -> Code funktioniert.
Das Verhalten finde ich etwas komisch, da ich beim ContentCreator die Sektionen nicht wirklich erkenne und somit auch nicht weiร in welcher Sektion ich mich evtl. gerade auf der Seite im ContentCreator befinde. Erwarten wรผrde ich: egal wie ich auf die Seite gekommen bin -> ich liefere die gleichen Werte dem ValueService bzw. den Brokern.
Viele Grรผรe
Marcel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Keiner eine Idee?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcel,
meines Wissens kommst du รผber SiteStoreFolder.getFormData an Strukturvariablen. D. h. sobald du in deinem Service an einen Ordner in der Strukturverwaltung kommst, kannst du รผber die genannte Methode seine Variablen auslesen.
Ich hoffe das hilft dir weiter.
Viele Grรผรe
Tim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Tim,
danke fรผr den Hinweis. Ich konnte Erfolgreich anhand des SpecialistsBroker die Strukturvariable im SiteArchitekten abfragen.
.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zugriff auf eine Sturkturvariable im ContentCreator รผber einen ValueService:
Im SiteArchitekten kann ich รผber den ValueService die Strukturvariable erhalten.
Im ContentCreator irgendwie nicht. Problem:
public static IDProvider getElement(final SpecialistsBroker specialistsBroker) {
//##################### ContentCreator #####################
WebeditUiAgent webeditUiAgent = specialistsBroker.requestSpecialist(WebeditUiAgent.TYPE);
if (webeditUiAgent != null) {
return webeditUiAgent.getPreviewElement();
}
//##################### SiteArchitect #####################
ServicesBroker serviceAgent = specialistsBroker.requireSpecialist(ServicesBroker.TYPE);
if (serviceAgent != null) {
return serviceAgent.getService(ClipboardService.class).getCurrentElement();
}
}
Hierรผber erhalte ich ein IDProvider, der vom Typ PageRef ist. Von diesem Objekt kann ich leider kein getParentFolder() oder getParent() aufrufen, da sonst ein Fehler getriggert wird. Somit komme nicht in an die Strukturvariable.
(Im SiteArchitekten habe ich eine Sektion bekommen, von der ich die PareRef erhalten konnte und darรผber den ParentFolder)
Ich kann leider auch nicht sagen welcher Fehler geschmissen wird, da sich Log-Ausgaben nicht in der fs-server.log befinden. Ich rufe wie folgt den Logger auf:
private static final Class<?> LOGGER = MicrositeSiteStoreVariable.class;
Beispiel:
Logging.logError("currentElement " + currentElement, LOGGER);
Wo werden die Loginformationen geloggt? (Im Beitrag FS5 Rules: Werte von Projekt- und Strukturvariablen auswerten wurde das Problem schon mal erwรคhnt, jedoch nicht beantwortet bzw. gelรถst)
Im SiteArchitekten wird ein logError als Fehlerereigniss geschmissen. Da konnte ich den Fehler direkt im SiteArchitekten sehen.
Liebe Grรผรe
Marcel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcel,
wo deine Logs landen, hรคngt davon ab wie der ContentCreator betrieben wird. Wenn du den internen Jetty verwendest (das passiert normalerweise, wenn du FirstSpirit lokal hochfรคhrst), dann landen die Logs auch mit in der fs-server.log. Wenn du allerdings einen extra Webserver benutzt um die Webapps laufen zu lassen, musst du in die Logs des Webservers schauen.
Viele Grรผรe,
Lena
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Lena,
danke fรผr den Hinweis! Wir nutzen einen Tomcat und dort waren natรผrlich die Logs vorhanden. Danke sehr!
Zu dem eigentlichen Problem, welches ich mittlerweile lรถsen konnte:
Der Code oben funktioniert, nur liefert der WebeditUiAgent, je nachdem wie ich auf die Seite springe, andere Werte:
Ich hatte in meinem Lehrerverzeichnis eine Section (im SiteArchitekten) abgespeichert. Hierรผber bin ich auf die Seite im ContentCreator gesprungen. Wenn ich nun auf diese Seite mit diesem Sprung den ValueService aufrufe, funktioniert mein Code nicht. Wenn ich den รผber einen Link auf der Seite im ContentCreator auf die Seite gehe und somit auf die PageRef, dann funktioniert alles prima. Wenn ich die Seite als Lesezeichen hinzufรผge und auf die Seite hierrรผber springe, dann funktioniert es ebenfalls problemlos
Also kurz zusammengefasst:
Der obige Sprung auf die Seite -> Code funktioniert nicht
Der untere Spring auf die Seite -> Code funktioniert.
Das Verhalten finde ich etwas komisch, da ich beim ContentCreator die Sektionen nicht wirklich erkenne und somit auch nicht weiร in welcher Sektion ich mich evtl. gerade auf der Seite im ContentCreator befinde. Erwarten wรผrde ich: egal wie ich auf die Seite gekommen bin -> ich liefere die gleichen Werte dem ValueService bzw. den Brokern.
Viele Grรผรe
Marcel

