Prozesslogik parallele Verarbeitung

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

Prozesslogik parallele Verarbeitung

Post by StefanP » 05 Feb 2019, 11:08

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
OTRS guru
Posts: 2764
Joined: 08 Jul 2010, 22:25
OTRS Version?: 6.0.x

Re: Prozesslogik parallele Verarbeitung

Post by wurzel » 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
    ((OTRS)) Community Edition 6.0.x, LAMP LIVE auf Debian 9
    OTRS 7 SILVER

    -- 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
    OTRS newbie
    Posts: 43
    Joined: 14 Jan 2010, 18:16
    OTRS Version?: 6.0.16
    Real Name: Stefan
    Company: Pachlina

    Re: Prozesslogik parallele Verarbeitung

    Post by StefanP » 05 Feb 2019, 14:30

    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
    OTRS guru
    Posts: 4795
    Joined: 13 Mar 2011, 09:54
    OTRS Version?: 3.3.x
    Company: Perl-Services.de
    Contact:

    Re: Prozesslogik parallele Verarbeitung

    Post by reneeb » 05 Feb 2019, 15:02

    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 / OTRS development: http://perl-services.de
    Free OTRS add ons from the community: http://opar.perl-services.de
    Commercial add ons: http://feature-addons.de

    wurzel
    OTRS guru
    Posts: 2764
    Joined: 08 Jul 2010, 22:25
    OTRS Version?: 6.0.x

    Re: Prozesslogik parallele Verarbeitung

    Post by wurzel » 05 Feb 2019, 15:27

    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)) Community Edition 6.0.x, LAMP LIVE auf Debian 9
      OTRS 7 SILVER

      -- 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
      OTRS newbie
      Posts: 43
      Joined: 14 Jan 2010, 18:16
      OTRS Version?: 6.0.16
      Real Name: Stefan
      Company: Pachlina

      Re: Prozesslogik parallele Verarbeitung

      Post by StefanP » 06 Feb 2019, 09:32

      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
      OTRS newbie
      Posts: 43
      Joined: 14 Jan 2010, 18:16
      OTRS Version?: 6.0.16
      Real Name: Stefan
      Company: Pachlina

      Re: Prozesslogik parallele Verarbeitung

      Post by StefanP » 06 Feb 2019, 16:49

      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
      OTRS guru
      Posts: 2764
      Joined: 08 Jul 2010, 22:25
      OTRS Version?: 6.0.x

      Re: Prozesslogik parallele Verarbeitung

      Post by wurzel » 06 Feb 2019, 22:35

      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)) Community Edition 6.0.x, LAMP LIVE auf Debian 9
        OTRS 7 SILVER

        -- 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
        OTRS newbie
        Posts: 43
        Joined: 14 Jan 2010, 18:16
        OTRS Version?: 6.0.16
        Real Name: Stefan
        Company: Pachlina

        Re: Prozesslogik parallele Verarbeitung

        Post by StefanP » 07 Feb 2019, 16:59

        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
        OTRS guru
        Posts: 2764
        Joined: 08 Jul 2010, 22:25
        OTRS Version?: 6.0.x

        Re: Prozesslogik parallele Verarbeitung

        Post by wurzel » 08 Feb 2019, 13:19

        Hi,

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

        Flo
          ((OTRS)) Community Edition 6.0.x, LAMP LIVE auf Debian 9
          OTRS 7 SILVER

          -- 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