Folyamatkezelés

Bevezetés
Példafolyamat
Az igény rögzítése
Igazgató általi jóváhagyás
Beszerzési osztály általi feldolgozás
Iktató általi feldolgozás
A példa megvalósítása
Folyamat (mint egy konténer)
Tevékenység párbeszédek
Átmenetek
Átmenet műveletek
Tevékenységek
A könyvrendelési folyamat útvonala
Folyamatbeállítás hivatkozás
Folyamat
Folyamatbeállítás
Név
Létrehozás ideje (CreateTime)
Létrehozta (CreateBy)
Módosítás ideje (ChangeTime)
Módosította (ChangeBy)
Állapot (State)
Kezdő tevékenység (StartActivity)
Kezdő tevékenység párbeszéd (StartActivityDialog)
Útvonal (Path)
Tevékenység
Tevékenységbeállítás
Név
Létrehozás ideje (CreateTime)
Létrehozta (CreateBy)
Módosítás ideje (ChangeTime)
Módosította (ChangeBy)
Tevékenység párbeszéd (ActivityDialog)
Tevékenység párbeszéd (ActivityDialog)
Tevékenység párbeszéd beállítások
Név
Létrehozás ideje (CreateTime)
Létrehozta (CreateBy)
Módosítás ideje (ChangeTime)
Módosította (ChangeBy)
Mezők (Fields)
Mezősorrend (FieldOrder)
Elküldés tanácsszöveg (SubmitAdviceText)
Elküldés gomb szövege (SubmitButtonText)
Átmenet
Átmenetbeállítások
Név
Létrehozás ideje (CreateTime)
Létrehozta (CreateBy)
Módosítás ideje (ChangeTime)
Módosította (ChangeBy)
Feltétel (Condition)
Átmenet műveletek
Átmenet művelet beállításai
Név
Modul (Module)
Beállítás (Config)
Átmenet művelet modulok újrahasználata
Elérhető átmenet műveletek
Hozzáférés-vezérlési listák (ACL-ek)
ACL-beállítások
001-ACL-FolyamatTulajdonsagok
Folyamat
Possible/PossibleNot tevékenység párbeszéd
Használatra kész folyamat importálása
Importálás

Bevezetés

Az OTRS ezen szolgáltatása lehetővé teszi a folyamatok (munkafolyamatok) modellezését a jegyrendszerben. Az alapötlet az, hogy képes legyen meghatározni az ismétlődő folyamatokat, és delegálni a munkaelemeket különböző embereknek, valamint vezetni a folyamat előrehaladását különböző irányokba bizonyos feltételek alapján.

Példafolyamat

Nézzünk egy példát hogy meggyőzőbbé tegyük. Meg fogunk határozni egy könyvrendelési folyamatot:

Az igény rögzítése

Mielőtt megrendelésre kerülne, az irodalom iránti igényt egy alkalmazott rögzíteni fogja. A példánkban a következő könyv szükséges:

Cím: Folyamatkezelés kezdőknek
Szerző: Thilo Knuppertz
ISBN: 3527703713
                

Igazgató általi jóváhagyás

A személyzeti részleg vezetőjének kell döntenie a megrendelésről. Elutasítás esetén az igazgatónak rögzítenie kell egy okot. Elfogadás esetén a megrendelés átadásra kerül a beszerzési osztálynak.

Beszerzési osztály általi feldolgozás

A beszerzésnek most az a feladata, hogy megtalálja, hogy a könyvet hol lehet a legjobb feltételekkel megrendelni. Ha nincs raktáron, akkor ez rögzíthető a megrendelésen. Sikeres megrendelés esetén a beszerzés rögzíteni fogja a beszállítót, az árat és a kézbesítés dátumát.

Iktató általi feldolgozás

A szállítmány meg fog érkezni a vállalathoz. A beérkező áruk részlege ellenőrzi a szállítmányt, és rögzíti a kézhezvétel dátumát. Most fogják értesíteni az alkalmazottat, hogy a megrendelése megérkezett és készen áll az átvételre.

A példa megvalósítása

Ha azt feltételezzük, hogy egy jegy ebben a munkafolyamatban egy olyan kísérődokumentumhoz hasonló szerepet tölt be, amely változásjegyzeteket fogadhat, akkor máris tiszta képet kapunk a folyamatjegyekről.

A példafolyamat elemzéséből a következő szükséges elemeket azonosíthatjuk:

  • Lehetőségek adatok rögzítéséhez, hívjuk ezeket Tevékenység párbeszédeknek,

  • Ellenőrzések, amelyek képesek automatikusan reagálni a megváltozott adatokra, hívjuk ezeket Átmeneteknek,

  • Változások, amelyek egy folyamatjegyre alkalmazhatók egy folyamatjegy sikeres átmenetei után, hívjuk ezeket Átmenet műveleteknek.

Szükségünk van egy további elemre, amely talán nem annyira nyilvánvaló:

  • Egy lehetőség, hogy egynél több Tevékenység párbeszédet ajánljon fel elérhetőnek. A példánkban ez akkor szükséges, amikor az igazgatónak döntenie kell az „Elfogadás” és az „Elutasítás” között. Hívjuk ezt Tevékenységnek.

Most a tevékenységekkel, tevékenység párbeszédekkel, átmenetekkel és átmenet műveletekkel rendelkezünk a szükséges eszközzel a példánk egyéni lépéseinek modellezéséhez. Ami még mindig hiányzik, az egy olyan terület, ahol az egyes munkafolyamatoknál a lépések sorrendje megadható. Hívjuk ezt Folyamatnak. Hogy később képesek legyünk ezekre az egyedekre hivatkozni, hozzájuk fogunk rendelni egy rövidítést zárójelben. Ez a rövidítés egy belső azonosítási mechanizmuson alapul, amelyet egyedazonosítóknak hívnak.

Az egyedazonosítók egy vagy több betűnek vannak megfeleltetve (a folyamatrésztől vagy egyedtől függően), és ezután egy folyamatosan növekvő szám következik. Példák:

  • Folyamat: „F1”, „F2” … „Fn”.

  • Tevékenység: „T1”, „T2” … „Tn”.

  • Tevékenység párbeszéd: „TP1”, „TP2” … „TPn”.

  • Átmenet: „A1”, „A2” … „An”.

  • Átmenet művelet: „AM1”, „AM2” … „AMn”.

A folyamat és annak részei létrehozása előtt a rendszer előkészítése szükséges. Szükségünk lesz néhány várólista, felhasználó és dinamikus mező meghatározására, valamint néhány rendszerbeállítási lehetőség beállítására.

Hozza létre a következő várólistákat:

  • Vezetőség

  • Alkalmazottak

  • Beszerzés

  • Postahivatal

Hozza létre a következő felhasználókat:

  • Igazgató

  • Alkalmazott

Hozza létre a következő dinamikus mezőket:

  • Cím

    CímkeCím
    TípusSzöveg
    ObjektumJegy
  • Szerző

    CímkeSzerző
    TípusSzöveg
    ObjektumJegy
  • ISBN

    CímkeISBN
    TípusSzöveg
    ObjektumJegy
  • Állapot

    CímkeÁllapot
    TípusLegördülő
    ObjektumJegy
    Lehetséges értékek
    • Jóváhagyás

    • Jóváhagyás megtagadva

    • Jóváhagyva

    • Rendelés megtagadva

    • Megrendelve

    • Szállítmány megérkezett

    Megjegyzés: kérjük pontosan így használja ezeket a lehetséges értékeket a dinamikus mező beállításaiban lévő „Kulcs” és „Érték” esetén.

  • Beszállító

    CímkeBeszállító
    TípusSzöveg
    ObjektumJegy
  • Ár

    CímkeÁr
    TípusSzöveg
    ObjektumJegy
  • KezbesitesDatuma

    CímkeKézbesítés dátuma
    TípusDátum
    ObjektumJegy
  • KezhezvetelDatuma

    CímkeKézhezvétel dátuma
    TípusDátum
    ObjektumJegy

Állítsa be a következő rendszerbeállítási lehetőségeket:

  • „Ticket::Responsible”: Igen

  • „Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicFieldGroups”:

    Kulcs:Tartalom:
    KönyvCím, Szerző, ISBN
    ÁltalánosÁllapot
    RendelésÁr, Beszállító, KiszállításDátuma
    SzállítmányKezhezvetelDatuma
  • „Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicField”:

    Kulcs:Tartalom:
    Szerző1
    KezhezvetelDatuma1
    KezbesitesDatuma1
    ISBN1
    Ár1
    Állapot1
    Beszállító1
    Cím1

Most kezdjük el a valódi folyamatkezelési dolgot. A következő lépésben meg fogjuk határozni azokat az egyéni egyedeket, amelyekre szükségünk van.

Folyamat (mint egy konténer)

Egy új folyamat létrehozásához a „Folyamatkezelés” hivatkozásra szükséges kattintani az adminisztrációs panelen lévő Rendszer adminisztráció dobozban. Ez a folyamatkezelés áttekintő képernyőjéhez fog vezetni. A folyamat létrehozása után létrehozhatjuk az összes többi egyedet (vagy folyamatrészt).

Megjegyzés

Egy folyamatban meghatározott tevékenységek, tevékenység párbeszédek, átmenetek és átmenet műveletek elérhetők lesznek a rendszeren lévő összes folyamat számára.

5.7. ábra - Az OTRS adminisztrációs képernyője - Rendszer adminisztráció

Az OTRS adminisztrációs képernyője - Rendszer adminisztráció


Kattintson az „Új folyamat létrehozása” műveletre a műveletek dobozban.

5.8. ábra - Új folyamat létrehozása gomb

Új folyamat létrehozása gomb


Töltse ki a folyamat információt, állítsa be a folyamat nevét és a leírást. A folyamat állapotát „inaktívon” fogjuk hagyni, amíg nem végzünk az összes feladattal. Mentse a folyamatot.

5.9. ábra - Új folyamat hozzáadása

Új folyamat hozzáadása


Tevékenység párbeszédek

Kattintson az új folyamat nevére a folyamatkezelés áttekintő képernyőn, majd az „Elérhető folyamatelemek” dobozban kattintson a „Tevékenység párbeszédek” elemre (ez a művelet ki fogja nyitni a tevékenység párbeszéd lehetőségeit, és össze fogja csukni az összes többit egy harmonikaszerű hatást elvégezve), majd kattintson a „Új tevékenység párbeszéd létrehozása” gombra.

5.10. ábra - Új tevékenység párbeszéd létrehozása gomb

Új tevékenység párbeszéd létrehozása gomb


A megnyílt felugró képernyőn töltse ki a „Tevékenység párbeszéd neve”, valamint a „Leírás (rövid)” mezőket. Ennél a példánál az összes többi mezőt az alapértelmezett értéken fogjuk hagyni, hogy a mezőket úgy rendeljük hozzá a tevékenység párbeszédhez, hogy egyszerűen megfogjuk a szükséges mezőket az „Elérhető mezők” tárolóból, és a „Hozzárendelt mezők” tárolóba ejtjük azokat. A „Hozzárendelt mezők” tárolóban lévő sorrend olyan, ahogy a mezők a képernyőn lesznek. A sorrend módosításához egyszerűen fogd és vidd módszerrel rendezze át a mezőt a tárolón belül a megfelelő helyre.

5.11. ábra - Új tevékenység párbeszéd hozzáadása

Új tevékenység párbeszéd hozzáadása


Amint a mezők a „Hozzárendelt mezők” tárolóba lettek dobva, egy másik felugró ablak jelenik meg a mezővel kapcsolatos néhány részlettel. Meg fogjuk hagyni az alapértelmezett beállításokat, és csak a bejegyzés (Article) mezőknél kell meggyőződnünk arról, hogy a kommunikációs csatorna (CommunicationChannel) mező „belsőre” van-e állítva, és hogy a látható az ügyfélnek (IsVisibleForCustomer) beállítás nincs-e bekapcsolva.

5.12. ábra - Mezőrészletek szerkesztése (bejegyzés)

Mezőrészletek szerkesztése (bejegyzés)


Miután minden mező hozzárendelésre került, kattintson az elküldés gombra a fő felugró képernyőn a változtatások elmentéséhez.

Ebben a példában a bejegyzés mezőt fogjuk megjegyzéshez használni, de egy másik lehetőség az lehet, hogy létrehoz egy szövegdoboz típusú dinamikus mezőt. A lenti sorokban említett többi mezők azok a dinamikus mezők, amelyeket korábban határoztunk meg.

Legyen tudatában annak, hogy ezen a képernyőn az összes dinamikus mező a „DynamicField_” előtaggal rendelkezik, úgymint „DynamicField_Cim”. Ne tévessze össze a „Cím” mezővel, az a jegy címe.

Hozza létre a következő tevékenység párbeszédeket:

  • „Az igény rögzítése” (TP1)

    Egy olyan tevékenység párbeszéd, amely az összes szükséges mezőt tartalmazza a megrendeléshez összegyűjtendő adatokhoz (cím, szerző és ISBN), és egy állapot mezőt a „Jóváhagyás” kiválasztásához tartozó lehetőséggel.

  • „Jóváhagyás megtagadva” (TP2)

    Egy tevékenység párbeszéd egy megjegyzés mezővel (bejegyzés) és a „Jóváhagyás megtagadva” lehetőséggel rendelkező állapot mezővel.

  • „Jóváhagyva” (TP3)

    Itt csak az állapot mezőre van szükségünk a „Jóváhagyva” lehetőséggel.

  • „Rendelés megtagadva” (TP4)

    Egy olyan tevékenység párbeszéd, amely lehetővé teszi a beszerzésnek egy lehetetlen rendelés visszautasítását (a könyv nincs raktáron). Itt is szükségünk van egy megjegyzés mezőre és az állapot mezőre a „Rendelés megtagadva” lehetőséggel.

  • „Megrendelve” (TP5)

    Egy tevékenység párbeszéd a beszállító, ár és kézbesítés dátuma mezőkkel a beszerzéshez, és az állapot mező a „Megrendelve” lehetőséggel.

  • „Szállítmány megérkezett” (TP6)

    Az iktató tevékenysége a kézhezvétel dátuma mezővel és az állapot mezővel a „Szállítmány megérkezett” lehetőséggel.

Az állapot mező korlátozásához minden tevékenység párbeszédnél hozzá kell adnunk néhány ACL-t a Kernel/Config.pm fájlban, vagy a Kernel/Config/Files helyen lévő új Perl fájlba.

    $Self->{TicketAcl}->{'F1-TP1-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP1'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Jóváhagyás'],
            },
        },
    };

    $Self->{TicketAcl}->{'F1-TP2-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP2'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Jóváhagyás megtagadva'],
            },
        },
    };

    $Self->{TicketAcl}->{'F1-TP3-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP3'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Jóváhagyva'],
            },
        },
    };

    $Self->{TicketAcl}->{'F1-TP4-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP4'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Rendelés megtagadva'],
            },
        },
    };

    $Self->{TicketAcl}->{'F1-TP5-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP5'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Megrendelve'],
            },
        },
    };

    $Self->{TicketAcl}->{'F1-TP6-1'} = {
        Properties => {
            Process => {
                ActivityDialogEntityID => ['TP6'],
            },
        },
        Possible => {
            Ticket => {
                DynamicField_Allapot => ['Szállítmány megérkezett'],
            },
        },
    };
                    

Átmenetek

Az „Elérhető folyamatelemek” dobozban kattintson az „Átmenetek” elemre, majd kattintson az „Új átmenet létrehozása” gombra.

5.13. ábra - Új átmenet létrehozása gomb

Új átmenet létrehozása gomb


A megnyílt felugró képernyőn töltse ki az „Átmenetnév” mezőt, majd a feltételekben ennél a példánál csak egy feltételt és csak egy mezőt fogunk használni. Mindkettőnél hagyhatjuk a kapcsolat típusát „és” értéken, és a mező illesztési típusát „Szöveg” értékként fogjuk használni.

5.14. ábra - Új átmenet hozzáadása

Új átmenet hozzáadása


Miután minden feltétel be lett állítva, kattintson az elküldés gombra a változtatások mentéséhez.

Hozza létre a következő átmeneteket:

  • „Jóváhagyás” (A1)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Jóváhagyás” értékre van-e állítva.

  • „Jóváhagyás megtagadva” (A2)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Jóváhagyás megtagadva” értékre van-e állítva.

  • „Jóváhagyva” (A3)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Jóváhagyva” értékre van-e állítva.

  • „Rendelés megtagadva” (A4)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Rendelés megtagadva” értékre van-e állítva.

  • „Megrendelve” (A5)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Megrendelve” értékre van-e állítva.

  • „Szállítmány megérkezett” (A6)

    Egy olyan átmenet, amely azt ellenőrzi, hogy az állapot mező „Szállítmány megérkezett” értékre van-e állítva.

Átmenet műveletek

Kattintson az „Átmenet műveletek” elemre az „Elérhető folyamatelemek” dobozban, majd kattintson az „Új átmenetművelet létrehozása” gombra.

5.15. ábra - Új átmenet művelet létrehozása gomb

Új átmenet művelet létrehozása gomb


A megnyílt felugró képernyőn töltse ki az „Átmenet művelet neve” és az „Átmenet művelet modul” mezőket, majd adja hozzá a kötelező és opcionális paraméterneveket és értékeket.

Az összes átmenet művelet modul a Kernel/System/ProcessManagement/TransitionAction helyen található, és az ebben a kiadásban lévő csomagolt átmenet műveletek listája a következő:

  • DynamicFieldSet

  • TicketArticleCreate

  • TicketCreate

  • TicketCustomerSet

  • TicketLockSet

  • TicketOwnerSet

  • TicketQueueSet

  • TicketResponsibleSet

  • TicketServiceSet

  • TicketSLASet

  • TicketStateSet

  • TicketTitleSet

  • TicketTypeSet

Minden modulnak megvannak a saját és különböző paraméterei. Nézze át a modul dokumentációját, hogy megismerje az összes kötelező és opcionális paramétert.

Megjegyzés

Az OTRS 4.0.1 verziótól a paraméterek többé nem kötelezően rögzített értékek, hanem ehelyett örökölhetik az eredeti jegyből a következő formátum használatával: <OTRS_Ticket_property>.

Az OTRS 4.0.6 verziótól az <OTRS_TICKET_property> formátum a most támogatott. A régi formátum még használható, de elavult, mivel dobva lesz a későbbi verziókból.

5.16. ábra - Új átmenet művelet hozzáadása

Új átmenet művelet hozzáadása


Miután minden paraméter és érték be lett állítva, kattintson az elküldés gombra a változtatások mentéséhez.

Hozza létre a következő átmenet műveleteket:

  • „Folyamatjegy áthelyezése a »Vezetőség« várólistába” (AM1)

    Ezt a műveletet akkor kellene végrehajtani, amikor a „Jóváhagyás” (A1) átmenet alkalmazzák.

  • „Jegyfelelős megváltoztatása »Igazgatóra«” (AM2)

    Akkor hajtódik végre, amikor a „Jóváhagyás” (A1) átmenet alkalmazzák.

  • „Folyamatjegy áthelyezése az »Alkalmazottak« várólistába” (AM3)

    Akkor hajtódik végre, amikor:

    • A „Jóváhagyás megtagadva” (A2) átmenetet alkalmazzák

    • A „Rendelés megtagadva” (A4) átmenetet alkalmazzák

    • A „Szállítmány megérkezett” (A6) átmenetet alkalmazzák

  • „Jegyfelelős megváltoztatása »Alkalmazottra«” (AM4)

    Akkor hajtódik végre, amikor:

    • A „Jóváhagyás megtagadva” (A2) átmenetet alkalmazzák

    • A „Rendelés megtagadva” (A4) átmenetet alkalmazzák

    • A „Szállítmány megérkezett” (A6) átmenetet alkalmazzák

  • „Folyamatjegy áthelyezése a »Beszerzés« várólistába” (AM5)

    Akkor hajtódik végre, amikor a „Jóváhagyva” (A3) átmenet alkalmazzák.

  • „Folyamatjegy áthelyezése a »Postahivatal« várólistába” (AM6)

    Akkor hajtódik végre, amikor a „Megrendelve” (A5) átmenet alkalmazzák.

  • „Jegy lezárása sikeresen” (AM7)

    Akkor hajtódik végre, amikor:

    • A „Szállítmány megérkezett” (A6) átmenetet alkalmazzák

  • „Jegy lezárása sikertelenül” (AM8)

    Akkor hajtódik végre, amikor:

    • A „Jóváhagyás megtagadva” (A2) átmenetet alkalmazzák

    • A „Rendelés megtagadva” (A4) átmenetet alkalmazzák

Amint látja, vannak olyan helyek, ahol ugyanazt az átmenet műveletet kell végrehajtani. Ezért ésszerű lehetővé tenni az átmenet műveletek szabadon történő összekapcsolását az átmenetekkel, hogy képes legyen újrahasználni azokat.

Tevékenységek

Azt a megközelítést választottuk, hogy a tevékenységeket egy olyan kosárként lássuk, amely egy vagy több tevékenység párbeszédet tartalmazhat.

Kattintson a „Tevékenységek” elemre az „Elérhető folyamatelemek” dobozban, majd kattintson az „Új tevékenység létrehozása” gombra.

5.17. ábra - Új tevékenység létrehozása gomb

Új tevékenység létrehozása gomb


A megnyílt felugró képernyőn töltse ki a „Tevékenység neve” mezőt, majd húzza át a szükséges tevékenység párbeszédeket az „Elérhető tevékenység párbeszédek” tárolóból, és ejtse azokat a „Hozzárendelt tevékenység párbeszédek” tárolóba. Ezek a párbeszédablakok ugyanolyan sorrendben lesznek megjelenítve (a jegynagyítás képernyőn), mint ahogy ezen a képernyőn meg van határozva fentről lefelé, balról jobbra értelmezve.

Ez a sorrend különösen az első tevékenységben fontos, mivel az első tevékenység párbeszéd az egyetlen ennél a tevékenységnél, amely akkor jelenik meg, amikor a folyamat elindul.

Hozza létre a következő tevékenységeket:

  • „Igény rögzítése” (T1)

    Az „Igény rögzítése” (TP1) tevékenység párbeszédet tartalmazza

  • „Jóváhagyás” (T2)

    A „Jóváhagyás megtagadva” (TP2), valamint a „Jóváhagyva” (TP3) tevékenység párbeszédeket tartalmazza

  • „Rendelés” (T3)

    A „Rendelés megtagadva” (TP4), valamint a „Megrendelve” (TP5) tevékenység párbeszédeket tartalmazza

  • „Beérkezés” (T4)

    A „Szállítmány megérkezett” (TP6) tevékenység párbeszédet tartalmazza

  • „Folyamat befejezve” (T5): Ez egy lehetséges tevékenység párbeszédek nélküli tevékenység. A „Jóváhagyás megtagadva”, a „Rendelés megtagadva” vagy a „Szállítmány megérkezett” után lesz beállítva, és a folyamat végét ábrázolja.

Most már világosan láthatjuk, hogy a tevékenységek egy folyamatjegy pontosan meghatározott állapotai. Egy sikeres átmenet után egy folyamatjegy az egyik tevékenységből a másikba kerül át.

A könyvrendelési folyamat útvonala

Fejezzük be a példánkat a kirakó utolsó hiányzó darabjával, a folyamattal mint a munkafolyamat leírójával. A mi esetünkben ez a teljes rendelési munkafolyamat. Egyéb folyamatok lehetnek az irodaszer rendelés vagy teljesen különböző folyamatok.

A folyamatnak van egy kezdőpontja, amely a kezdő tevékenységből és a kezdő tevékenység párbeszédből áll. Bármely új könyvrendelésnél a kezdő tevékenység párbeszéd (első tevékenység párbeszéd az első tevékenységnél) az első képernyő, amely meg lesz jelenítve. Ha ez be van fejezve és el van mentve, akkor a folyamatjegy létre lesz hozva, és követheti a beállított munkafolyamatot.

A folyamat tartalmazza az irányokat is ahhoz, hogy a folyamatjegy képes legyen mozogni a folyamaton keresztül. Hívjuk ezt „Útvonalnak”. Ez a kezdő tevékenységből, egy vagy több átmenetből (valószínűleg átmenet műveletekkel) és egyéb tevékenységekből áll.

Feltételezve, hogy a tevékenységek már hozzá lettek rendelve a tevékenység párbeszédeikhez, húzzon el egy tevékenységet a harmonikából (a képernyő bal oldali részén), és ejtse azt a vászonterületre (a folyamat-információk alá). Figyelje meg, hogy egy nyíl automatikusan elhelyezésre kerül a folyamat kezdetétől (zöld kör) a tevékenységhez. (Ez az első tevékenység, és annak első tevékenység párbeszéde az első képernyő, amely meg lesz jelenítve, amikor a folyamat elindul).

5.18. ábra - Első tevékenység ráhúzása a vászonra

Első tevékenység ráhúzása a vászonra


Ezután húzzon egy másik tevékenységet is a vászonra. Most két tevékenységünk lesz a vásznon. Az első a kezdőponthoz kapcsolódik, és a másodiknak nincsenek kapcsolatai. Rámutathat az egérrel minden egyes tevékenységre a saját tevékenység párbeszédeik felfedéséhez.

5.19. ábra - Második tevékenység ráhúzása a vászonra

Második tevékenység ráhúzása a vászonra


Ezután hozzuk létre az „útvonalat” (kapcsolatot) a két tevékenység között. Ehhez az átmeneteket fogjuk használni. Kattintson az átmenetekre a harmonikában, húzzon ki egy átmenetet, és ejtse le az első tevékenységen belül. Figyelje meg, hogy a tevékenység megváltoztatja a színét azt jelezve, hogy az átmenet csatolva lett. Amint az átmenet le lett ejtve, az átmenet nyilának végpontja el lesz helyezve a folyamat kezdőpontja mellett. Húzza el az átmenet nyilának végpontját, és ejtse le a másik tevékenységen belül a tevékenységek közötti kapcsolat létrehozásához.

5.20. ábra - Egy átmenet ráhúzása a vászonra

Egy átmenet ráhúzása a vászonra


Most, hogy a műveletek közötti „útvonal” meghatározásra került, ezután hozzá kell rendelnünk az átmenet műveleteket az átmenethez. Kattintson duplán az átmenet címkéjére (a vásznon), amely meg fog nyitni egy új felugró ablakot.

5.21. ábra - Tevékenységek összekötése átmenetek használatával

Tevékenységek összekötése átmenetek használatával


Húzza el a szükséges átmenet műveleteket az elérhető átmenet műveletek tárolóból, és ejtse le azokat a hozzárendelt átmenet műveletek tárolóba, majd kattintson az elküldés gombra.

5.22. ábra - Átmenet műveletek hozzárendelése

Átmenet műveletek hozzárendelése


Ezután térjen vissza a fő folyamatszerkesztés képernyőhöz, és kattintson a vászon alatti mentés gombra az összes változtatás elmentéséhez.

Fejezze be az „útvonalat” a következő tevékenységek, átmenetek és átmenet műveletek hozzáadásával:

Az igény rögzítése a „Jóváhagyásig”

  • Kezdőpont: „Igény rögzítése” (T1) tevékenység

  • Lehetséges átmenet: „Jóváhagyás (A1)”

    • Ha ennek a tevékenységnek a feltétele teljesül, akkor a jegy át fog lépni a „Jóváhagyás” (T2) tevékenységbe

    • Továbbá a következő átmenet műveletek lesznek végrehajtva:

      • „Folyamatjegy áthelyezése a »Vezetőség« várólistába” (AM1)

      • „Jegyfelelős megváltoztatása »Igazgatóra«” (AM2)

Az „Igény rögzítése” (T1) tevékenység a folyamatjegy meghatározott lépése, ahol lehetőség van a „Jóváhagyás” (A1) átmenethez. Ha ezt alkalmazzák, akkor a jegy át fog lépni a következő „Jóváhagyás” (T2) tevékenységbe, és a „Folyamatjegy áthelyezése a »Vezetőség« várólistába” (AM1) és a „Jegyfelelős megváltoztatása »Igazgatóra«” (AM2) átmenet műveletek lesznek végrehajtva. A „Jóváhagyás” (T2) tevékenységben a „Jóváhagyás megtagadva” (TP2) és a „Jóváhagyva” (TP3) tevékenység párbeszédek lesznek elérhetők.

Jóváhagyás

  • Kezdőpont: „Jóváhagyás” (T2) tevékenység

  • Lehetséges átmenetek:

    • „Jóváhagyás megtagadva” (A2)

      • Ha ez illeszkedik, akkor a folyamatjegy át fog lépni a „Folyamat befejezve” (T5) tevékenységbe.

      • Továbbá a következő átmenet műveletek lesznek végrehajtva:

        • „Folyamatjegy áthelyezése az »Alkalmazottak« várólistába” (AM3)

        • „Jegyfelelős megváltoztatása »Alkalmazottra«” (AM4)

        • „Jegy lezárása sikertelenül” (AM8)

    • „Jóváhagyva” (A3)

      • Ha ez illeszkedik, akkor a folyamatjegy át fog lépni a „Rendelés” (T3) tevékenységbe.

      • Továbbá a következő átmenet művelet lesz végrehajtva:

        • „Folyamatjegy áthelyezése a »Beszerzés« várólistába” (AM5)

Láthatjuk, hogy a jelenlegi tevékenységből, amely a folyamatjegy egy lépését határozza meg, egy vagy több lehetőség van az átmenethez, amelynek pontosan egy céltevékenysége van (és valószínűleg egy vagy több átmenet művelete).

Rendelés

  • Kezdőpont: „Rendelés” (T3) tevékenység

  • Lehetséges átmenetek:

    • „Rendelés megtagadva” (A4)

      • Ha ez illeszkedik, akkor a folyamatjegy át fog lépni a „Folyamat befejezve” (T5) tevékenységbe.

      • Továbbá a következő átmenet műveletek lesznek végrehajtva:

        • „Folyamatjegy áthelyezése az »Alkalmazottak« várólistába” (AM3)

        • „Jegyfelelős megváltoztatása »Alkalmazottra«” (AM4)

        • „Jegy lezárása sikertelenül” (AM8)

    • „Megrendelve” (A5)

      • Ha ez illeszkedik, akkor a folyamatjegy át fog lépni a „Beérkezés” (T4) tevékenységbe.

      • Továbbá a következő átmenet művelet lesz végrehajtva:

        • „Folyamatjegy áthelyezése a »Postahivatal« várólistába” (AM6)

Beérkezés

  • Kezdőpont: „Beérkezés” (T4) tevékenység

  • Lehetséges átmenetek:

    • „Szállítmány megérkezett” (A6)

      • Ha ez illeszkedik, akkor a folyamatjegy át fog lépni a „Folyamat befejezve” (T5) tevékenységbe.

      • Továbbá a következő átmenet műveletek lesznek végrehajtva:

        • „Folyamatjegy áthelyezése az »Alkalmazottak« várólistába” (AM3)

        • „Jegyfelelős megváltoztatása »Alkalmazottra«” (AM4)

        • „Jegy lezárása sikeresen” (AM7)

A könyvrendelési folyamat teljes útvonala ezután így fog kinézni:

5.23. ábra - A könyvrendelés teljes folyamatútvonala

A könyvrendelés teljes folyamatútvonala


Miután befejezte a folyamat útvonalát, kattintson a „Mentés” gombra a vászon alsó részén, majd ezután kattintson az „Összes folyamat szinkronizálása” gombra. Ez be fog gyűjteni minden folyamat-információt az adatbázisból, és előállít egy gyorsítótár fájlt (Perl nyelven). Ez a gyorsítótár fájl tulajdonképpen a folyamatok beállítása, amelyet a rendszer a folyamatjegyek létrehozásához vagy használatához fog használni.

A folyamatokon elvégzett bármilyen változtatás (a grafikus felületen) a gyorsítótár fájl újraszinkronizálását fogja igényelni azért, hogy a változást visszajuttassa a rendszerbe.

Lehetséges a teljes folyamat importálása is egy YAML-fájlból, de az importálás előtt továbbra is szükséges az összes dinamikus mező, felhasználó, várólista, stb. létrehozása, amelyek az egyes folyamatokhoz szükségesek.

Vegye figyelembe, hogy ha a folyamat ACL-ek használatát igényli, akkor azokat is kézzel szükséges beállítani.

A könyvrendelési folyamat példához a teljes YAML-fájl a következő:

---
Activities:
  T1:
    ActivityDialogs:
      - TP1
    ChangeTime: 2012-11-23 14:49:22
    Config:
      ActivityDialog:
        1: TP1
    CreateTime: 2012-11-23 11:49:38
    EntityID: T1
    ID: 151
    Name: Igény rögzítése
  T2:
    ActivityDialogs:
      - TP2
      - TP3
    ChangeTime: 2012-12-13 00:55:12
    Config:
      ActivityDialog:
        1: TP2
        2: TP3
    CreateTime: 2012-11-23 11:50:11
    EntityID: T2
    ID: 152
    Name: Jóváhagyás
  T3:
    ActivityDialogs:
      - TP4
      - TP5
    ChangeTime: 2012-11-23 18:12:14
    Config:
      ActivityDialog:
        1: TP4
        2: TP5
    CreateTime: 2012-11-23 11:50:35
    EntityID: T3
    ID: 153
    Name: Rendelés
  T4:
    ActivityDialogs:
      - TP6
    ChangeTime: 2012-11-23 18:12:35
    Config:
      ActivityDialog:
        1: TP6
    CreateTime: 2012-11-23 11:51:00
    EntityID: T4
    ID: 154
    Name: Beérkezés
  T5:
    ActivityDialogs: []
    ChangeTime: 2012-11-23 11:51:33
    Config: {}
    CreateTime: 2012-11-23 11:51:33
    EntityID: T5
    ID: 155
    Name: Folyamat befejezve
ActivityDialogs:
  TP1:
    ChangeTime: 2012-12-06 02:16:21
    Config:
      DescriptionLong: ''
      DescriptionShort: Az igény rögzítése
      FieldOrder:
        - DynamicField_Szerzo
        - DynamicField_ISBN
        - DynamicField_Cim
        - DynamicField_Allapot
      Fields:
        DynamicField_Szerzo:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_ISBN:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Cim:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: ''
    CreateTime: 2012-11-23 14:34:43
    EntityID: TP1
    ID: 154
    Name: Igény rögzítése
  TP2:
    ChangeTime: 2012-11-23 14:57:41
    Config:
      DescriptionLong: ''
      DescriptionShort: Jóváhagyás megtagadva
      FieldOrder:
        - Article
        - DynamicField_Allapot
      Fields:
        Article:
          Config:
            CommunicationChannel:  'Internal'
            IsVisibleForCustomer: '0'
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: Kérés megtagadása
    CreateTime: 2012-11-23 14:36:39
    EntityID: TP2
    ID: 155
    Name: Jóváhagyás megtagadva
  TP3:
    ChangeTime: 2012-12-14 03:14:23
    Config:
      DescriptionLong: ''
      DescriptionShort: Jóváhagyva
      FieldOrder:
        - DynamicField_Allapot
      Fields:
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: Kérés jóváhagyása
    CreateTime: 2012-11-23 14:37:35
    EntityID: TP3
    ID: 156
    Name: Jóváhagyva
  TP4:
    ChangeTime: 2012-11-23 14:58:52
    Config:
      DescriptionLong: ''
      DescriptionShort: Rendelés megtagadva
      FieldOrder:
        - Article
        - DynamicField_Allapot
      Fields:
        Article:
          Config:
            CommunicationChannel:  'Internal'
            IsVisibleForCustomer: '0'
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: Rendelés visszautasítása
    CreateTime: 2012-11-23 14:38:48
    EntityID: TP4
    ID: 157
    Name: Rendelés megtagadva
  TP5:
    ChangeTime: 2012-12-06 02:20:12
    Config:
      DescriptionLong: ''
      DescriptionShort: Megrendelve
      FieldOrder:
        - DynamicField_KezbesitesDatuma
        - DynamicField_Ar
        - DynamicField_Beszallito
        - DynamicField_Allapot
      Fields:
        DynamicField_KezbesitesDatuma:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Ar:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Beszallito:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: Megrendelés
    CreateTime: 2012-11-23 14:41:28
    EntityID: TP5
    ID: 158
    Name: Megrendelve
  TP6:
    ChangeTime: 2012-11-23 14:42:43
    Config:
      DescriptionLong: ''
      DescriptionShort: Szállítmány megérkezett
      FieldOrder:
        - DynamicField_KeszhezvetelDatuma
        - DynamicField_Allapot
      Fields:
        DynamicField_KezhezvetelDatuma:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
        DynamicField_Allapot:
          DefaultValue: ''
          DescriptionLong: ''
          DescriptionShort: ''
          Display: 1
      Interface:
        - AgentInterface
      Permission: ''
      RequiredLock: 0
      SubmitAdviceText: ''
      SubmitButtonText: ''
    CreateTime: 2012-11-23 14:42:43
    EntityID: TP6
    ID: 159
    Name: Szállítmány megérkezett
Process:
  Activities:
    - T1
    - T2
    - T3
    - T4
    - T5
  ChangeTime: 2012-12-06 02:31:59
  Config:
    Description: Egy könyv rendelésének folyamata.
    Path:
      T1:
        A1:
          ActivityEntityID: T2
          TransitionAction:
            - AM2
            - AM1
      T2:
        A2:
          ActivityEntityID: T5
          TransitionAction:
            - AM3
            - AM4
            - AM8
        A3:
          ActivityEntityID: T3
          TransitionAction:
            - AM5
      T3:
        A4:
          ActivityEntityID: T5
          TransitionAction:
            - AM3
            - AM4
            - AM8
        A5:
          ActivityEntityID: T4
          TransitionAction:
            - AM6
      T4:
        A6:
          ActivityEntityID: T5
          TransitionAction:
            - AM3
            - AM4
            - AM7
      T5: {}
    StartActivity: T1
    StartActivityDialog: TP1
  CreateTime: 2012-11-23 11:45:12
  EntityID: F1
  ID: 94
  Layout:
    T1:
      left: 172
      top: 63
    T2:
      left: 402
      top: 156
    T3:
      left: 649
      top: 255
    T4:
      left: 774
      top: 391
    T5:
      left: 194
      top: 410
  Name: Könyvrendelés
  State: Active
  StateEntityID: S1
  TransitionActions:
    - AM1
    - AM2
    - AM3
    - AM4
    - AM8
    - AM5
    - AM3
    - AM4
    - AM8
    - AM6
    - AM3
    - AM4
    - AM7
  Transitions:
    - A1
    - A2
    - A3
    - A4
    - A5
    - A6
TransitionActions:
  AM1:
    ChangeTime: 2012-11-23 16:01:37
    Config:
      Config:
        Queue: Vezetőség
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet
    CreateTime: 2012-11-23 15:50:59
    EntityID: AM1
    ID: 61
    Name: Folyamatjegy áthelyezése a „Vezetőség” várólistába
  AM2:
    ChangeTime: 2012-11-23 16:02:12
    Config:
      Config:
        Responsible: Igazgató
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketResponsibleSet
    CreateTime: 2012-11-23 15:58:22
    EntityID: AM2
    ID: 62
    Name: Jegyfelelős megváltoztatása „Igazgatóra”
  AM3:
    ChangeTime: 2012-11-24 14:27:02
    Config:
      Config:
        Queue: Alkalmazottak
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet
    CreateTime: 2012-11-23 16:02:54
    EntityID: AM3
    ID: 63
    Name: Folyamatjegy áthelyezése az „Alkalmazottak” várólistába
  AM4:
    ChangeTime: 2012-11-23 16:04:06
    Config:
      Config:
        Responsible: Alkalmazott
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketResponsibleSet
    CreateTime: 2012-11-23 16:04:06
    EntityID: AM4
    ID: 64
    Name: Jegyfelelős megváltoztatása „Alkalmazottra”
  AM5:
    ChangeTime: 2012-12-06 02:18:34
    Config:
      Config:
        Queue: Beszerzés
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet
    CreateTime: 2012-11-23 16:04:54
    EntityID: AM5
    ID: 65
    Name: Folyamatjegy áthelyezése a „Beszerzés” várólistába
  AM6:
    ChangeTime: 2012-12-06 02:18:48
    Config:
      Config:
        Queue: Postahivatal
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet
    CreateTime: 2012-11-23 16:06:20
    EntityID: AM6
    ID: 66
    Name: Folyamatjegy áthelyezése a „Postahivatal” várólistába
  AM7:
    ChangeTime: 2012-12-06 02:29:55
    Config:
      Config:
        State: closed successful
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketStateSet
    CreateTime: 2012-12-06 02:29:27
    EntityID: AM7
    ID: 67
    Name: Jegy lezárása sikeresen
  AM8:
    ChangeTime: 2012-12-06 02:31:12
    Config:
      Config:
        State: closed unsuccessful
      Module: Kernel::System::ProcessManagement::TransitionAction::TicketStateSet
    CreateTime: 2012-12-06 02:31:12
    EntityID: AM8
    ID: 68
    Name: Jegy lezárása sikertelenül
Transitions:
  A1:
    ChangeTime: 2012-11-23 15:12:20
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Jóváhagyás
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:53:52
    EntityID: A1
    ID: 94
    Name: Jóváhagyás
  A2:
    ChangeTime: 2012-11-23 15:12:50
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Jóváhagyás megtagadva
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:54:26
    EntityID: A2
    ID: 95
    Name: Jóváhagyás megtagadva
  A3:
    ChangeTime: 2012-11-23 15:13:29
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Jóváhagyva
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:54:54
    EntityID: A3
    ID: 96
    Name: Jóváhagyva
  A4:
    ChangeTime: 2012-11-23 15:14:08
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Rendelés megtagadva
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:55:25
    EntityID: A4
    ID: 97
    Name: Rendelés megtagadva
  A5:
    ChangeTime: 2012-11-23 18:30:33
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Megrendelve
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:56:15
    EntityID: A5
    ID: 98
    Name: Megrendelve
  A6:
    ChangeTime: 2012-11-23 15:15:30
    Config:
      Condition:
        1:
          Fields:
            DynamicField_Allapot:
              Match: Szállítmány megérkezett
              Type: String
          Type: and
      ConditionLinking: and
    CreateTime: 2012-11-23 11:56:48
    EntityID: A6
    ID: 99
    Name: Szállítmány megérkezett

                

Folyamatbeállítás hivatkozás

Folyamat

Egy folyamat egy munkafolyamat/folyamat útvonalát modellezi. Ezen az útvonalon az útvonalpontok tevékenységek vagy átmenetek lehetnek, ezekről majd később beszélünk.

Folyamatbeállítás

A folyamatbeállítás a Kernel/Config.pm fájlban végezhető el, de erősen ajánlott egy új fájl létrehozása, mint például Kernel/Config/Files/MyProcess.pm. Figyeljen arra, hogy a grafikus felület a Kernel/Config/File/ZZZProcessManagement fájlt állítja elő, ezért kerülje el ennek a fájlnévnek a használatát, különben felül lesz írva, amikor a folyamatokat szinkronizálja. Nézzünk egy folyamatbeállítás példát (a folyamat gyorsítótár fájlból):

$Self->{'Process'} = {
    'F1' => {
        Name                => 'Könyvrendelés',
        CreateTime          => '16-02-2012 13:37:00',
        CreateBy            => '1',
        ChangeTime          => '17-02-2012 13:37:00',
        ChangeBy            => '1',
        State               => 'Active',
        StartActivity       => 'T1',
        StartActivityDialog => 'TP1',
        Path => {
            'T1' => {
                'A1' => {
                    ActivityEntityID => 'T2',
                },
            },
            'T2' => {
                'A2' =>  {
                    ActivityEntityID => 'T3',
                },
            },
        },
    },
    'F2' => {
        Name                => 'IT-rendelés',
        CreateTime          => '26-02-2012 13:37:00',
        CreateBy            => '1',
        ChangeTime          => '27-02-2012 13:37:00',
        ChangeBy            => '1',
        State               => 'Active',
        StartActivity       => 'T2',
        StartActivityDialog => 'TP2',
        Path => {
            'T2' => {
                'A3' => {
                    ActivityEntityID => 'T4',
                },
            },
        },
    }
};
                    

Név

A folyamat neve, ezt az ügyintéző választhatja ki, amikor egy új folyamatjegyet hoz létre.

Létrehozás ideje (CreateTime)

Az időpont, amikor a folyamatot létrehozták.

Létrehozta (CreateBy)

A folyamatot létrehozó felhasználó felhasználó-azonosítója.

Módosítás ideje (ChangeTime)

Az időpont, amikor a folyamatot megváltoztatták.

Módosította (ChangeBy)

A felhasználó felhasználó-azonosítója, aki az utolsó változtatást végezte a folyamaton.

Állapot (State)

Egy folyamat állapotát határozza meg. Lehetséges értékek:

  • „Aktív” („Active”): minden olyan folyamat, amely használható egy új folyamatjegyben.

  • „Eltűnik” („FadeAway”): azok a folyamatok, amelyek többé nem választhatók új jegyekhez, de a meglévő jegyek még használhatják a folyamatot.

  • „Inaktív” („Inactive”): kikapcsolt folyamatok, és nem használhatók új vagy meglévő jegyeknél.

Kezdő tevékenység (StartActivity)

Egy új folyamatjegy létrehozásakor meg kell határozni egy kezdő tevékenységet. Amint a jegy létrejön, ez a tevékenység lesz beállítva, és az első átmenet ellenőrzések alapjaként lesz használva.

Kezdő tevékenység párbeszéd (StartActivityDialog)

Új folyamatjegyeknél meg kell határozni egy kezdő tevékenység párbeszédet. Ez akkor lesz megjelenítve, amikor egy új folyamatjegyet hoznak létre (miután kiválasztották a folyamatot). Ezen a ponton a jegy még nem létezik, a kezdő tevékenység párbeszéd elküldése után lesz létrehozva.

Útvonal (Path)

Az útvonal tartalmazza a tevékenységek szerkezetét és a köztük lévő lehetséges átmeneteket a jelenlegi folyamatnál. Valamint a tevékenység átmeneteket is, amelyek az átmenetkor következnek be. Ez szabályozza azt az utat, amelyet egy folyamatjegy megtehet. Példa:

'T1' => {
    'A1' => {
        ActivityEntityID => 'T2',
    },
    'A2' => {
        ActivityEntityID => 'T3',
    },
    'A3' => {
        ActivityEntityID => 'T4',
        TransitionAction => ['AM1', 'AM2'],
    },
},
                    

Ha egy folyamatjegy a T1 tevékenységben van, akkor három lehetséges útja van, hogy eljusson egy másik tevékenységbe. Az A1-A3 átmenetekben feltételek vannak meghatározva, amelyeket egy folyamatjegynek teljesítenie kell, hogy átlépjen (továbbítás) egy másik tevékenységbe.

Ha ebben az esetben a folyamatjegy összes értéke és annak dinamikus mezői helyesek, amelyek szükségesek a A2 átmenethez, akkor a jegy át lesz léptetve a T1 tevékenységből a T3 tevékenységbe. Miután egy tevékenység párbeszédet elküldtek, vagy bármilyen más változtatást hajtottak végre a jegyen, akkor ellenőrizve lesznek a lehetséges átmenetek a jelenlegi tevékenységből. Ha több átmenet is lehetséges, akkor az első lesz használva (az átmenet-azonosítók számszerű rendezése alapján).

Lehetséges továbbá átmenet műveleteket rendelni az átmenetekhez az útvonal beállításaiban. Vannak olyan modulok, amelyek egy sikeres átmenet után lesznek végrehajtva. Ezeket tömbformában kell megadni, amint a példában is látható. A részletekről később fogunk beszélni.

Tevékenység

Egy tevékenység egy vagy több tevékenység párbeszédet tartalmaz, és egy lépést modellez a folyamatban. A jelenlegi tevékenység összes tevékenység párbeszéde meg lesz jelenítve a jegynagyításban, és addig használható, amíg egy átmenet feltételei nincsenek teljesítve.

Tevékenységbeállítás

Nézzünk egy tevékenységbeállítás példát:

$Self->{'Process::Activity'} =
{
    'T1' => {
        Name       => '1. opcionális tevékenység',
        CreateTime => '16-02-2012 13:37:00',
        CreateBy   => '1',
        ChangeTime => '17-02-2012 13:37:00',
        ChangeBy   => '1',
        ActivityDialog => {
            1 => 'TP1',
        },
    },
    'T2' => {
        Name       => '2. opcionális tevékenység',
        CreateTime => '16-02-2012 13:37:00',
        CreateBy   => '1',
        ChangeTime => '17-02-2012 13:37:00',
        ChangeBy   => '1',
        ActivityDialog => {
            1 => 'TP5',
            2 => 'TP6',
            3 => 'TP1',
        },
    },
};
                

Név

A tevékenység neve.

Létrehozás ideje (CreateTime)

Az időpont, amikor létrehozták.

Létrehozta (CreateBy)

A felhasználó felhasználó-azonosítója, aki a tevékenységet létrehozta.

Módosítás ideje (ChangeTime)

A legutolsó időpont, amikor megváltoztatták.

Módosította (ChangeBy)

A legutolsó felhasználó felhasználó-azonosítója, aki a tevékenységet megváltoztatta.

Tevékenység párbeszéd (ActivityDialog)

A tevékenység párbeszéd azon tevékenység párbeszédek listáját tartalmazza, amelyek ebben a tevékenységben elérhetők. A jelenlegi tevékenység összes tevékenység párbeszéde meg fog jelenni a jegynagyításban. A sorrendjüket a beállításokban lévő sorrend állítja be. Itt a TP5 a TP6 és a TP1 előtt jelenik meg.

Tevékenység párbeszéd (ActivityDialog)

A tevékenység párbeszéd egy különleges képernyő, és különböző tevékenységekben használható.

Tevékenység párbeszéd beállítások

Nézzünk egy példabeállítást:

$Self->{'Process::ActivityDialog'} = {
    'TP1' => {
        Name             => '1. opcionális tevékenység párbeszéd',
        DescriptionShort => 'Alapvető információk',
        DescriptionLong  => 'Szúrja be a szükséges alapvető információkat az IT-rendelésekhez',
        CreateTime       => '28-02-2012 13:37:00',
        CreateBy         => '1',
        ChangeTime       => '29-02-2012 13:37:00',
        ChangeBy         => '1',
        Fields => {
            PriorityID => {
                DescriptionShort => 'Prioritás-azonosító',
                DescriptionLong  => 'Itt adja meg a prioritást',
                Display          => 2,
            },
        },
        FieldOrder       => [ 'PriorityID' ],
        SubmitAdviceText => 'Jegyzet: Ha elküldi az űrlapot…',
        SubmitButtonText => 'Kérés küldése',
    },
    'TP2' => {
        Name             => '2. opcionális tevékenység párbeszéd',
        DescriptionShort => 'Alapvető információk',
        DescriptionLong  => 'Szúrja be a szükséges alapvető információkat a könyvrendelésekhez',
        CreateTime       => '28-02-2012 13:37:00',
        CreateBy         => '1',
        ChangeTime       => '29-02-2012 13:37:00',
        ChangeBy         => '1',
        Fields => {
            StateID => {
                DescriptionShort => 'Állapot-azonosító',
                DescriptionLong  => 'Itt adja meg az állapotot',
                Display          => 2,
                DefaultValue     => '2',
            },
            Queue => {
                DescriptionShort => 'Várólista-azonosító',
                DescriptionLong  => 'Itt adja meg a várólistát',
                Display          => 2,
                DefaultValue     => 'Nyers',
            },
            Title => {
                DescriptionShort => 'Cím',
                DescriptionLong  => 'Itt adja meg a címet',
                Display          => 1,
                DefaultValue     => 'Alapértelmezett cím',
            },
            DynamicField_Szam => {
                DescriptionShort    => 'Mennyiség',
                DescriptionLong     => 'Itt adja meg a mennyiséget',
                Display             => 2,
                DefaultValue        => '4',
            },
        },
        FieldOrder       => [ 'DynamicField_Szam', 'StateID', 'Queue', 'Title' ],
        SubmitAdviceText => 'Jegyzet: Ha elküldi az űrlapot…',
        SubmitButtonText => 'Kérés küldése',
    },
};
                    

Név

A tevékenység párbeszéd neve.

Létrehozás ideje (CreateTime)

Az időpont, amikor létrehozták.

Létrehozta (CreateBy)

A felhasználó felhasználó-azonosítója, aki a tevékenység párbeszédet létrehozta.

Módosítás ideje (ChangeTime)

A legutolsó időpont, amikor megváltoztatták.

Módosította (ChangeBy)

A legutolsó felhasználó felhasználó-azonosítója, aki a tevékenység párbeszédet megváltoztatta.

Mezők (Fields)

Az összes olyan mezőt tartalmazza, amely megjeleníthető ebben a tevékenység párbeszédben. Jelenleg a következő mezők használhatók:

    Title
    State
    StateID
    Priority
    PriorityID
    Lock
    LockID
    Queue
    QueueID
    Customer
    CustomerID
    CustomerNo
    CustomerUserID
    Owner
    OwnerID
    Type
    TypeID
    SLA
    SLAID
    Service
    ServiceID
    Responsible
    ResponsibleID
    PendingTime
    DynamicField_$FieldName  # minden dinamikus mezőnél
                    

Egy önálló mezőbeállítás példája:

StateID => {
    DescriptionShort => 'Állapot-azonosító',
    DescriptionLong  => 'Itt adja meg az állapotot',
    Display          => 2,
    DefaultValue     => '2',
},
                    

A bejegyzés (Article) mező egy speciális eset. Ha jelen van a mezők (Fields) beállításban, akkor a tevékenység párbeszéd egy teljes RichText szerkesztőt fog tartalmazni tárgymezővel és melléklet kezeléssel. A beírt szöveg ezután bejegyzésként lesz hozzáadva a jegyhez. Nézzünk egy bejegyzésmező beállítás példát:

Article => {
    DescriptionShort => 'Ide szúrja be a megjegyzését.',
    DescriptionLong => '',
    Display         => 1,
    Config          => {
        CommunicationChannel => 'Internal'
        IsVisibleForCustomer => '0'
        LabelSubject => '',
        LabelBody    => '',
    },
},
                    

Vessünk egy pillantást a mezőbeállítási lehetőségekre:

Rövid leírás (DescriptionShort)

Nem kötelező rövid leírás, amely a cím mezővel együtt lesz megjelenítve.

Hosszú leírás (DescriptionLong)

Nem kötelező hosszabb mezőleírás, amely akkor jelenik meg, amikor az egér a mező fölött van. Például egy tanács arról, hogy hogyan kell kitölteni a mezőt.

Megjelenítés (Display)

Azt vezérli, hogy a mező megjelenjen-e és/vagy kötelező-e. Lehetséges értékek:

  • 0: a mező láthatatlan. Ez akkor hasznos, ha a mező értékeit automatikusan kell kitölteni. A beállított alapértelmezett érték (DefaultValue) lesz eltárolva ebben az esetben.

  • 1: a mező látható, de nem kötelező.

  • 2: a mező látható és kötelező. A következő mezők csak láthatatlanok vagy kötelezőek lehetnek:

        QueueID
        Queue
        State
        StateID
        Lock
        LockID
        Priority
        PriorityID
        Type
        TypeID
                                        

Ha a mezők nem kötelezőként vannak beállítva, és a felhasználó nem küld el semmilyen értéket sem, akkor az alapértelmezett érték lesz elmentve, amikor a felhasználó elküldi a tevékenység párbeszédet.

Alapértelmezett érték (DefaultValue)

Az azonosítóval (ID) rendelkező mezők (úgymint QueueID, OwnerID) az érték adatbázis-azonosítójára hivatkoznak. Az egyéb ID nélküli mezőknél (úgymint Queue, Owner) az alapértelmezett értéknek (DefaultValue) magát az értéket kell tartalmaznia. Példa:

Queue => {
    DescriptionShort => 'Várólista',
    DescriptionLong  => 'Itt adja meg a várólistát',
    Display          => 2,
    DefaultValue     => 'Nyers',
},
                        

Mezősorrend (FieldOrder)

Itt van beállítva a mezők megjelenítési sorrendje. FONTOS: A láthatatlan mezőket is be kell állítani itt, mert csak a beállított mezők lesznek figyelembe véve mentéskor. Azok a mezők, amelyek nincsenek beállítva, nem lesznek mentve.

Elküldés tanácsszöveg (SubmitAdviceText)

Nem kötelező szöveg, amely közvetlenül az elküldés gomb fölött lesz megjelenítve további segítséghez vagy tanácsszöveghez.

Elküldés gomb szövege (SubmitButtonText)

Nem kötelező egyéni szöveg az elküldés gombhoz.

Átmenet

Egy átmenet dönti el a beállított feltételek alapján, hogy melyik útvonalat válassza a folyamatban, azaz egy folyamatjegy mely tevékenységhez léphet át.

Átmenetbeállítások

Nézzünk egy példát:

$Self->{'Process::Transition'} = {
    'A1' => {
        Name => '1. átmenet',
        CreateTime => '14-03-2012 13:37:00', # opcionális
        CreateBy   => '1',                   # opcionális
        ChangeTime => '15-03-2012 13:37:00', # opcionális
        ChangeBy   => '15-03-2012 13:37:00', # opcionális
        Condition  => {
            Cond1  => {
                Fields => {
                    StateID => {
                        Type  => 'String',
                        Match => '1',
                    },
                },
            },
        },
    },
    'A2' => {
        Name       => '2. opcionális átmenet',
        CreateTime => 'DATE',   # opcionális
        CreateBy   => 'USERID', # opcionális
        ChangeTime => 'DATE',   # opcionális
        ChangeBy => 'USERID',   # opcionális
        Condition => {
            Cond1 => {
                Queue               => 'Nyers',
                DynamicField_Szin  => '2',
                DynamicField_Szam => '1',
            },
        },
    },
};
                    

Név

Az átmenet neve.

Létrehozás ideje (CreateTime)

Az időpont, amikor létrehozták.

Létrehozta (CreateBy)

A felhasználó felhasználó-azonosítója, aki az átmenetet létrehozta.

Módosítás ideje (ChangeTime)

A legutolsó időpont, amikor megváltoztatták.

Módosította (ChangeBy)

A legutolsó felhasználó felhasználó-azonosítója, aki az átmenetet megváltoztatta.

Feltétel (Condition)

Az összes olyan feltételt tartalmazza, amely ennek az átmenetnek az életbe lépéséhez szükséges. Példa:

Condition => {
    Type  => 'and',
    Felt1 => {
        Type   => 'and',
        Fields => {
            StateID => {
                Type  => 'String',
                Match => '1',
            },
            DynamicField_Marka => {
                Type  => 'String',
                Match => 'VW',
        },
    },
    Felt2 => {
        Type => 'and',
        Fields => {
            Queue => {
                Type  => 'String',
                Match => 'Nyers',
            },
        },
    },
},
                    

Vessünk egy pillantást a feltételbeállításra részletesen.

Típus (Type) a „Condition” objektumban

Annak a módját határozza meg, hogy a különböző feltételelemek hogyan kapcsolódnak egymáshoz. Lehetséges értékek:

  • „és” (and): Ez az alapértelmezett. Az összes feltételek teljesülnie kell az átmenetnél az életbe lépéshez.

  • „vagy” (or): Legalább egy feltételnek illeszkednie kell.

  • „kizáró vagy” (xor): Pontosan egy feltételnek kell illeszkednie, nem többnek.

Felt1

Ez egy példafeltétel neve. Szabadon megválasztható. A feltételek a rendezett sorrendben lesznek kiértékelve.

Típus (Type) a „Felt” objektumokban

Annak a módját határozza meg, hogy a feltétel egyéni mezőpróbái hogyan kapcsolódnak egymáshoz. Lehetséges értékek:

  • „és” (and): Ez az alapértelmezett. Az összes mezőpróbának illeszkednie kell ennél a feltételnél az illesztéshez.

  • „vagy” (or): Legalább egy mezőpróbának illeszkednie kell.

  • „kizáró vagy” (xor): Pontosan egy mezőpróbának kell illeszkednie, nem többnek.

Mezők (Fields)

Meghatározza azokat a különleges mezőket, amelyek értékeit meg kell vizsgálni. A példánkból:

Fields => {
    StateID => {
        Type  => 'String',
        Match => '1',
    },
                        

Állapot-azonosító (StateID)

Egy mezőnév példája. A következő jegymezők használhatók:

    Title
    State
    StateID
    Priority
    PriorityID
    Lock
    LockID
    Queue
    QueueID
    Customer
    CustomerID
    CustomerNo
    CustomerUserID
    Owner
    OwnerID
    Type
    TypeID
    SLA
    SLAID
    Service
    ServiceID
    Responsible
    ResponsibleID
    DynamicField_$FieldName # minden dinamikus mezőnél
                        

Az „ID”-val rendelkező mezők (úgymint SLAID) próbájakor a mező adatbázis-azonosítója lesz használva a próbánál. Az egyéb mezőknél (úgymint SLA) az aktuális érték lesz használva a próbánál.

Típus

Meghatározza a mezőpróba fajtáját. Lehetséges értékek:

  • „Szöveg” (String): Összehasonlítja a mező értékét az illesztésben (Match) megadott szöveggel. Akkor illeszkedik, ha pontosan ugyanazok.

  • „Kivonat” (Hash): Összehasonlítja a mező értékét (hash) az illesztésben (Match) megadott kivonattal. Minden kivonatértéknek meg kell egyeznie.

  • „Tömb” (Array): Összehasonlítja a mező értékét (array) az illesztésben (Match) megadott tömbbel. Mindkét listának meg kell egyeznie.

  • „Reguláris kifejezés” (Regex): A mezőérték egy reguláris kifejezéssel is ellenőrizhető. Fontos, hogy az illesztés (Match) alapfeltételként a következőt tartalmazza: qr{}xms. A zárójelek között jegyezhető be az aktuális reguláris kifejezés.

  • „Modul” (Module): Lehetővé teszi egy perl modul használatát a feltétel ellenőrzéséhez. Ha a visszatérési értéke 1, akkor az ellenőrzés pozitív volt. Egy példamodul megtalálható a Kernel/System/ProcessManagement/TransitionValidation/ValidateDemo.pm fájlban.

Átmenet műveletek

Az átmenet műveletek olyan műveletek, amelyek a sikeresen alkalmazott átmenetek után aktiválhatók (amikor egy folyamatjegy átlép az egyik tevékenységből egy másikba). Ezek az átmenet műveletek különböző változtatások végrehajtásához használhatók a jegyen, például a jegy várólistájának vagy tulajdonosának megváltoztatásához. Létrehozhatja a saját átmenet műveleteit is egyéb összetett változtatások végrehajtásához.

Átmenet művelet beállításai

Nézzünk egy példát:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Várólista-áthelyezés',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet',
        Config => {
            Queue  => 'Szemét',
            UserID => 123,
        },
    },
};
                    

Név

Az átmenet művelet neve.

Modul (Module)

Megadja a használandó Perl-modult.

Beállítás (Config)

Ez a paraméter az összes olyan beállítást tartalmazza, amelyek szükségesek a modulhoz. A tartalma attól az adott átmenet művelet modultól függ, amelyet használnak. A részletekért nézze meg az egyes modulok dokumentációját. A mi példánkban csak a várólistát (Queue) kell megadni. Mindamellett a felhasználó-azonosító paramétert is elküldjük a UserID paraméter használatával. Az átmenet művelet a megadott felhasználó-azonosítóval rendelkező felhasználót megszemélyesítve lesz végrehajtva.

A felhasználó-azonosító (UserID) használata egy átmenet művelet beállítás (Config) paraméterén belül minden átmenet művelet által elfogadott (az OTRS 3.2.4 verziója óta). Ebben a példában ez különösen fontos lehet, ha az átmenetet aktiváló felhasználónak nincs jogosultsága a jegy áthelyezéséhez a „Szemét” (Junk) várólistába, miközben az 123 felhasználó-azonosítóval rendelkező felhasználónak van.

Átmenet művelet modulok újrahasználata

Az átmenet művelet modulok többszöri használatához egyszerűen adjon meg több átmenet műveletet a beállításokban. Példa:

    $Self->{'Process::TransitionAction'} = {
        'AM1' => {
            Name   => 'Várólista-áthelyezés: Szemét',
            Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet',
            Config => {
                Queue => 'Szemét',
            },
        },
        'AM2' => {
            Name   => 'Várólista-áthelyezés: Nyers',
            Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet',
            Config => {
                Queue => 'Nyers',
            },
        },
    };
                    

Itt ugyanazt a modult használják egy folyamatjegy áthelyezéséhez a Nyers várólistába, és egy másik alkalommal a szemét várólistába való áthelyezéshez. Az az átmenet művelet, amelyet egy adott átmenetnél használni kell, a folyamat beállításainak útvonal (Path) beállításában van meghatározva.

Elérhető átmenet műveletek

Az OTRS számos átmenet művelettel jön, amelyek használhatók a folyamatokban. Itt találhatja meg a dokumentációjukat, és hogy hogyan szükséges beállítani azokat.

DynamicFieldSet

Egy vagy több dinamikus mezőt állít be egy folyamatjegynél. Példa:

$Self->{'Process::TransitionAction'} = {
    'TA1' => {
        Name   => 'A „MasterSlave” dinamikus mező beállítása „Master” értékre és az „Approved” beállítása 1-re',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::DynamicFieldSet',
        Config => {
            MasterSlave => 'Master',
            Approved    => '1',

        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A mester-alárendelt (MasterSlave) és a jóváhagyva (Approved) dinamikus mezőnév példaként vannak megadva. A mezők értékei (Master és 1) lesznek beállítva ezzel az átmenet művelettel.

TicketArticleCreate

Létrehoz egy bejegyzést, a %DataPayload paraméterek a megadott kommunikációs csatornától függnek, alapértelmezetten az Internal van használva. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Bejegyzés létrehozási értesítés',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketArticleCreate',
        Config => {

        Config                   => {
            SenderType           => 'agent',            # (kötelező) agent|system|customer
            IsVisibleForCustomer => 1,                  # 0 vagy 1
            CommunicationChannel => 'Internal',         # Internal|Phone|Email|..., alapértelmezett: Internal

            %DataPayload,                               # néhány paraméter az egyes kommunikációs csatornáktól függően
        },
    },
};
                        

A %DataPayload a következő a MIME alapú kommunikációs csatornákhoz (Email,Internal és Phone).

            SenderType       => 'agent',                                                # agent|system|customer
            ContentType      => 'text/plain; charset=ISO-8859-2',                      # vagy választható karakterkészlet és MIME-típus (például 'text/html; charset=UTF-8')
            Subject          => 'valamilyen rövid leírás',                               # kötelező
            Body             => 'az üzenet szövege',                                     # kötelező
            HistoryType      => 'OwnerUpdate',                                          # EmailCustomer|Move|AddNote|PriorityUpdate|WebRequestCustomer|...
            HistoryComment   => 'Valamilyen szabad szöveg!',
            From             => 'Valamilyen Ügyintéző <email@example.com>',                       # nem kötelező, de hasznos
            To               => 'Valamilyen Ügyfél A <ugyfel-a@example.com>',             # nem kötelező, de hasznos
            Cc               => 'Valamilyen Ügyfél B <ugyfel-b@example.com>',             # nem kötelező, de hasznos
            ReplyTo          => 'Valamilyen Ügyfél B <ugyfel-b@example.com>',             # nem kötelező
            InReplyTo        => '<asdasdasd.12@example.com>',                           # nem kötelező, de hasznos
            References       => '<asdasdasd.1@example.com> <asdasdasd.12@example.com>', # nem kötelező, de hasznos
            NoAgentNotify    => 0,                                                      # he nem szeretne ügyintézői értesítéseket küldeni
            AutoResponseType => 'auto reply',                                           # auto reject|auto follow up|auto reply/new ticket|auto remove

            ForceNotificationToUserID   => '1,43,56',                                    # ha kényszeríteni szeretne valakit
            ExcludeNotificationToUserID => '43,56',
                 # ha teljesen ki szeretne zárni valakit az értesítésekből,
                 # el lesz távolítva a bejegyzés To: sorából is,
                 # magasabb prioritás a ForceNotificationToUserID paraméternél
            ExcludeMuteNotificationToUserID => '43,56',
                 # ugyanaz mint az ExcludeNotificationToUserID paraméternél,
                 # de csak küldés lesz elnémítva, az ügyintéző még látható
                 # lesz a bejegyzés To: sorában
                        

A név (Name) adja meg a beállított átmenet művelet nevét. Szabadon megválasztható, de utalnia kell a beállított művelet céljára.

A küldő típusa (SenderType) határozza meg a bejegyzés küldőjének típusát. Lehetséges értékek: agent, system, customer.

A látható az ügyfélnek (IsVisibleForCustomer) határozza meg, hogy a bejegyzést meg kell-e jeleníteni az ügyfélfelületen.

A kommunikációs csatorna (CommunicationChannel) határozza meg a létrehozandó bejegyzés típusát. Lehetséges értékek: e-mail (Email), belső (Internal) és telefon (Phone). Ez a lista bővíthető új kommunikációs csatornák telepítésével egy OTRS csomagon keresztül.

A tartalomtípus (ContentType) határozza meg a bejegyzés tartalomtípusát. Lehetséges értékek: text/plain; charset=ISO-8859-2 vagy bármilyen egyéb karakterkódolás és MIME-típus.

A tárgy (Subject) határozza meg a bejegyzés címét. Kötelező.

A törzs (Body) határozza meg a bejegyzés tartalmát. Kötelező.

Az előzmény típusa (HistoryType) határozza meg az előzménybejegyzés típusát. Lehetséges értékek: AddNote, ArchiveFlagUpdate, Bounce, CustomerUpdate, EmailAgent, EmailCustomer, EscalationResponseTimeNotifyBefore, EscalationResponseTimeStart, EscalationResponseTimeStop, EscalationSolutionTimeNotifyBefore, EscalationSolutionTimeStart, EscalationSolutionTimeStop, EscalationUpdateTimeNotifyBefore, EscalationUpdateTimeStart, EscalationUpdateTimeStop, FollowUp, Forward, Lock, LoopProtection, Merged, Misc, Move, NewTicket, OwnerUpdate, PhoneCallAgent, PhoneCallCustomer, PriorityUpdate, Remove, ResponsibleUpdate, SendAgentNotification, SendAnswer, SendAutoFollowUp, SendAutoReject, SendAutoReply, SendCustomerNotification, ServiceUpdate, SetPendingTime, SLAUpdate, StateUpdate, Subscribe, SystemRequest, TicketDynamicFieldUpdate, TicketLinkAdd, TicketLinkDelete, TimeAccounting, TypeUpdate, Unlock, Unsubscribe, WebRequestCustomer.

Az előzmény megjegyzése (HistoryComment) határozza meg az előzménybejegyzés tartalmát.

A From, To, Cc és ReplyTo e-mail címeket fogad a fent megadott jelölés szerint.

Az InReplyTo és a References e-mail üzenet-azonosítókat tartalmaznak.

NoAgentNotify - ha 1-re van állítva, akkor az ügyintéző e-mail értesítései nem lesznek kiküldve.

Az AutoResponseType a következő értékeket fogadhatja: auto follow up, auto reject, auto remove, auto reply, auto reply/new ticket.

A ForceNotificationToUserID, az ExcludeNotificationToUserID és az ExcludeMuteNotificationToUserID olyan felhasználó-azonosítók listáját fogadhatja, amelyek mindig értesítettek, nem értesítettek vagy értesítettként felsoroltak, de valójában nincs értesítési e-mail kiküldve.

TicketCreate

Létrehoz egy jegyet egy bejegyzéssel. Az új jegy összekapcsolható egy folyamatjeggyel. Példa.

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Jegylétrehozás',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketCreate',
        Config => {

            # a jegyhez kötelező:
            Title         => 'Valamilyen jegycím',
            Queue         => 'Nyers'             # vagy QueueID => 123,
            Lock          => 'unlock',
            Priority      => '3 normal',         # vagy PriorityID => 2,
            State         => 'new',              # vagy StateID => 5,
            CustomerID    => '123465',
            CustomerUser  => 'ugyfel@example.com',
            OwnerID       => 'felhasználónév',   # vagy OwnerID => 123,

            # a jegyhez opcionális:
            TN              => $TicketObject->TicketCreateNumber(), # opcionális
            Type            => 'Incident',            # vagy TypeID => 1, nem kötelező
            Service         => 'Szolgáltatás A',      # vagy ServiceID => 1, nem kötelező
            SLA             => 'SLA A',               # vagy SLAID => 1, nem kötelező
            ResponsibleID   => 123,                   # nem kötelező
            ArchiveFlag     => 'y',                   # (y|n) nem kötelező
            PendingTime     => '2011-12-23 23:05:00', # opcionális (függőben lévő állapotoknál)
            PendingTimeDiff => 123 ,                  # opcionális (függőben lévő állapotoknál)

            # a bejegyzéshez kötelező:
            SenderType           => 'agent',          # agent|system|customer
            CommunicationChannel => 'Internal'        # Internal|Phone|Email|..., alapértelmezett: Internal
            IsVisibleForCustomer => '0'

            %DataPayload,                             # néhány paraméter az egyes kommunikációs csatornáktól függően

            # a bejegyzéshez opcionális:
            TimeUnit                        => 123

            # egyéb:
            DynamicField_NameX => $Value,
            LinkAs => $LinkType,                                        # Normal, Parent, Child, stb. (megfelelő eredeti jegy)
            UserID => 123,                                              # opcionális, a bejelentkezett felhasználó felhasználó-azonosítójának felülbírálásához
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét. Szabadon megválasztható, de utalnia kell a beállított művelet céljára.

A Title a jegy címe.

A Queue vagy a QueueID adja meg az új jegyben használandó várólista nevét vagy azonosítóját.

A Lock vagy a LockID állítja be a jegy zárolási állapotát.

A Priority vagy a PriorityID adja meg az új jegyben használandó prioritás nevét vagy azonosítóját.

A State vagy a StateID adja meg az új jegyben használandó állapot nevét vagy azonosítóját.

A CustomerID az új jegynél beállítandó ügyfél-azonosító.

A CustomerUser annak az ügyfélnek a bejelentkező neve, aki hozzá lesz rendelve a jegyben.

Az OwnerID vagy az OwnerID határozza meg annak az ügyintézőnek a bejelentkezési nevét vagy azonosítóját, aki az új jegy tulajdonosa lesz.

A TN egy egyéni szám az új jegyhez.

A Type vagy a TypeID adja meg az új jegyben használandó jegytípus nevét vagy azonosítóját.

A Service vagy a ServiceID adja meg az új jegyben használandó szolgáltatás nevét vagy azonosítóját.

Az SLA vagy az SLAID adja meg az új jegyben használandó SLA nevét vagy azonosítóját.

A ResponsibleID annak az ügyintézőnek az azonosítója, aki az új jegy felelőse lesz.

A PendingTime egy előre meghatározott dátum a jegy függőben lévő időinek beállításához, amikor a jegyállapot egy függőben lévő állapottípushoz tartozik.

A PendingTimeDiff egy dinamikus dátum (másodpercben kifejezve a jelenlegi dátumtól/időtől) a jegy függőben lévő időinek beállításához, amikor a jegyállapot egy függőben lévő állapottípushoz tartozik.

A küldő típusa (SenderType) határozza meg a bejegyzés küldőjének típusát. Lehetséges értékek: agent, system, customer.

A látható az ügyfélnek (IsVisibleForCustomer) határozza meg, hogy a bejegyzést meg kell-e jeleníteni az ügyfélfelületen.

A kommunikációs csatorna (CommunicationChannel) határozza meg a létrehozandó bejegyzés típusát. Lehetséges értékek: e-mail (Email), belső (Internal) és telefon (Phone). Ez a lista bővíthető új kommunikációs csatornák telepítésével egy OTRS csomagon keresztül.

Nézze meg a további paramétereket a különböző bejegyzés csatornáknál.

A TimeUnit a jelenlegi jegybejegyzésbe fektetett idő másodpercben, percben, órában, stb. kifejezve.

A DynamicField_NevX beállítandó az új jegyben, ahol a DynamicField_ egy kötelező előtag és a NevX a dinamikus mező neve (jegyszinten, nem bejegyzés szinteken).

A LinkAs az új jegy kapcsolatának beállításához való a kezdeményező jeggyel az új jegy nézőpontjából, például: Normal, Parent, Child, stb.

Az okos OTRS címkék (mint például <OTRS_CUSTOMER_BODY> vagy <OTRS_CUSTOMER_REALNAME>) mostantól a TicketCreate átmenetműveletben is támogatottak. Azok az okos címkék használhatók egy új jegy létrehozásához, és a folyamatjegyből történő adatok beszúrásához ebbe a gyermekjegybe. Az okos OTRS címkék használata megegyezik a jegyértesítésekben lévő szövegsablonokkal.

TicketCustomerSet

Beállítja egy folyamatjegy ügyfelét. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Ügyfél beállítása a tesztelendő ügyfélhez',
        Module => 'Kernel::System::Process::TransitionAction::TicketCustomerSet',
        Config => {
            No      => 'teszt',
            User    => 'ugyfel-felhasznalo-123',
            # vagy más szavakkal
            # CustomerID     => 'ugyfel123',
            # CustomerUserID => 'ugyfel-felhasznalo-123',

        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A No vagy a CustomerID állítja be az ügyfél ügyfél-azonosítóját.

A User vagy a CustomerUserID állítja be az ügyfél felhasználónevét.

TicketLockSet

Megváltoztatja egy folyamatjegy zárolását. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Zár beállítása zárra',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketLockSet',
        Config => {
            Lock   => 'lock',
            # vagy
            LockID => 2,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Lock határozza meg a folyamatjegy új zárját.

A LockID határozza meg az új zár belső azonosítóját.

TicketOwnerSet

Megváltoztatja egy folyamatjegy tulajdonosát. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Tulajdonos beállítása: root@localhost',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketOwnerSet',
        Config => {
            Owner => 'root@localhost',
            # vagy
            OwnerID => 1,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

Az Owner adja meg az új tulajdonos bejelentkezési nevét.

Az OwnerID adja meg az új tulajdonos belső azonosítóját.

TicketQueueSet

Áthelyezi a jegyet egy célvárólistába. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Várólistába mozgatás: Nyers',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketQueueSet',
        Config => {
            Queue => 'Nyers',
            # vagy
            # QueueID => '2',
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Queue adja meg a célvárólista nevét.

A QueueID adja meg a célvárólista belső azonosítóját.

TicketResponsibleSet

Megváltoztatja egy folyamatjegy felelősét. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Felelős beállítása: root@localhost',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketResponsibleSet',
        Config => {
            Responsible => 'root@localhost',
            # vagy
            ResponsibleID => 1,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Responsible adja meg az új felelős bejelentkezési nevét.

A ResponsibleID adja meg az új felelős belső azonosítóját.

TicketServiceSet

Hozzárendel egy szolgáltatást egy folyamatjegyhez. A jegynek rendelkeznie kell egy ügyféllel, és a szolgáltatásnak hozzárendelve kell lennie ahhoz az ügyfélhez. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Saját szolgáltatás beállítása',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketServiceSet',
        Config => {
            Service   => 'Saját szolgáltatás',
            # vagy
            ServiceID => 123,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Service határozza meg a folyamatjegy új szolgáltatását. A teljes név kötelező (például NagypapaSzolgaltatas::ApaSzolgaltatas::GyermekSzolgaltatas).

A ServiceID határozza meg az új szolgáltatás belső azonosítóját.

TicketSLASet

Hozzárendel egy szolgáltatási szint megállapodást egy folyamatjegyhez. A jegynek rendelkeznie kell egy szolgáltatással, és az SLA-nak hozzárendelve kell lennie ahhoz a szolgáltatáshoz. Példa:

$Self->{'Process::TransitionAction'} = {
    'TA1' => {
        Name   => 'Saját SLA beállítása',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketSLASet',
        Config => {
            SLA   => 'Saját SLA',
            # vagy
            SLAID => 123,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

Az SLA határozza meg a folyamatjegy új szolgáltatási szint megállapodását.

Az SLAID határozza meg az új SLA belső azonosítóját.

TicketStateSet

Megváltoztatja egy folyamatjegy állapotát. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Állapot megváltoztatása nyitottra',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketStateSet',
        Config => {
            State   => 'open',
            # vagy
            StateID => 4,

            PendingTimeDiff => 123,
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A State határozza meg a folyamatjegy új állapotát.

A StateID határozza meg az új állapot belső azonosítóját.

A PendingTimeDiff csak függőben lévő állapotoknál használható, meghatározza az időeltérést másodpercben, relatívan (az átmenet művelet végrehajtási idejétől relatívan) a beállított jegy várakozó idejétől (például a 3600 azt jelenti, hogy a várakozási idő 1 óra, miután az átmenet művelet végre lett hajtva).

TicketTitleSet

Beállítja egy folyamatjegy jegycímét. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Jegycím beállítása Jegycímre',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketTitleSet',
        Config => {
            Title => 'Jegycím',
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Title adja meg a jegy új címét.

TicketTypeSet

Beállítja egy folyamatjegy jegytípusát. Példa:

$Self->{'Process::TransitionAction'} = {
    'AM1' => {
        Name   => 'Jegytípus beállítása alapértelmezettre',
        Module => 'Kernel::System::ProcessManagement::TransitionAction::TicketTypeSet',
        Config => {
            Type     => 'alapértelmezett',
            # vagy
            # TypeID => '1',
        },
    },
};
                        

A név (Name) adja meg a beállított átmenet művelet nevét.

A Type adja meg a jegytípus nevét.

A TypeID adja meg a jegytípus belső azonosítóját.

Hozzáférés-vezérlési listák (ACL-ek)

ACL-ek segítségével korlátozhatja a kiválasztható értékeket a folyamatjegyekben. Nézze meg az ACL hivatkozás szakaszt is a teljes jegy ACL szintaxisának leírásához.

ACL-beállítások

ACL-eket csak a Kernel/Config.pm fájlban lehet meghatározni. Példa:

$Self->{TicketAcl}->{'001-ACL-FolyamatTulajdonsagok'} = {
    Properties => {
        Process => {
            ProcessEntityID        => ['F1'],
            ActivityEntityID       => ['T1'],
            ActivityDialogEntityID => ['TP1'],
        }
    },
    Possible => {
        ActivityDialog => ['TP1', 'TP3'],
    },
    PossibleNot => {
        ActivityDialog => ['TP3'],
    },
};
                    

001-ACL-FolyamatTulajdonsagok

Az ACL-szabály neve. További információkért az ACL-szabályokról úgy általában nézzen utána az ACL-kézikönyvben.

Folyamat

Ez az a szakasz, amely annak ellenőrzéséhez használható, hogy egy ACL-t alkalmazni kell-e. Ha a megadott értékekkel rendelkezik, akkor a szabály alkalmazásra kerül. A következő értékek használhatók:

ProcessEntityID

Egy folyamat azonosítója, amely a folyamat. Akkor illeszkedik, ha a jegy hozzá van rendelve ehhez a folyamathoz.

ActivityEntityID

A tevékenység azonosítója, amelyhez a folyamatjegy jelenleg hozzá van rendelve.

ActivityDialogEntityID

A tevékenység párbeszéd azonosítója, amely jelenleg nyitott egy folyamatjegynél.

Possible/PossibleNot tevékenység párbeszéd

Itt adhatja meg a tevékenység párbeszéd azonosítók listáját. Ez a lista fogja korlátozni a lehetséges tevékenység párbeszédeket, amelyeket felkínálnak a felhasználónak a jegynagyítás maszkban.

A Possible sorolja fel azokat a tevékenység párbeszédeket, amelyek megengedettek. A fenti beállítás a beállított tevékenység párbeszédek listájának csak a TP1 és a TP3 elemét fogja engedélyezni.

A PossibleNot sorolja fel azokat a tevékenység párbeszédeket, amelyek nem megengedettek. A fenti példában a beállítás el fogja távolítani a TP3 elemet a beállított tevékenység párbeszédek listájából.

A mind a Possible, mind a PossibleNot meg van adva, akkor a beállított tevékenység párbeszédek listáját először a Possible fogja szűrni, a példánkban csak a TP1 és a TP3 elemet meghagyva. Ezután a PossibleNot lesz alkalmazva, és kiszűri a TP3 elemet azért, hogy csak a TP1 maradjon meg, és jelenjen meg lehetséges tevékenység párbeszédként, amelyet a felhasználó használhat.

Ha több ACL-szabály illeszkedik, akkor az összes illeszkedő szabály metszete lesz kiszámítva a lehetséges tevékenység párbeszédek meghatározásához. Példa:

Beállított tevékenység párbeszédek: TP1, TP2, TP3, TP4, TP5, TP6, TP7.

$Self->{TicketAcl}->{'001-ACL-Allapot'} = {
    Properties => {
        Ticket => {
            Status => 'új',
        }
    },
    Possible => {
        ActivityDialog => ['TP1', 'TP2', 'TP3', 'TP6', 'TP7'],
    },
};
$Self->{TicketAcl}->{'002-ACL-Varolista'} = {
    Properties => {
        Ticket => {
            Queue => ['Nyers']
        }
    },
    Possible => {
        ActivityDialog => ['TP2', 'TP3', 'TP4', 'TP7'],
    },
};
$Self->{TicketAcl}->{'003-ACL-Prioritas'} = {
    Properties => {
        Ticket => {
            Priority => ['3 normal']
        }
    },
    PossibleNot => {
        ActivityDialog => ['TP3', 'TP4'],
    },
};
                    

Ha egy folyamatjegy új (new) állapottal rendelkezik, a nyers (Raw) várólistában van és a prioritása 3 normál, akkor mindhárom ACL-szabály illeszkedni fog.

Az első szabály csökkenti a tevékenység párbeszédeket erről: TP1, TP2, TP3, TP4, TP5, TP6, TP7 erre: TP1, TP2, TP3, TP6, TP7 és kitiltja a TP4 és a TP5 elemet.

A második szabály most tovább fogja csökkenteni a megmaradt tevékenység párbeszédeket. A példánkban TP2, TP3 és TP7 fog megmaradni.

Most a harmadik szabály fogja tovább csökkenteni a listát a PossibleNot által. A TP3 eltávolításra kerül a listából. A TP4 nincs eltávolítva, mivel nem volt a lista első helyén. Végül TP2 és TP7 marad meg lehetséges tevékenység párbeszédként, amelyeket a felhasználó felhasználhat.

Lehetséges a korlátozni azokat a folyamatokat is, amelyek megjeleníthetők az Új folyamatjegy képernyőn. A funkcionalitás hasonló a tevékenység párbeszédek korlátozásához egy kivétellel: az ACL-ek csak a felhasználókon alapulhatnak.

Nézze meg a lenti példákat:

$Self->{TicketAcl}->{'200-ACL-Folyamat'} = {
    # illesztési tulajdonságok
    Properties => {
        User => {
            UserID => [2, 3],
        },
    },
    Possible => {
       Process => ['F1', 'F2', 'F3'],
    },
    PossibleNot => {
        Process => ['F4'],
    },
};
                    

$Self->{TicketAcl}->{'201-ACL-Folyamat'} = {
    # illesztési tulajdonságok
    Properties => {
        User => {
            Group_rw => [ 'Saját csoport' ],
        },
    },
    Possible => {
       Process => ['F1', 'F2', 'F3'],
    },
    PossibleNot => {
        Process => ['F4'],
    },
};
                    

$Self->{TicketAcl}->{'202-ACL-Folyamat'} = {
    # illesztési tulajdonságok
    Properties => {
        User => {
            Role => [ 'Saját szerep' ],
        },
    },
    Possible => {
       Process => ['F1', 'F2', 'F3'],
    },
    PossibleNot => {
        Process => ['F4'],
    },
};
                    

Használatra kész folyamat importálása

Importálás

Az AdminProcessManagement képernyőn található egy Használatra kész folyamatok felületi elem, ahol megtalálhatja a legjobb gyakorlatok szerinti használatra kész folyamatokat. Jelenleg csak az Alkalmazás a kilépéshez folyamat érhető el, de további használatra kész folyamatokat találhat az OTRS Business Solution™ csomagban.

5.24. ábra - Használatra kész folyamatok importálása felületi elem

Használatra kész folyamatok importálása felületi elem


Válasszon folyamatot a legördülő menüből, és kattintson a Használatra kész folyamat importálása gombra. A folyamat importálása után ne felejtse el üzembe állítani a változtatásokat.