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.
Nézzünk egy példát hogy meggyőzőbbé tegyük. Meg fogunk határozni egy könyvrendelési folyamatot:
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
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.
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.
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ímke | Cím |
Típus | Szöveg |
Objektum | Jegy |
Szerző
Címke | Szerző |
Típus | Szöveg |
Objektum | Jegy |
ISBN
Címke | ISBN |
Típus | Szöveg |
Objektum | Jegy |
Állapot
Címke | Állapot |
Típus | Legördülő |
Objektum | Jegy |
Lehetséges értékek |
|
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ímke | Beszállító |
Típus | Szöveg |
Objektum | Jegy |
Ár
Címke | Ár |
Típus | Szöveg |
Objektum | Jegy |
KezbesitesDatuma
Címke | Kézbesítés dátuma |
Típus | Dátum |
Objektum | Jegy |
KezhezvetelDatuma
Címke | Kézhezvétel dátuma |
Típus | Dátum |
Objektum | Jegy |
Állítsa be a következő rendszerbeállítási lehetőségeket:
„Ticket::Responsible”: Igen
„Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicFieldGroups”:
Kulcs: | Tartalom: |
---|---|
Könyv | Cím, Szerző, ISBN |
Általános | Állapot |
Rendelés | Ár, Beszállító, KiszállításDátuma |
Szállítmány | KezhezvetelDatuma |
„Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicField”:
Kulcs: | Tartalom: |
---|---|
Szerző | 1 |
KezhezvetelDatuma | 1 |
KezbesitesDatuma | 1 |
ISBN | 1 |
Ár | 1 |
Állapot | 1 |
Beszállító | 1 |
Cím | 1 |
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.
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).
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.
Kattintson az „Új folyamat létrehozása” műveletre a műveletek dobozban.
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.
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.
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.
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.
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'], }, }, };
Az „Elérhető folyamatelemek” dobozban kattintson az „Átmenetek” elemre, majd kattintson az „Új átmenet létrehozása” gombra.
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.
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.
Kattintson az „Átmenet műveletek” elemre az „Elérhető folyamatelemek” dobozban, majd kattintson az „Új átmenetművelet létrehozása” gombra.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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:
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
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.
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', }, }, }, } };
A felhasználó felhasználó-azonosítója, aki az utolsó változtatást végezte a folyamaton.
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.
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.
Ú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.
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.
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.
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', }, }, };
A legutolsó felhasználó felhasználó-azonosítója, aki a tevékenységet megváltoztatta.
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.
A tevékenység párbeszéd egy különleges képernyő, és különböző tevékenységekben használható.
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', }, };
A felhasználó felhasználó-azonosítója, aki a tevékenység párbeszédet létrehozta.
A legutolsó felhasználó felhasználó-azonosítója, aki a tevékenység párbeszédet megváltoztatta.
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:
Nem kötelező rövid leírás, amely a cím mezővel együtt lesz megjelenítve.
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.
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.
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', },
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.
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.
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.
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', }, }, }, };
A legutolsó felhasználó felhasználó-azonosítója, aki az átmenetet megváltoztatta.
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.
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.
Ez egy példafeltétel neve. Szabadon megválasztható. A feltételek a rendezett sorrendben lesznek kiértékelve.
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.
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', },
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.
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.
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.
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, }, }, };
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.
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.
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.
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.
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.
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.
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.
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.
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.
Á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.
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.
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.
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.
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).
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.
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.
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-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'], }, };
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.
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:
Egy folyamat azonosítója, amely a folyamat. Akkor illeszkedik, ha a jegy hozzá van rendelve ehhez a folyamathoz.
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'], }, };
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.
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.