Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Professional: Suggestions > Manuelles Datengruppenereignis

Manuelles Datengruppenereignis

Hallo liebes UP-Team,

Es wäre schön, wenn man von einer Ansichts- oder Eingabeseite aus ein Datengruppenereignis per JavaScript auslösen könnte, so wie man ein UserWorkflowEvent auslöst. Der Unterschied wäre, dass bei dem DG-Ereignis der Bezug zum betrachteten/bearbeiteten Datensatz hergestellt wäre. Man könnte also hinter das Ereignis im Prozessmanager Datengruppenaktionen hängen, in Groovy-Skripten wäre g_record definiert usw.

Anwendungsbeispiel: ich bin auf einer Bearbeitungsseite der Elterndatengruppe. Ich möchte bei Knopfdruck ohne weitere Angaben ein Element der Kinddatengruppe hinzufügen, ohne das Elternelement zu verändern. Im Moment (Intrexx 5.1) habe ich folgende Möglichkeiten:
[list=1]
  • UserWorkflowEvent mit Übergabe der Elternelement-ID als Requestparameter. Die Datensatzerstellung dahinter muss dann gegroovyt werden, was umständlich ist und wobei gerade das Erstellen der neuen GUID unsicher ist (sprich: wird der SQL-Ausdruck "MAX (ID) + 1" bei gleichzeitigen Zugriffen Konflikte ergeben? Oder wird eine zukünftige Intrexx-Version vielleicht eine ganz andere Methode der ID-Erstellung verwenden?)
  • Den Knopf zu einem "Save"-Button machen und auf das DG-Ereignis "UPDATE" reagieren. Das hat eine unnötige UPDATE-Datenoperation zur Folge, für welche der Benutzer auch u.U. gar nicht die Berechtigung hat.
  • Verweis auf eine neue Eingabeseite unterhalb der Kinddatengruppe mit Autoklick auf den (einzigen) Save-Button. Mal abgesehen davon, dass diese Technik überflüssige Requests zur Folge hat, funktionieren sie auf manchen Browsern gar nicht (z.B. unsere BlackBerries).
    [/list]
    Super wäre neben den DG-Ereignissen "insert", "update" und "delete" also eine vierte Variante "manual" o.ä., die per Skript ausgelöst werden könnte.
  • 19.01.2011 14:20 von Raw
    Hallo Raw,

    ihre Anregung wurde als Feature-Request aufgenommen.

    Viele Grüße,
    Alexander Veit
    20.01.2011 16:58 von Alexander Veit
    Finde ich klasse! Hoffentlich kommt das bald. Zusammen mit der Erzeugung von Rückgabewerten würde das eine richtig gute Anwendungssteuerung durch Prozesse ermöglichen.

    Am besten sollte so ein "manuelles" Ereignis nicht nur per Javascript ausgelöst werden können, sondern auch direkt als Aktionstyp für einen Button eingestellt werden können (neben "Save" und "Delete" auch "Touch" oder so ähnlich)

    Noch eine Erweiterung wäre sehr hilfreich: innerhalb eines Prozesses sollten weitere "manuelle" DG-Ereignisse für andere Datengruppen ausgelöst werden können, z.B. für alle Kinddatensätze, die einem angegebenen Filter entsprechen. Im Grunde wäre das genau wie ein globaler Timer, bei dem ja auch eine beliebige Quelldatengruppe und ein Filter angegeben werden kann. Nur dass das Ereignis eben nicht zeitlich, sondern durch einen anderen Prozess ausgelöst wird.
    Die "Data Group Timer Action" taugt dafür nicht, weil sie auf die Quelldatengruppe ihres Prozesses beschränkt ist.

    Ein Anwendungsbeispiel wäre die Duplizierung eines Datensatzes. Wenn die Kopie des Basisdatensatz erzeugt wurde, könnte ein generisches Ereignis für alle Kinddaten des Quelldatensatzes ausgelöst werden. Die Ereignisbehandlung könnte dann den jeweiligen Kinddatensatz kopieren und an die schon erzeugte Kopie des Basisdatensatz anhängen.

    Bis jetzt muss man das mit Groovy machen. Das ist ein bisschen schade, weil sich gerade solche einfachen Prozesse normalerweise sehr gut mit den Intrexx-Bordmitteln abbilden lassen.
    25.08.2011 14:56 von Raw
    Um das ganze nochmal auzuwärmen:

    Dies ist eine, so denke ich, typische Anwendung die so eine "Touch Record" Datengruppenaktion verwenden könnte: die Duplizierung eines Datensatzes inklusive Unterdatensätzen, und das ganze ohne bzw. mit minimalem Groovy-Geskripte. Dies ist eine Anfrage, die bei uns bei so gut wie jeder Anwendung angefragt wird. Da es kein generisches DG-Ereignis gibt, muss ich den Benutzern oftmals unnötig viele Berechtigungen geben, also "alles Schreiben" anstatt "nur eigene schreiben".

    Übrigens: klar kann man das mit Groovy umgehen, aber ich bevorzuge diese ungroovige Methode, weil das einfach leichter und schneller zu verwalten und zu debuggen ist.

    Grüßle,
    Roland
    28.01.2013 11:07 von Raw
    Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

    Über United Planet
    © 2019 United Planet GmbH
    Schnewlinstraße 2
    79098 Freiburg