Hallo Community,
es geht um die FirstSpirit Version 5.0.510.62658 - im Speziellen um das WebEdit.
Wir haben in einem Formular zwei Felder, deren Werte über den ValueService gesetzt werden.
Im Client funktioniert das natürlich gut:
Im WebEdit ist uns aufgefallen, dass der ValueService Requests "ohne Ende" abfeuert und entweder "irgendwann" einen Rückgabewert schreibt oder irgendwann den Browser aufgrund der Masse an Requests blockiert (1823 Requests in diesem Bild - Chrome spielt da gerade noch so mit...).
Aber es gibt auch Momente, in denen die Werte sauber im WebClient zurück kommen (allerdings nach ca. 5-10 Sekunden, bei geschlossenem Developer-Tools):
Bei geöffneten Developer-Tools (oder Firebug im FF) ist irgendwann der Browser blockiert.
Aber es gibt auch Momente, in denen nur die Hälfte erledigt wird:
Da in diesem Fall keine Developer-Tools im Chrome geöffnet waren, haben wir die Requests per LiveHeader-Erweiterung "gezählt" und bei 4200 Requests abgebrochen.
Leider haben wir nicht rausbekommen, welche Umstände dazu führen, dass "Text value" mal geschrieben und warum mal nicht.
Die Formular-Felder sehen so aus:
<CMS_INPUT_TEXT name="tt_textvalue" editable="yes" hFill="yes" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Text value"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
<CMS_INPUT_NUMBER name="tt_numbervalue" editable="yes" hFill="yes" hidden="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Number value"/>
</LANGINFOS>
</CMS_INPUT_NUMBER>
Die Regeln dazu so:
<ON_EVENT>
<SCHEDULE service="DynamicForms" id="a" delay="0">
<CONDITION>
<AND>
<PROPERTY source="tt_numbervalue" name="EMPTY"/>
</AND>
</CONDITION>
<PARAM name="event"><TEXT>GET_PROJECTID</TEXT></PARAM>
</SCHEDULE>
<DO>
<PROPERTY source="tt_numbervalue" name="VALUE"/>
</DO>
</ON_EVENT>
<ON_EVENT>
<SCHEDULE service="DynamicForms" id="x" delay="2">
<CONDITION>
<AND>
<PROPERTY source="tt_textvalue" name="EMPTY"/>
</AND>
</CONDITION>
<PARAM name="event"><TEXT>GET_PROJECTNAME</TEXT></PARAM>
</SCHEDULE>
<DO>
<PROPERTY source="tt_textvalue" name="VALUE"/>
</DO>
</ON_EVENT>
Der Typ des Rückgabewertes vom ValueService für tt_textvalue ist String und der Typ für tt_numbervalue ist Long.
Für event="GET_PROJECTNAME" liefert der ValueService lediglich den projectName von WebeditUiAgent.getPreviewElement().getProject().getName() zurück und für event="GET_PROJECTID" liefert der ValueService eine fs_id eines Datensatzes zurück (Long).
Wir haben erwartet, dass der ValueService einen Request abschickt und wenigstens die Antwort abwartet - aber stattdessen scheint er jeweils "stur" die Regel auszuführen - womit er zwar Recht hat, sich aber im Zweifel irgendwann aufhängt.
Könnte es ein Bug sein - immerhin funktioniert es ja ab und zu?
Oder könnnen wir was tun, dass der ValueService im WebEdit nur einmal ausgeführt wird?
Danke für Eure Antworten und Ideen!