Ich habe gefühlt hunderte von Events die ich über die Zeit alle manuell angelegt habe und die das darüber liegende Skript triggern.
Mir ist jetzt aufgefallen das diese Events die bekannte Warnmeldung „Keine Aktion definiert“ auslösen.
Wenn ich den gleichen Event neu anlege ist diese Warnmeldung weg.
Daraus schließe ich das SYMCON beim upgrade auf die 6.0 nichts tut um bei bestehenden Events die Aktion : „darüber liegendes Skript ausführen“ automatisch einzutragen.
Das heißt das ich mir jetzt ein Program schreiben muss um alle Events darauf zu untersuchen ob eine Aktion eingetragen ist und falls das nicht der Fall ist den Event um die Information zu ergänzen
Kann mir jemand vom Symcon Team bestätigen das das der Fall ist ?
Die Ereignisse werden alle beim Upgrade auf die 6.0 konvertiert und mit Aktion versehen. Das passiert aber nicht mehr im Nachhinein. Vielleicht hast du nach dem Upgrade ja noch weiter Ereignisse erstellt und diesen anfangs keine Aktion zugewiesen? Oder du warst schon bei einer sehr frühen 6.0 Beta mit dabei, bei der es die Konvertierung noch nicht gab?
Aber ja, mit einem passenden Skript könntest du das beheben, wenn du deine neu angelegten Ereignisse schon korrekt mit Aktion versehen werden.
Mit „der vorherigen aktuellen Stable“ meinst du die letzte 5.5, denke ich? Denn die 6.0 ist ja schon ein bisschen länger als Stable draußen. Ich bin dann mal dran und schaue, was ich finde.
Stimmt, wenn ich dir weitere infos über die events liefern soll sag bescheid. Ich werde mir auch noch mal die relevanten events anschauen um ganz sicher zu gehen das diese nicht nach dem upgrade fehlerhaft erstellt wurden
Ich kann bestätigen, dass alle bisher existierenden Ereignisse beim Update der letzten 5.5 Stable auf die erste 6.0 Stable automatisch konvertiert wurden.
Skripte, in denen ich ein Ereignis erstelle, musste ich um die im Changelog angegebene Zeile ergänzen.
Ich habe mir die events noch mal angeschaut und es gibt jetzt doch einen Hinweis (Die Events mit Warnung im Log von gestern z.b. sind alle gelöscht) das ich die betreffenden Events selbst generiere. Ich weiß leider im Moment noch nicht wo
Es ist eigentlich offensichtlich aber der vollständigkeitshalber : Events denen beim erstellen keine Aktion zugeordnet wurden (ich nutze diese events nur um eine Datums/Uhrzeits Eingabe schnell und komfortable zu ermöglichen) wurden beim upgrade nicht mir einer AktionsID versehen (geht ja auch nicht da es keine gültige AktionsID dafür gibt)
Ich frage mich nur ob das irgendwann einmal zu einem Problem führt falls die Warnungen durch einen Fehler abgelöst werden.
Gab es früher nicht.
Es würde dann z.b. das übergeordnete Script ausgeführt oder ein hinterlegte php-Code, auch wenn der Code ‚nichts‘ gemacht hat.
Für beides gibt es Aktionen und beides sollte bei beim Update automatisch konvertiert worden sein.
Sonst musst du dort jetzt das Event in der Konsole berabeiten und diese Aktion per Hand hinzugefügt (z.B. Führe PHP-Code aus).
Dann sind auch alle Warnungen weg.
Michael
Also ich hab da auch so ein „Phänomen“. Das könnte beim Update bzw. bei den Betaphasen dazwischen passiert sein.
Es gibt einen Eintrag im Statusprotokoll - somit ist irgend etwas faul:
Wenn ich nun aber diesen Event ansehe so würde dieser korrekt aussehen:
Ich bekomme es auch nicht hin dass die Meldung nicht mehr erscheint.
Ebenfalls werden die Events 48466 und 32674 bemängelt. Diese haben das gleiche Script eingetragen.
Der Fehler muss schon vorher gewesen sein.
Du hast im Script einfach ein Leerzeichen/Leerzeile außerhalb der PHP Tags.
Das hat nix mit IPS6 zu tun.
Michael
Kleiner Einspruch.
Es wird der Event und nicht das Script bemängelt - oder sehe ich das falsch?
Das Script kann ich auch ohne Fehler laufen lassen.
Ich weiß auch was du meinst aber da ist nichts außerhalb:
Eine Ausgabe von Script (alles außerhalb vom PHP Tags, echo, Print usw…) wird als Fehler bewertet.
Wenn jetzt das Script durch ein Ereignis ausgeführt wird, kommt diese Ausgabe als Result und somit als Warnung im Log mit dem Verweis aus das Ereignis welches dieses Script gestartet hat.
Lösch einfach Mal den schließenden PHP Tag. Der ist eh unnötig.
Und prüfe ob vor dem öffnende Tag kein anderes Zeichen ist.
Michael
Au Backe - ich spiel jetzt gleich Zwergenschach mit mir !
Es war doch tatsächlich ein Leerzeichen VOR dem einleitenden PHP Tag.
Hinweis:
Auslöser der Suchaktion war der Hinweis im letzten Webinar dass es eigentlich keine gelben Statusmeldungen geben sollte. Also bin ich denen auf den Grund gegangen.