ESM-lyssnares livscykel
Översikt
En lyssnarlivscykel har tre eller fyra faser, beroende på om det är en lyssnare före eller efter sparning:
- Spara datakort : Lyssnaren utlöses när ett datakort sparas.
- Kontroll av källvillkor : Källvillkoren kontrolleras.
- Kontroll av målvillkor (endast lyssnare efter sparning) : Gruppen av måldatakort definieras baserat på målvillkor. Denna fas sker endast om lyssnaren är en lyssnare efter sparning.
- Utförande åtgärder : En eller flera åtgärder utförs på måldatakortet.
- I fallet med en lyssnare som är pre-sparad är måldatakortet det så kallade "källdatakortet", som "värdar" för lyssnaren.

Spara datakort
Lyssnaren utlöses när ett datakort sparas.

Triggande lyssnare

Utförandeordning för hanterare och lyssnare

Lyssnare, hanterare och automatisering av visuella arbetsflöden
- Arbetsflödesåtgärder körs inte som den sista lyssnaren före sparning. Den börjar från den första arbetsflödesnoden (eller den senast bearbetade noden) och bearbetar flera noder i en enda körning tills den anländer till en nod (t.ex. en timer eller ett godkännande) som inte tillåter den att gå vidare.
- Visuell arbetsflödesautomation __initialisering__ sker i slutet av försparningsdelen av sparcykeln.
- Visuell automatisering av arbetsflöden __ Pro __ sker i slutet av delen av sparcykeln efter sparning.
Kontroll av källförhållanden
Varje lyssnare har källvillkor som beskriver när lyssnaren ska reagera på händelsen. Till exempel kan villkoret vara följande:
(attribute "state" old value!= attribute "state" new value) && (attribute "state" new value == "closed")Villkor kan vara mycket mer komplicerade med operatorerna "och" och "eller" och även kapslade. Om källdatakortet matchar villkoren går körningen vidare.

Försparad lyssnare

Lyssnare efter sparning

OCH Exempel

ELLER Exempel

Kombinerad SC

Implementerade källvillkor
| Namn | Beskrivning |
|---|---|
| Kombinerat källvillkor | Kombinerar villkor (som också kan vara CombinedSourceConditions) med AND- eller OR-operatorer. I XML-filen är det yttersta source_conditions-elementet i sig ett CombinedSourceCondition. |
| AlltidSantKällvillkor | Alltid sant, dvs. datakortet matchas alltid med detta villkor. |
| EntitetskällaVillkor |
|
| MappkällaVillkor | Ligger datakortet i en specifik mapp eller i någon annan (operator !=). |
| GuiEditSourceCondition | Sant när källdatakortet redigeras från ESM-gränssnittet. |
| Nytt datakortkällavillkor | Ska vi spara ett nytt datakort: ja eller nej |
| Pro | Jämför ett fält i datakortet (attribut) innan du sparar eller efter att du har sparat (current_value true eller false) med ett annat fältvärde innan du sparar eller efter att du har sparat med någon operator. Vilka operatorer som stöds beror på datatypen. |
| VärdeKällvillkor | Jämför ett fält (attribut) innan du sparar eller efter att du har sparat (current_value true eller false) med ett konstant värde med någon operator. Vilka operatorer som stöds beror på datatypen, t.ex. kan du inte jämföra en referens med en konstant (som datakortets ID eller namn). |
| ReferenssökvägVärdeKällvillkor | Jämför ett värde som hittats i en referenssökväg ($kod1:kod2:kod3$) innan du sparar eller efter att du har sparat (aktuellt_värde sant eller falskt) med ett konstant värde med någon operator. Vilka operatorer som stöds beror på datatypen. |
| Referenssökväg Pro |
Med detta källvillkor är det möjligt att jämföra värden för två sådana attribut, varav ett eller båda kan vara referenser. Det första av dessa kan vara en referens till ett lokalt (icke-referens) attribut, men det andra måste vara attributet för något refererat datakort. Båda attributen måste ha samma datatyp. Flervärdesattribut och matchning av villkoret:
|
Se fler exempel på källvillkor i SourceConditionExamples.xml :

Kontroll av målförhållanden
Målvillkoren liknar sökvillkoren i ESM-gränssnittet. Lyssnarens åtgärder utförs på de datakort som matchar villkoren. Observera att källdatakortet bör exkluderas med dessa villkor.
Ett exempel på ett målvillkor kan vara följande:
(template == "ticket") && (reference attribute "caused by" target == source data card) && (attribute "state" value == "open")



Notera:
Om en möjlig oändlig loop detekteras under exekveringen av en lyssnare → avslutas lyssnarexekveringen och ett fel visas.
Om till exempel lyssnare A modifierar datakort B, utlöser det lyssnare B och lyssnare B modifierar datakort A.
Implementerade målvillkor
| Namn | Beskrivning |
|---|---|
| Kombinerat målvillkor | Kombinerar flera villkor (som också kan vara CombinedTargetConditions själva) till ett med operatorerna AND eller OR. |
|
VärdeMålvillkor
|
Jämför ett attributvärde från datakortet med en konstant med en operator. Vilka operatorer som stöds beror på datatypen, till exempel kan referenser inte jämföras med datakortets namn eller ID. Ett undantag från detta är en referens till källan eller referens från källan (konfigurerad med attributkod). |
| Pro pertyTargetCondition | Jämför datakortets attributvärde med ett annat attributvärde med hjälp av en operator. Vilka operatorer som stöds beror på vilka datatyper som används. |
| Källa Pro pertyTargetCondition | Jämför attributvärdet på måldatakortet med ett attributvärde på källdatakortet med hjälp av en operator. Vilka operatorer som stöds beror på vilka datatyper som används. |
| Entitetsmålvillkor |
|
| SpecialTargetCondition |
Detta villkor kan användas för att definiera/kontrollera följande egenskaper:
|
Se exempel på målvillkor i TargetConditionExamples.xml:

Utföra åtgärder
En eller flera åtgärder utförs på måldatakortet. I fallet med lyssnaren som inte sparas i förväg är måldatakortet det så kallade "källdatakortet", som "värdar" lyssnaren.

Genomförda åtgärder
| Namn | Förspara | Spara inlägg | Beskrivning |
|---|---|---|---|
| AlwaysFailDataCard (Åtgärd) | Ja | Inga | Förhindrar att datakortet sparas. |
| Ändra datakortvärden | Ja | Ja | Anger ett värde för ett fält. |
| KopieraDataKortVärden | Ja | Ja | Kopierar ett värde från källdatakortet till ett annat attributs värde eller till ett värde för ett attribut i måldatakortet. Kan också kopiera värden bakom referenser. Om det är flera värden kommer befintliga värden att ERSÄTTAS. Flera värden fungerar bara på värddatakortet, inte bakom referenser. |
| KopieraKällreferens | Ja | Inga | Skapar en referens från måldatakort till källdatakort. |
| Skapa datakort | Inga | Ja | Skapar ett nytt datakort baserat på en konfigurerad mall och i en konfigurerad mapp. Lägger valfritt till referenser mellan skaparen och de skapade datakorten, och anger eventuella attributvärden i det skapade kortet. Som ett specialfall kan man lägga till tiden då redigeringen i Efectes grafiska gränssnitt startades. |
| Entitetsdatakort | Ja | Inga | Flyttar ett datakort till papperskorgen, återställer det från papperskorgen, tar bort permanent, döljer eller gör ett datakort synligt. |
| Uttryck (Handling) | Ja | Ja | Kommer att köra ett definierat Python-skript på måldatakort. |
| MappDataCard | Ja | Ja | Flyttar ett datakort till en specifik mapp. |
| SparaDataCard | Inga | Ja | Sparar datakortet. Detta möjliggör beräkning av nya värden för attribut som innehåller en hanterare (ExpressionHandler eller liknande). |
| SparaDataCardXmlTillFil | Inga | Ja | Sparar datakortet i XML-format till en angiven fil och mapp. Observera att den här åtgärden endast fungerar på det sparade källdatakortet. Om filen finns kommer den att skrivas över (filen raderas innan den nya filen skrivs). Åtgärden försöker först skriva XML-filen till en temporär fil och byter sedan namn på den temporära filen till den angivna filen. Detta för att förhindra att någon läser resultatfilen innan den är helt skriven. |
| SkickaDataCardXmlTillWebbtjänst | Inga | Ja | OBS: Ingen "Åtgärd" i namnet. Skickar datakortet i XML-format till den konfigurerade SOAP-webbtjänsten. Observera att den här åtgärden endast fungerar på det sparade källdatakortet. |
| SkickaE-poståtgärd | Inga | Ja | Skickar post. |
| SkickaKällaÄndradJMS-meddelande(Åtgärd) | Ja | Ja | Åtgärden skickar ett JMS-meddelande till kön när datakortet har sparats. Meddelandets innehåll är hela datakortet i Efecte XML-format. |
| Riktad Sccm-uppdatering | Inga | Ja | Utlöser en riktad SCCM uppdatering. Används endast tillsammans med SccmIntegrationTask. |
| TransformDataCard | Inga | Ja | Åtgärden omvandlar det för närvarande redigerade datakortet till ett annat datakort. Använder omvandlingsregler och målmapp som definierats i omvandlingar i mallredigeraren. |
| Åtgärd för SkickaDataCardXmlTillHttp | Inga | Ja | Skickar datakortet i XML-format till en vald webbtjänst. Observera att den här åtgärden endast fungerar på det sparade källdatakortet. |
Se exempel på målvillkor i TargetConditionExamples.xml:
