Ismerje meg, hogyan használhatja a triggereket az alkalmazások logikájának kódírás nélküli kialakításához.
This topic is featured in the Basic App Design and Logic course in Tulip University.
Ebben a cikkben a következőket fogja megtudni:
- A trigger parancsok, a logika és a végrehajtási viselkedés
- A triggerek létrehozásának és szervezésének bevált gyakorlatai
- Gyakori felhasználási esetek
A triggerek segítségével logikát adhat az alkalmazásához. A triggerekkel eszközökkel léphet kapcsolatba, riasztásokat küldhet, adatokat írhat, háttérrendszerekkel kommunikálhat és még sok minden mást tehet – mindezt anélkül, hogy egyetlen sor kódot is írna.
A triggerek gyakori felhasználási esetei a következők:
- Navigálás az alkalmazáson belül: Átmenet segítségével lépjen át egy másik lépésre.
- Az alkalmazás befejezése: Naplózza az alkalmazás metaadatait.
- Csatlakozó funkció futtatása a háttérrendszer eléréséhez: Használjon csatlakozókat, hogy a Tulip kommunikálhasson harmadik féltől származó rendszerekkel, és futtasson egy csatlakozó funkciót egy trigger segítségével.
- Riasztások küldése: Küldjön e-maileket vagy SMS-riasztásokat egy alkalmazásból egy rendszergazdának. Ezek az üzenetek tartalmazhatnak képeket, a folyamatról szóló állapotinformációkat vagy egyéb releváns információkat.
- Adatok tárolása: Az alkalmazásból származó bemeneti adatok tárolása változókban vagy táblázatokban.
- Használjon eszközt: Azoknál az operátoroknál, akik a folyamat során mindkét kezüket használják, adjon hozzá egy eszközeseményre vonatkozó triggert, például egy lábféket, hogy a következő lépésre léphessenek.
Hogyan működnek a triggerek?
Logika
A kiváltók a „ha, akkor, egyébként” logikai szerkezetet használják:
- amikor „esemény regisztrálódik a Tulipban”
- akkor „művelet végrehajtása” vagy „átmenet végrehajtása”.
A triggerek feltételes logikát is tartalmazhatnak:
- ha „esemény regisztrálódik a Tulipban”
- if „a feltétel teljesül”
- akkor „intézkedés”
- egyébként „más műveletet hajtson végre”
További információk a feltételes trigger logikáról itt találhatók.
A kiváltókat egy Trigger Event csomagolja össze, és azok műveletekből és feltételekből állnak.
A kiváltók lehetnek olyan egyszerűek, mint az alábbi példában:

Ha megnyomnak egy gombot, akkor lépjen a következő lépésre.
Vagy a kiváltók bonyolultabbak is lehetnek, például egy vonalkód-beolvasás, amely lekérdezi a háttér adatbázist, hogy a rendelési információkat változóként adja vissza.

Amikor a vonalkód-leolvasó kimenetet ad az aktuális állomáson, akkor egy API Call (amelyet egy csatlakozó függvény futtat) lekérdezi a rendelési adatokat egy külső adatbázisból, és elmenti az értéket egy változóba. A kiváltó esemény ezután átvált a következő lépésre.
Parancstípusok
Kétféle parancsot használhat egy triggerben:
- Művelet: Az alkalmazásban végrehajtott olyan változás, amely nem kapcsolódik a lépések megváltoztatásához (pl. hibaüzenet megjelenítése, e-mail küldése, az alkalmazás képernyőképeinek rögzítése)
- Átmenet: Navigációs esemény magában az alkalmazásban (pl. átlépés a következő lépésre, az alkalmazás befejezése, az alkalmazás megszakítása). Az átmenetek más triggerek elindítását is lehetővé teszik (azaz elindítják azokat). Például létrehozhat egy alkalmazásszintű triggert, amely minden alkalommal elindul, amikor az alkalmazás befejeződik.
Kiváltó sor
A Trigger Event-ek (pl. egy gombra kattintás) a Tulip Playerben végrehajtásra váró, egymást követő, egy szálú Trigger Queue-ba helyezik a kiváltókat.

A Trigger Queue hatással van:1. Funkciók: * A funkciók szerepelnek a Trigger Queue-ban2. Egyéni widgetek: * Az egyéni widgetekben végrehajtott logika hatással lehet a Trigger Queue-ra
Automations run in the background, not in an app (even if the Automation is initiated by an action performed in the app), and therefore are not added to the trigger queue.
Végrehajtási sorrend
A triggerek sorozatban és sorrendben futnak a kiváltó események ( Trigger Event ) alapján (pl. gombnyomás, időzítő, táblázatsor kiválasztása).
A triggerek egymás után futnak, vagyis a sorozat első triggerének befejeződnie kell, mielőtt a második trigger végrehajtása megkezdődne. A triggerek végrehajtásának ezt a sorrendjét trigger-sorának nevezzük.
A trigger-sor független az alkalmazáson belüli egyéb feladatoktól, mint például a változó-interakciók (pl. szövegbeviteli mezők, jelölőnégyzetek), az egyéni widgetek és az egyéni widgetek JavaScript-kódja.
Hogyan használják a beviteli értékeket a triggerekben?
A beviteli értékeket (azaz a változókat) hivatkozásként adják át a triggereknek.
A triggerek a trigger végrehajtásának időpontjában hivatkoznak a változó bemeneti értékére. Ha a bemeneti érték a trigger végrehajtása előtt megváltozik, a trigger a legfrissebb értékre fog hivatkozni.
A változók az alkalmazáson belül globálisak, így az alkalmazáson belüli más logikai elemek is módosíthatják őket.
:
Mikor törlődnek a triggerek?
A trigger-sorban lévő triggerek törlődnek, és ezért nem kerülnek végrehajtásra, ha:
- Egy trigger átmenet után kerül a sorba: Amikoregyátmenetvégrehajtásra kerül (pl. „Következő”, „Alkalmazás befejezése”, „Ugrás lépésre név szerint” stb.), a sorban maradt összes trigger törlésre kerül.
- A Tulip Player erőszakos bezárása: Haegy operátor erőszakosan bezárja a lejátszót (pl. ha az alkalmazás nem reagál), a futó triggerben maradt összes művelet és a sorban maradt összes trigger törlésre kerül.
Hibakezelés
A következő esetekben lépnek fel trigger-hibák és az azokból következő törlések:
- Trigger-műveleti hiba
- A trigger időtúllépése
Trigger műveleti hiba
The Show Error action (show a message to the operator with a red background) does not count as a trigger error.
Ha egy triggerben egy művelet hibaüzenetet eredményez, a triggerben maradt többi művelet kihagyásra kerül vagy törlésre kerül:
Hiba után alapértelmezés szerint a sorban és a trigger eseményben maradt trigger-ek nem kerülnek végrehajtásra a következő alkalmazás- és lépésszintű trigger-ek esetében:* Alkalmazás indítása* Alkalmazás befejezése* Alkalmazás törlése* Lépés belépésekor* Lépés kilépésekor

Minden egyéb típusú trigger esetében (pl. „Gomb megnyomásakor”) a „Hiba esetén a fennmaradó triggerek leállítása” kapcsoló alapértelmezés szerint ki van kapcsolva.
Trigger időtúllépés
Ha egy trigger időtúllépése következik be (lásd: Trigger időtúllépések), a sorban lévő összes fennmaradó trigger törlésre kerül.
Műszaki viselkedés
A trigger futási ideje
- A kiváltók egymás után, egyetlen kiváltási futási idő alatt kerülnek végrehajtásra. A kiváltási futási idő az az időszak, amikor egy kiváltó aktívan fut a Tulipban.
- A triggerek soha nem futnak párhuzamosan vagy más triggerek háttérében. Egy új trigger csak akkor kezdheti meg a futását, ha az aktuális, futó trigger befejeződött.
- Az operátorok továbbra is kölcsönhatásba léphetnek az alkalmazással (pl. gombokra kattinthatnak, táblázatokkal dolgozhatnak) a trigger futása közben. Ezek a gombnyomások és egyéb triggeresemények új triggereket adnak hozzá a trigger-sorhoz.
Trigger időkorlátok – frissítve az LTS15 / r332 verzióban
Az alapértelmezett trigger időkorlát 10 perc, amely után a trigger és az esetleges fennmaradó műveletek törlésre kerülnek, és a sorban lévő összes többi trigger is törlésre kerül.
A 10 perces időkorlát a Trigger Event-re vonatkozik. Például, ha egy gombnyomáshoz 5 trigger tartozik, akkor a trigger-sorban lévő mind az 5 triggernek és a hozzájuk tartozó műveleteknek a 10 percen belül végre kell hajtódniuk.
A trigger futási idejének 30 másodperc elteltével az alkalmazás a következő üzenetet jeleníti meg a kezelő számára:
A trigger futási idejének 100 másodperc elteltével az alkalmazás a következő üzenetet jeleníti meg az operátor számára:
10 perc elteltével a kiváltó művelet törlődik, és az alkalmazás a következő hibaüzenetet jeleníti meg:
Opcionális időkorlát-beállítások
Az alábbi módszerekkel szerkesztheti egy példány időkorlát-beállításait:
-
A Tulip engedélyezheti vagy letilthatja azt a beállítást, amely lehetővé teszi a kezelők számára, hogy az első 100 másodperc letelte után manuálisan töröljék a hosszú ideig futó triggert. A funkció engedélyezéséhez vegye fel a kapcsolatot a Tulip ügyfélszolgálatával.
-
A Tulip ügyfélszolgálata csökkentheti vagy növelheti az időkorlát időtartamát. Vegye figyelembe, hogy a Tulip a 10 perces időkorlátot javasolja kiindulási pontként, hogy növelje annak valószínűségét, hogy a logika végigfut. Ha egy trigger végrehajtása következetesen néhány percnél tovább tart, fontolja meg a következőket:
- Egyszerűsítse a trigger logikáját az operátorok felhasználói élményének javítása és a trigger meghibásodásának valószínűségének csökkentése érdekében.
- Ha lehetséges, indítson el egy automatizálást a háttérben, hogy tehermentesítse a logika végrehajtását, és csökkentse annak kockázatát, hogy a kezelő további munkája megakadályozódjon.
- Ellenőrizze és optimalizálja a trigger logikában szereplő, harmadik féltől származó rendszerektől való függőségeket (pl. lassú csatlakozófüggvények, nem optimális API használata).
Táblázati rekordműveletek
Inconsistent sequencing of Trigger Actions will result in inconsistent user experience when reviewing audit trails in the Record History Widget.
Táblázati rekord létrehozása
Új táblázati rekord létrehozásakor a bevált gyakorlat az, hogy a „Táblázati rekord / Rekord létrehozása” műveletet azonnal kövessék a megfelelő adatkezelési műveletek, amelyek kitöltik az újonnan létrehozott táblázati rekord többi oszlopát.
Ha a „Táblázati rekord / Létrehozás” művelet és a többi oszlop kitöltésére szolgáló műveletek között más műveletek is szerepelnek, akkor az adott táblázati rekord létrehozása külön eseményként jelenik meg a rekordelőzmény-widgetben.
Táblázati rekord létrehozása – LTS15 / r332 verziótól
Az LTS15 verziótól kezdve a „Táblázati rekord / Rekord létrehozása” és az „Adatmanipuláció / Tárolás” egymást követő táblázati műveletek ugyanazon rekordhoz kapcsolódnak. Ez azt jelenti, hogy a triggerben a „Létrehozás” és az „Adatmanipuláció” műveletek egy tranzakcióban hajtódnak végre.
A „Rekord létrehozása” és az „Adatkezelés / Tárolás” műveletek nem kerülnek összevonásra egy tranzakcióba, ha közöttük bármilyen más művelet található (pl. változókra vagy más táblarekordokra vonatkozó adatkezelések, csatlakozófüggvények stb.).
A következő példaként bemutatott triggerekben a „Record létrehozása” művelet és az „Adatmanipuláció / Tárolás” műveletek összevonásra kerülnek, és vagy mind sikerrel járnak, vagy mind sikertelenek lesznek. Ha a műveletek mind sikertelenek, akkor azok a rugalmas újrapróbálkozások keretében együttesen újra megkísérelésre kerülnek.
1. példa: Ugyanazon táblarekordra vonatkozó egymást követő „Create” és „Data Manipulation” műveletek: Ezek azLTS15-ben vagy mind sikeresek lesznek, vagy mind sikertelenek, de az LTS12 előtti verziókban nem.
2. példa: Ugyanazon táblarekordra vonatkozó egymást követő létrehozási és adatmanipulációs műveletek, amelyeket egy csatlakozófüggvény-művelet követ. Az LTS15-ben maguk a táblarekord-létrehozási és adatmanipulációs műveletek csomagba kerülnének. A csatlakozófüggvény-művelet a táblaműveletek sikerétől függetlenül is sikertelen lehet.
A következő triggerben az Adatmanipuláció / Tárolás műveletek két különböző táblarekordra vonatkoznak, ezért a műveletek nem kerülnek egyetlen tranzakcióba csomagolásra.
3. példa: Ugyanazon táblarekordra vonatkozó „Táblarekord létrehozása” és „Adatmanipuláció / Tárolás” műveletek, amelyeket egy másik „Adatmanipuláció” művelet választ el egymástól. Ezek aműveletek nem kerülnek egyetlen tranzakcióba összevonásra.
A következő triggerben a „Táblarekord” és az „Adatmanipuláció / Mentés” műveletek nem kerülnek összevonásra, mivel az előző műveletben létrehozott táblarekord metaadatait használják az „Adatmanipuláció / Mentés” művelet adatbeviteleként.
4. példa: Létrehozás és frissítés a saját adataiból Ezeka műveletek nem kerülnek egyetlen tranzakcióba.
Ha összesítést használunk egy csomagolt táblázati frissítési műveletben, az összesítési értéket a frissítés előtt veszik figyelembe. Az összesítési érték nem tükrözi a csomagolt táblázati rekord frissítését.
5. példa: Létrehozás és frissítés összesítésekkel Ezek aműveletek csomagba kerülnek, és az összesítési értéket a létrehozási művelet végrehajtása előtt veszik figyelembe.
Táblarekord frissítése
Ugyanazon táblarekordra vonatkozó egymást követő adatmanipulációs műveletek csomagolva kerülnek végrehajtásra egyetlen hálózati kérésben, így mindegyik egyszerre történik
A táblarekordokat érintő kiváltó műveletek a művelettípusuk és sorrendjük alapján kerülnek csoportosításra. Az azonos tárolási helyre vonatkozó tárolási műveletek egyetlen hálózati kérésbe kerülnek összevonásra. Ezzel szemben az olyan műveletek, mint a „Rekord betöltése” vagy a „Rekord létrehozása”, különálló tranzakcióként kerülnek kezelésre.
A legjobb teljesítmény érdekében javasoljuk, hogy az ugyanazon rekordra vonatkozó frissítéseket egymás után hajtsák végre – azaz ne keverjék össze az ugyanazon rekordra vonatkozó frissítéseket más táblázati vagy adatműveletekkel.
1. példa: Ugyanazon rekordra vonatkozó egymást követő frissítések Ezek aműveletek egyetlen tranzakcióba kerülnek összevonásra:
2. példa: Ugyanazon rekordra vonatkozó, más műveletekkel elválasztott frissítések Ezek a műveletek nem kerülnek összevonásra, mivel az azonos táblarekordok nem egymást követőek:
A következő triggerben az adatmanipulációs / tárolási műveletek két különböző táblarekordra vonatkoznak, ezért a műveletek nem kerülnek egyetlen tranzakcióba.
3. példa: Két különböző rekord frissítése Ezeka műveletek nem kerülnek egyetlen tranzakcióba.
Ha összesítést használunk egy csomagolt táblázati frissítési műveletben, az összesítési értéket a frissítés előtt számítják ki. Az összesítési érték nem tükrözi a csomagolt táblázati rekord frissítését.
4. példa: Összesítéseket tartalmazó frissítések: Ezek aműveletek csomagolva lesznek, ami azt jelenti, hogy az összesítési érték kiszámítása a frissítés előtt történik.
Trigger (táblaművelet) újrapróbálkozások – új funkció az LTS15 / r332 verziótól
A triggerek csak a táblaműveleteket próbálják meg újra (pl. tábladatok írása, tábladatok frissítése, táblainterakciók stb.).
A trigger futási idejének 10 percén belül, ha egyetlen táblaművelet is sikertelen, akkor azt legfeljebb 2 percig próbálja meg újra. Ha a művelet 2 perc elteltével sem hajtható végre, a trigger-sorban lévő összes többi művelet és trigger törlődik.
A hálózati megbízhatóságot biztosító trigger esetében ügyeljen arra, hogy a trigger műveletei kizárólag táblainterakciókat és adatfrissítéseket tartalmazzanak. A megbízható táblaműveletekkel kapcsolatos útmutatást a Táblarekord-műveletek című részben találja.
Connector function calls, send emails, and machine monitoring would not be network resilient in LTS15.
A trigger műveleteinek újrapróbálkozásai nem eredményeznek duplikált eredményt, ha a művelet véletlenül kétszer fut le. Ez biztosítja, hogy egy táblaművelet ne írjon be többször ugyanazt az adatot.
Korlátozások és időkorlátok
| Korlát | |
|---|---|
| Triggeresemény időkorlátja – Amint ez az időkorlát elérhető, az adott eseményhez társított összes trigger hibaüzenetet ad, és eltűnik a trigger-sorból. | - LTS15/r332: A Trigger Event-ek időkorlátja 10 perc. - (LTS15/r332 előtt): A trigger események időkorlátja 100 másodperc. |
| Trigger Queue – Amint ez a korlát elérhető, az új trigger események törlődnek, és nem kerülnek végrehajtásra. | A trigger-sor alapértelmezés szerint legfeljebb 100 trigger-eseményt képes tárolni. |
| Egy átmenet által kiváltott egymást követő trigger-ek száma – azaz: gombnyomással történő átmenet az 1. lépésre → a „lépés nyitása” 2 trigger-t futtat → átmenet a 2. lépésre → a „lépés zárása” 3 trigger-t futtat → a „lépés nyitása” 1 trigger-t futtat, stb. | A trigger-sor legfeljebb 100, átmenet által kiváltott egymást követő triggert hajt végre Ha ez a korlát elérhető, az új átmeneti trigger-ek törlésre kerülnek. |
| Átmeneti trigger időkorlát (Átmeneti esemény trigger időkorlát) – Az olyan átmeneti triggerek (pl. „Ugrás a lépésre”, „Lépés belépésekor”, „Lépés kilépésekor”) végrehajtására vonatkozó időkorlát | - LTS15/r332: 25 másodperc (beállítható) |
A kiváltók típusai
Háromféle trigger létezik:
Alkalmazásszintű kiváltók
Az alkalmazásszintű kiváltókat a következő eseményekre alkalmazhatja:
- Alkalmazás indítása
- Az alkalmazás befejezése
- Az alkalmazás törlése
Az alkalmazás szintű kiváltókat az Alkalmazás fülön érheti el.
Az alkalmazásszintű kiváltókról itt találhat további információkat.
Lépésszintű kiváltók
A lépésszintű kiváltókat a következő eseményekre alkalmazhatja:
- Rendszeres időközönként („időalapú kiváltás”)
- Amikor bejövő jel érkezik egy géptől vagy eszköztől („gépek és eszközök”)
- A lépés megnyitásakor
- A lépés bezárásakor
A lépésszintű kiváltók a „Lépés” fülön érhetők el.
További információk a lépésszintű kiváltókról itt találhatók
Widget-kiváltók
A widget-kiváltók egy gomb megnyomásakor aktiválódnak. Egy lépésen több gombkiváltó is lehet, amelyek akkor aktiválódnak, amikor a Tulip Playerben egy operátor megnyomja a megfelelő gombot.
Válassza ki a kívánt widgetet, majd a Widget fülről érheti el a widget-triggereket.

További információk a widget-triggerekről itt találhatók.
Indító létrehozása
- A Side Pane-ban kattintson a + gombra az Indítók szakaszban. Megnyílik az indítószerkesztő.
- Adjon nevet az indítónak, hogy könnyen azonosíthassa, mire szolgál az alkalmazásban. További részletekhez leírást is hozzáadhat.
Bevált gyakorlatok
- A kiváltók beállítása a hibák kezelésére: A kiváltókatúgy kell beállítani, hogy hiba esetén folytassák vagy leállítsák a műveletet. A kiváltó hibaüzenetet adhat érvénytelen bemeneti adatok, végrehajtási hiba, vagy sikertelen csatlakozófüggvény vagy táblába írási kísérlet miatt.
- Ha egy triggert úgy konfigurálnak, hogy folytassa a futást, a hibás trigger leáll, de a következő trigger folytatja a futást
- Ha egy trigger úgy van beállítva, hogy leálljon, a Trigger Eventben szereplő többi trigger is törlésre kerül.

- Kerülje a hosszú futásidejű triggerek használatát interaktív widgeteket tartalmazó lépésekben. A widgetekaz interakciót követően azonnal vizuálisan megváltoztatják állapotukat. Míg a kezelő a műveletet azonnal látja a widgeten, a logika a lassú hálózat vagy egy hosszú futásidejű csatlakozó miatt enyhe késéssel futhat le.
- Tanítsa meg az operátorokat, hogy várjanak egy átmenet (pl. „Következő lépés”) rákattintása után. Egy lépésen az átmenet után sorba állított triggerek nem fognak végrehajtódni. Ha egy operátor egy átmenettel rendelkező widgetet használ, addig marad a lépésen, amíg az átmenet végrehajtásra nem kerül. Például, ha az operátor rákattint a „Következő lépés” gombra, majd várakozás közben egy másik triggert indít el, az átmenet után fennmaradó trigger nem fog végrehajtódni.
- A hosszú futásidejű csatlakozókat és az adatfrissítéseket külön lépésekben hajtsa végre.Az érzékeny adatokkal kapcsolatosműveleteketnem szabad ugyanazon a lépésen végrehajtani, mint a hosszú futásidejű csatlakozó logikáját. Abban az esetben, ha az operátor egy hosszú futásidejű kiváltó eseményre vagy átmenetre kattintás után lép kapcsolatba a lépéssel, fennáll a kockázata, hogy a kritikus adatok nem kerülnek mentésre.
- Gondoskodjon arról, hogy a változóknak minden lépésben egyetlen bemenetük legyen. A változókatnem szabad megosztani egymással versengő bemeneti logikákkal (azaz egy alkalmazáson belül több gomb is frissítheti ugyanazt a változót), hogy elkerüljék a versenyhelyzeteket. Például egy kiváltó esemény rögzíti a változó aktuális értékét. Ha a változó értéke megváltozik, mielőtt a kiváltó esemény rögzítené, akkor az adatok helytelenek lesznek.
További olvasnivaló
- A trigger-műveletek és átmenetek listája
- Feltételes trigger-logika
- Bevált gyakorlatok a nagy teljesítményű alkalmazásokhoz
{{snippet.Megtalálta, amit keresett?}}


