Prozesslogik parallele Verarbeitung

Hilfe zu OTRS Problemen aller Art
Post Reply
StefanP
Znuny newbie
Posts: 46
Joined: 14 Jan 2010, 18:16
Znuny Version: 6.0.30
Real Name: Stefan
Company: Pachlina

Prozesslogik parallele Verarbeitung

Post by StefanP »

Hallo und guten Morgen,

ich bin dabei einen Prozess in OTRS abzubilden, doch es hapert und hoffe auf eure Hilfe :)

Prozessdefinition:
Ein Dialog stellt ein Formular zur Verfügung, in dem ua. mehrere Kontrollkästchen an- und abwählbar sind - dieses wird ausgefüllt uns abgesendet (innerhalb OTRS).
Je nach aktivierten Kontrollkästchen sollen nun nach Genehmigung durch einen weiteren Dialog, parallel weitere Tickets ausgelöst werden, insofern die Abfrage des Inhaltes der Kontrollkästchen (0/1) gegeben ist oder eben nicht.

Siehe Anhang als visiuelle Erläuterung.

Ablauf:
1) Der Kunde füllt das Formular aus und wählt zB. A=1, B=0, C=1, D=0
2) Die Prozessverarbeitung startet, das Formular wird nochmals vom Agent betrachtet und in unserem Fall über einen weiteren Dialog genehmigt.
3) Es werden anhand von Übergängen und darin befindlichen Abfragen und Aktionen weitere Tickets ausgelöst, je nach gewählten Kontrollkästchen aus dem ersten Dialog.

... und bei Punkt 3 habe ich das Problem, dass die Übergänge nicht parallel abgearbeitet werden. Der letzte von mir im Prozess definierte Übergang wird verwendet und je nach Selektion wird ein Ticket eröffnet oder nicht ... aber eben nur eines, da anscheinend der Prozess einen Weg enschlägt und dort verharrt, anstatt alle Übergänge auszulösen.

Ist dies so von OTRS designed? ... kann immer nur ein Weg bei "positiv" abgearbeitet werden?
Wenn ja, müsste ich sehr viele Abfragen einbauen:
Wenn A=1 und B=0 und C=0 und D=0 dann erstelle Ticket A
Wenn A=1 und B=1 und C=0 und D=0 dann erstelle Ticket A und B
Wenn A=1 und B=1 und C=1 und D=0 dann erstelle Ticket A und B und C
.....
Bei 4 Kontrollkästchen sind das 15 Möglichkeiten (excl. keine Wahl) .... doch leider habe ich aktuell 8 ... also 255 Möglichkeiten (und es werden vermutlich 10 ... also 1023 Möglichkeiten).

... oder sollte die parallele Verarbeitung sehr wohl funktionieren, doch ich habe einen Fehler im Prozess?
Hat hierbei jemand Erfahrung?

Danke
Stefan
You do not have the required permissions to view the files attached to this post.
wurzel
Znuny guru
Posts: 3224
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: Prozesslogik parallele Verarbeitung

Post by wurzel »

Hi,

ja du hast ewig Möglichkeiten.

Ich löse das, indem ich immer 4 Tickets erstelle, die Werte A, B, C, D je Ticket mitnehme und dann einen Generic Agent drüberjagen lasse und dann enstprechend gleich schließe/öffne/sonstwasmache

Unschön, aber wenigstens nur 4 Generic Agents.


viele Grüße
Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
StefanP
Znuny newbie
Posts: 46
Joined: 14 Jan 2010, 18:16
Znuny Version: 6.0.30
Real Name: Stefan
Company: Pachlina

Re: Prozesslogik parallele Verarbeitung

Post by StefanP »

Hallo,

hmmmm ..... ich erstelle Tickets um einige davon gleich danach mittels Event-Trigger wieder zu löschen?
Da gebe ich dir vollkommen recht - es ist unschön :(
Danke für deine Info.

Da gibt es doch sicher eine bessere Variante.
Kann doch nicht sein ... hoffe ich jedenfalls. *grübel*

LG
Stefan
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: Prozesslogik parallele Verarbeitung

Post by reneeb »

Ich habe mal ein (kommerzielles) Modul geschrieben, das bei der Transitionsaktionen ein TicketCreate unter bestimmten Bedingungen macht. Da könnte man für jedes Feld eine Aktion machen und als Bedingungen machen, dass das Feld gesetzt ist. Es wäre also in dem Beispiel vier Transitionsaktionen...
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
wurzel
Znuny guru
Posts: 3224
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: Prozesslogik parallele Verarbeitung

Post by wurzel »

Hi,

dann komm' ich auch mit "komerziellem Modul" :D
die OTRS7 kann das gewünschte bzw. löst es eleganter. 8)

und ich vermute dass man mit WebServices auf localhost ähnliches machen kann. Da kenn ich mich aber ned aus und ist sicher auch "unschön"

viele Grüße
Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
StefanP
Znuny newbie
Posts: 46
Joined: 14 Jan 2010, 18:16
Znuny Version: 6.0.30
Real Name: Stefan
Company: Pachlina

Re: Prozesslogik parallele Verarbeitung

Post by StefanP »

wurzel wrote: 05 Feb 2019, 13:46 Hi,

ja du hast ewig Möglichkeiten.

Ich löse das, indem ich immer 4 Tickets erstelle, die Werte A, B, C, D je Ticket mitnehme und dann einen Generic Agent drüberjagen lasse und dann enstprechend gleich schließe/öffne/sonstwasmache

Unschön, aber wenigstens nur 4 Generic Agents.


viele Grüße
Flo
Ja gut, es gibt wohl keine andere Möglichkeit aktuell für mich, daher habe ich es über den GenericAgent umgesetzt wie von die empfohlen .... was soll ich sagen ... es funktioniert .... doch leider gibt es ein Problem :D
Die CreateTicket Anweisung aus dem Prozess erfolgt mit dem Schlüssel LinkAs Child.
Wie kann ich es mit dem GenericAgent anstellen, die Eltern/Kind Beziehung zu lösen?
Dies ist nötig, da ich anhand gesetzem CloseParentAfterClosedChilds das Elternticket nicht schließen kann, wenn die Kinder nicht geschlossen sind.
Sobald ich eines der Child-Ticket schließe und anschließend lösche, kann ich das Elternticket nicht mehr schließen.

Im GenericAgent finde ich keine Option zum lösen der Beziehnung ... hmmmm....

LG
Stefan
StefanP
Znuny newbie
Posts: 46
Joined: 14 Jan 2010, 18:16
Znuny Version: 6.0.30
Real Name: Stefan
Company: Pachlina

Re: Prozesslogik parallele Verarbeitung

Post by StefanP »

So weit ich das beurteilen kann, klappt die Automatik nicht via klick klick

Also muss ein Script her, welches die Verknüpfung aus der dB löscht ... ansich sollte das kein Problem sein.
Gesagt, getan.

GenericAgent - CMD befüllt
Ich habe die Ticket_ID - wird ja bekanntlich übergeben
Ich habe ein Script gebaut, welches die Daten löschen könnte .....

Code: Select all

#!/bin/sh
# --
TICKET_NUMBER=$1
TICKET_ID=$2
mysql -u xxxx -p xxxx otrs -e "DELETE FROM link_relation WHERE target_key=$TICKET_ID;"
Das klappt ja auch soweit, nur ist der Link zum Parent/Child nach wie vor vorhanden wenn ich die Tickets betrachte.
Was zum?
Ist da etwa noch wo ein Eintrag? In der link_releation jedenfalls nicht.
In der otrs.ticket kann ich nichts finden bezüglich LinkAs oder ähnlich.

LG
Stefan
wurzel
Znuny guru
Posts: 3224
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: Prozesslogik parallele Verarbeitung

Post by wurzel »

Hi,

ich würde lieber mit einem "ungültigen" Ticket Status arbeiten (z.B. removed) dann tauchen die nicht auf in der Link Table.

In der SQL zu schreiben ist tricky. Du musst jedesmal die Caches löschen wenn Du in der DB via SQL was machst. Schwer zu sagen, ob Du da was kaputt machen kannst.

viele Grüße
Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
StefanP
Znuny newbie
Posts: 46
Joined: 14 Jan 2010, 18:16
Znuny Version: 6.0.30
Real Name: Stefan
Company: Pachlina

Re: Prozesslogik parallele Verarbeitung

Post by StefanP »

Hi,

habe ich versucht mit dem Status, doch leider klappt das nicht.
Sobald ich einen Status hinterlege den es nicht gibt, verweigert der Prozess - das Ticket wird nicht erstellt.

Message: No StateID for 'remove'!

Muss ich ungültige Status irgendwo erlauben?
Eine verzwickte Sache.

**EDIT**
*Mich in ein Eck stelle und schmolle*
Ist angekommen mit dem ungültigen Status ....
Status erstellt und auf ungültig gesetzt.

Die Verarbeitung des Prozesses klappt nun :D

Danke

Etwas verwirrend und kompliziert, aber es klappt ... wenn man weiss wie :D
wurzel
Znuny guru
Posts: 3224
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: Prozesslogik parallele Verarbeitung

Post by wurzel »

Hi,

ich sag ja "unschön" isses, aber das geht schon

Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
Post Reply