Cykl życia nasłuchiwacza ESM
Przegląd
Cykl życia nasłuchiwacza składa się z trzech lub czterech faz, w zależności od tego, czy jest to nasłuchiwacz przed zapisaniem, czy po zapisaniu:
- Zapisywanie karty danych : Program nasłuchujący jest uruchamiany podczas zapisywania karty danych.
- Sprawdzanie warunków źródłowych : Warunki źródłowe są sprawdzane.
- Sprawdzanie warunków docelowych (tylko odbiorniki po zapisie) : Grupa kart danych docelowych jest definiowana na podstawie warunków docelowych. Ta faza ma miejsce tylko wtedy, gdy odbiornik jest odbiornikiem po zapisie.
- Wykonywanie akcji : Na karcie danych docelowych wykonywana jest jedna lub więcej akcji.
- W przypadku nasłuchiwacza przed zapisaniem, docelowa karta danych jest tzw. kartą danych „źródłową”, która „hostuje” nasłuchiwacza.

Zapisz kartę danych
Nasłuchiwacz jest uruchamiany podczas zapisywania karty danych.

Wyzwalanie słuchaczy

Kolejność wykonywania poleceń przez osoby obsługujące i słuchające

Słuchacze, osoby obsługujące i wizualna automatyzacja przepływu pracy
- Akcje przepływu pracy nie są wykonywane jako ostatni nasłuchiwacz przed zapisem. Rozpoczynają od pierwszego węzła przepływu pracy (lub ostatniego przetworzonego węzła) i w jednym wykonaniu przetwarzają wiele węzłów, aż dotrą do węzła (takiego jak Timer lub Zatwierdzenie), który uniemożliwi im dalsze działanie.
- __inicjalizacja__ wizualnej automatyzacji przepływu pracy następuje pod koniec etapu przed zapisem cyklu zapisywania.
- Automatyzacja wizualnego przepływu pracy __ Pro następuje na końcu fazy cyklu zapisywania po zapisaniu.
Sprawdzanie warunków źródłowych
Każdy słuchacz ma warunki źródłowe, które opisują, kiedy słuchacz powinien zareagować na zdarzenie. Na przykład, warunek może wyglądać następująco:
(attribute "state" old value!= attribute "state" new value) && (attribute "state" new value == "closed")Warunki mogą być znacznie bardziej skomplikowane w przypadku operatorów „and” i „or”, a nawet zagnieżdżonych. Jeśli karta danych źródłowych spełnia warunki, wykonywanie jest kontynuowane.

Słuchacz wstępnego zapisu

Słuchacz po zapisaniu

Przykład AND

LUB Przykład

Połączony SC

Zaimplementowane warunki źródłowe
| Nazwa | Opis |
|---|---|
| Połączony stan źródła | Łączy warunki (które również mogą być CombinedSourceConditions) za pomocą operatorów AND lub OR. W pliku XML najbardziej zewnętrzny element source_conditions sam w sobie jest CombinedSourceCondition. |
| ZawszePrawdziwyWarunekŹródłowy | Zawsze prawdziwe, tzn. karta danych zawsze spełnia ten warunek. |
| Warunek źródła encji |
|
| FolderSourceCondition | Czy karta danych znajduje się w określonym folderze lub w jakimś innym (operator !=). |
| GuiEditSourceCondition | Prawda, gdy karta danych źródłowych jest edytowana z poziomu interfejsu użytkownika ESM. |
| NewDataCardSourceCondition | Czy zamierzamy zapisać nową kartę danych: tak czy nie |
| Pro źródła własności | Porównaj pole na karcie danych (atrybut) przed zapisaniem lub po zapisaniu (wartość bieżąca true lub false) z wartością innego pola przed zapisaniem lub po zapisaniu za pomocą operatora. Obsługiwane operatory zależą od typu danych. |
| Warunek źródła wartości | Porównaj pole (atrybut) przed zapisaniem lub po zapisaniu (wartość_bieżąca prawda lub fałsz) ze stałą wartością za pomocą operatora. Obsługiwane operatory zależą od typu danych, np. nie można porównać odniesienia do stałej (takiej jak identyfikator lub nazwa karty danych). |
| ReferencePathValueSourceCondition | Porównaj wartość znalezioną w ścieżce referencyjnej ($code1:code2:code3$) przed zapisaniem lub po zapisaniu (current_value true lub false) z wartością stałą za pomocą operatora. Obsługiwane operatory zależą od typu danych. |
| Pro PropertySourceCondition |
Dzięki temu warunkowi źródłowemu możliwe jest porównanie wartości dwóch takich atrybutów, z których jeden lub oba mogą być referencjami. Pierwszy z nich może być referencją do atrybutu lokalnego (niereferencyjnego), ale drugi musi być atrybutem jakiejś karty danych, do której istnieje referencja. Oba atrybuty muszą mieć ten sam typ danych. Atrybuty wielowartościowe i dopasowywanie warunku:
|
Więcej przykładów warunków źródłowych można znaleźć w pliku SourceConditionExamples.xml :

Sprawdzanie warunków docelowych
Warunki docelowe są podobne do warunków wyszukiwania w interfejsie użytkownika ESM. Działania nasłuchiwacza są wykonywane na kartach danych, które spełniają warunki. Należy pamiętać, że karta danych źródłowych powinna zostać wykluczona za pomocą tych warunków.
Przykładem warunku docelowego może być:
(template == "ticket") && (reference attribute "caused by" target == source data card) && (attribute "state" value == "open")



Notatka:
Jeżeli podczas wykonywania programu nasłuchującego zostanie wykryta możliwa pętla nieskończona → wykonywanie programu nasłuchującego zostanie zakończone i wyświetlony zostanie błąd.
Na przykład, jeśli słuchacz A modyfikuje kartę danych B, wyzwala słuchacza B, a słuchacz B modyfikuje kartę danych A.
Wdrożone warunki docelowe
| Nazwa | Opis |
|---|---|
| Połączony stan docelowy | Łączy wiele warunków (które same mogą być również CombinedTargetConditions) w jeden za pomocą operatorów AND lub OR. |
|
WartośćWarunekDocelowy
|
Porównuje wartość atrybutu z karty danych do stałej za pomocą operatora. Obsługiwane operatory zależą od typu danych, na przykład referencji nie można porównywać z nazwą ani identyfikatorem karty danych. Wyjątkiem jest odwołanie do źródła lub odwołanie ze źródła (skonfigurowane za pomocą kodu atrybutu). |
| Pro | Porównuje wartość atrybutu karty danych z wartością innego atrybutu za pomocą operatora. Obsługiwane operatory zależą od używanych typów danych. |
| Pro PropertyTargetCondition | Porównuje wartość atrybutu na karcie danych docelowych z wartością atrybutu na karcie danych źródłowych za pomocą operatora. Obsługiwane operatory zależą od używanych typów danych. |
| Warunek docelowy jednostki |
|
| Specjalny stan docelowy |
Warunek ten można wykorzystać do zdefiniowania/sprawdzenia następujących właściwości:
|
Zobacz przykłady warunków docelowych w TargetConditionExamples.xml:

Wykonywanie działań
Jedna lub więcej akcji jest wykonywanych na docelowej karcie danych. W przypadku nasłuchiwacza przed zapisem, docelowa karta danych to tzw. karta danych „źródłowa”, która „hostuje” nasłuchiwacza.

Wdrożone działania
| Nazwa | Wstępne zapisywanie | Zapisz post | Opis |
|---|---|---|---|
| AlwaysFailDataCard (Akcja) | Tak | NIE | Zapobiega zapisaniu karty danych. |
| Zmień wartości karty danych | Tak | Tak | Ustawia wartość pola. |
| Kopiuj wartości karty danych | Tak | Tak | Kopiuje wartość z karty danych źródłowych do wartości innego atrybutu lub do wartości atrybutu na karcie danych docelowych. Można również kopiować wartości za odwołaniami. W przypadku wielu wartości istniejące wartości zostaną ZASTĄPIONE. Wartości wielowartościowe działają tylko na karcie danych hosta, a nie za odwołaniami. |
| CopySourceReference | Tak | NIE | Tworzy odniesienie z kart danych docelowych do kart danych źródłowych. |
| Utwórz kartę danych | NIE | Tak | Tworzy nową kartę danych na podstawie skonfigurowanego szablonu i w skonfigurowanym folderze. Opcjonalnie dodaje odniesienia między twórcą a utworzonymi kartami danych i ustawia wartości atrybutów w utworzonej karcie. W szczególnym przypadku można dodać czas rozpoczęcia edycji w interfejsie graficznym Efecte. |
| Karta danych podmiotu | Tak | NIE | Przenosi kartę danych do kosza, przywraca ją z kosza, trwale usuwa, ukrywa lub sprawia, że karta danych staje się widoczna. |
| Wyrażenie (Akcja) | Tak | Tak | Wykona zdefiniowany skrypt Pythona na docelowych kartach danych. |
| FolderDataCard | Tak | Tak | Przenosi kartę danych do określonego folderu. |
| Zapisz kartę danych | NIE | Tak | Zapisuje kartę danych. Umożliwia to obliczanie nowych wartości dla atrybutów zawierających obiekt obsługi (ExpressionHandler lub podobny). |
| ZapiszXmlKartyDanychDoPliku | NIE | Tak | Zapisuje kartę danych w formacie XML do określonego pliku i folderu. Należy pamiętać, że ta akcja działa tylko na zapisanej karcie danych źródłowych. Jeśli plik istnieje, zostanie nadpisany (plik jest usuwany przed zapisaniem nowego pliku). Akcja najpierw próbuje zapisać plik XML do pliku tymczasowego, a następnie zmienia nazwę pliku tymczasowego na określony. Ma to na celu uniemożliwienie odczytania pliku wynikowego przed jego całkowitym zapisaniem. |
| Wyślij kartę danych Xml do usługi internetowej | NIE | Tak | UWAGA: Brak „Akcji” w nazwie. Wysyła kartę danych w formacie XML do skonfigurowanej usługi sieciowej SOAP. Należy pamiętać, że ta akcja działa tylko na zapisanej karcie danych źródłowych. |
| Wyślij akcję poczty | NIE | Tak | Wysyła pocztę. |
| SendSourceChangedJMSMessage(Akcja) | Tak | Tak | Akcja wyśle komunikat JMS do kolejki po zapisaniu karty danych. Treścią komunikatu jest cała karta danych w formacie Efecte XML. |
| TargetedSccmUpdate | NIE | Tak | Wyzwala ukierunkowaną aktualizację SCCM . Używany tylko w połączeniu z SccmIntegrationTask. |
| TransformDataCard | NIE | Tak | Akcja przekształca aktualnie edytowaną kartę danych w inną kartę danych. Używa reguł transformacji i folderu docelowego zdefiniowanych w transformacjach w edytorze szablonów. |
| Wyślij kartę danych Xml do akcji HTTP | NIE | Tak | Wysyła kartę danych w formacie XML do wybranej usługi sieciowej. Należy pamiętać, że ta akcja działa tylko na zapisanej karcie danych źródłowych. |
Zobacz przykłady warunków docelowych w TargetConditionExamples.xml:
