===== TMS Script =====
A TMS script műveleteinek egy része közös a TMS e-mail felületén használtakkal, ezekkel: [[evir:tms:tms_commander|TMS Commander]]
A script felépítése szerint blokkokból áll. Egy blokkot az utasítás kezdi meg, és az EOF string zárja le, pl:
CREATESUB TASK $0
SUBJECT: gyerektaszk1
WORKGROUP: munkacsoport1
LEIRAS: első teszt gyerektaszk
EOF
CREATESUB TASK $0
SUBJECT: gyerektaszk2
WORKGROUP: munkacsoport1
LEIRAS: második teszt gyerektaszk
EOF
Egy munkafolyamat (tms script) leírásához a következő utasítások és paraméterek használhatóak:
* ''CREATE'' \\ egy új taszk létrehozása. A rendszer beállításaitól függően vannak kötelezően megadandó adatok, pl. munkacsoport, intéző, leírás, stb, ezeket a következőkkel kell leírni:
* ''SUBJECT'': a taszk tárgya
* ''WORKGROUP'': a taszk munkacsoportja
* ''INTEZO'': a taszk intézője
* ''CREATESUB TASK'' \\ egy gyerektaszkot hoz létre.
* ''SUBJECT'': a gyerektaszk tárgya
* ''WORKGROUP'': a gyerektaszk munkacsoportja
* ''INTEZO'': a gyerektaszk intézője
* ''PARTNER_ID'': a gyerektaszk partnere. A szülőtaszk partnerére a ''partner($0)''-val lehet hivatkozni.
* ''ST_SUSPEND'' \\ a paraméterként megadott taszk felfüggesztése
* ''WAKEUP_SCRIPT'' \\ az ébresztés scriptje
* ''DEPEND_TID'' \\ annak a taszknak az azonosítója, amitől függ a felfüggesztett taszk ébresztése
* ''COMMENT'' \\ megjegyzés
* ''ST_ABORT'' \\ a paraméterként megadott taszk törlése
* ''ST_AKTIV'' \\ a paraméterként megadott taszok aktív állapotra állítja
* ''ST_CLOSE'' \\ a paraméterként megadott tasz lezárása
* ''AWAKE TASK $-1'' \\ taszk felébresztése felfüggesztett állapotból
A TMS Scriptekben használható változók:
* ''$0'': a szülőtaszk azonosítója
* ''$-1'': az előző taszk azonosítója
* ''$1'': az első gyerektaszk azonosítója
----
==== Példa scriptek ====
Néhány példa TMS script, aminek a testreszabásával lehetőség van saját folyamatok kialakítására.
=== Ébresztés ===
Funkciója kizárólag annyi, hogy másik taszkokhoz meg lehessen adni paraméterként. Pl. ''WAKEUP_SCRIPT: Ébresztés'':
Név: Ébresztés
TMS Script:
awake $-1
EOF
----
=== Egyszerű folyamat ===
Példának okáért legyen egy olyan munkafolyamat, ami 3 lépésből áll:
* ajánlat adás, amit az értékesítés munkacsoport végez
* kivitelezés, amit műszak munkacsoport dolga
* számlázás, ami a pénzügy munkacsoport feladata.
Ameddig az ajánlat adás aktív, addig a másik két taszk legyen felfüggesztve, de ha megérkezik a megrendelés, akkor az ajánlatos taszk lezárásával ébredjen fel a kivitelezés. Ugyan ilyen módon, ha kész a kivitelezés és lezárásra kerül a taszk, akkor ébredjen fel a számlázás taszkja. Ennek a scriptje a következő:
CREATESUB TASK $0
SUBJECT: Ajánlat
WORKGROUP: értékesítés
LEIRAS: Ajánlatot kell adni
EOF
CREATESUB TASK $0
SUBJECT: Kivitelezés
WORKGROUP: műszak
LEIRAS: A projekt kivitelezési munkái
EOF
CREATESUB TASK $0
SUBJECT: Számlázás
WORKGROUP: értékesítés
LEIRAS: Számlázni kell a projektet
EOF
ST_SUSPEND TASK $3
WAKEUP_SCRIPT: Ébresztés
DEPEND_TID: $2
COMMENT: Várakozás
EOF
ST_SUSPEND TASK $2
WAKEUP_SCRIPT: Ébresztés
DEPEND_TID: $1
COMMENT: Várakozás
EOF
Az előző folyamat kiegészítése a következőkkel:
* a gyerektaszkokhoz is ugyan az a partner tartozzon, mint a projekthez
* a gyerektaszkok tárgya tartalmazza a projekt tárgyát is
* a gyerektaszkok közül az elsőnek a tervezett határideje legyen a készítéstől számított 4 nap, a felfüggesztett taskoknak pedig a felébresztéstől számított 10 nap, de addig legyen üres
* a taszkokhoz legyenek beállítva felhasználók is intézőnek
Ehhez két script is kell: egyrészt az ébresztéshez az időpont beállítással, és maga a folyamatleírás:
Név: Ébresztés-10nap
Automata: igen
Aktív: igen
TMS Script:
AWAKE TASK $-1
EOF
MODIFY TASK $-1
TERV_HATARIDO: +10d
EOF
Név: Új munkafolyamat
Automata: nem
Aktív: igen
TMS Script:
CREATESUB TASK $0
SUBJECT: subject($0): Ajánlat
WORKGROUP: értékesítés
INTEZO: felhasználó
LEIRAS: Ajánlatot kell adni
PARTNER_ID: partner($0)
TERV_HATARIDO: +4d
EOF
CREATESUB TASK $0
SUBJECT: subject($0): Kivitelezés
WORKGROUP: műszak
INTEZO: felhasználó
LEIRAS: A projekt kivitelezési munkái
PARTNER_ID: partner($0)
TERV_HATARIDO:
EOF
CREATESUB TASK $0
SUBJECT: subject($0): Számlázás
WORKGROUP: értékesítés
INTEZO: felhasználó
LEIRAS: Számlázni kell a projektet
PARTNER_ID: partner($0)
TERV_HATARIDO:
EOF
ST_SUSPEND TASK $3
WAKEUP_SCRIPT: Ébresztés-10nap
DEPEND_TID: $2
COMMENT: Várakozik a tid($2) taszkra
EOF
ST_SUSPEND TASK $2
WAKEUP_SCRIPT: Ébresztés-10nap
DEPEND_TID: $1
COMMENT: Várakozik a tid($1) taszkra
EOF