Alerty Biznesowe - Systemy Komputerowe IBIS
Transkrypt
Alerty Biznesowe - Systemy Komputerowe IBIS
Praca zbiorowa Alerty Biznesowe Dla systemu Windows — Unix Macrologic SA, Warszawa, maj 2013 Praca zbiorowa Alerty Biznesowe; Dla systemu Windows — Unix © Copyright by Macrologic SA, maj 2013 Macrologic SA ul. Kłopotowskiego 22 03-717 Warszawa tel. +48 222-566-222 http://www.macrologic.pl Obecne wydanie podręcznika jest aktualizowane do wersji Xpertis 1230 programu Alerty Biznesowe. Redakcja: Praca zbiorowa Skład: Grzegorz Ząbkiewicz Druk: Niniejszy podręcznik został przygotowany w wersji elektronicznej i nie jest publikowany przez wydawcę w postaci papierowej a jedynie na nośnikach komputerowych oraz przez Internet. Macrologic oraz Xpertis są znakami handlowymi Macrologic SA. Prawa do wszystkich występujących tutaj znaków handlowych należą do odpowiednich właścicieli. Ze względu na charakter publikacji i niekiedy częste używanie w tekście znaków handlowych, zamiast umieszczania po każdym wystąpieniu takiego znaku — symbolu znaku handlowego (TM ) lub zastrzeżonego znaku handlowego (®) utrudniającego czytanie, wszystkie znaki handlowe wyróżniamy pisząc je z wielkiej litery w trosce o przejrzysty styl wydawniczy i bez intencji jakiegokolwiek ingerowania w znak lub naruszania praw z nim związanych. Informacja o licencjach na wykorzystywane oprogramowanie stron trzecich znajduje się na płycie dystrybucyjnej w folderze: „Xpertis Dokumentacja” podfolder: „Licencje obce”. ISBN: Publikacjom elektronicznym nie przydziela się Spis treści Wstęp I 5 . . . . . . . 9 9 9 10 11 11 12 13 . . . . . . . . 15 15 16 17 17 18 23 23 24 III Obsługa zdarzeń 1 Co to jest zdarzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Definiowanie zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Definiowanie powiadomień wyskakujących . . . . . . . . . . . . 25 25 26 29 IV Konfiguracja i obsługa poczty 1 Odbiorcy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Powiadomienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Konfiguracja wysyłania poczty . . . . . . . . . . . . . . . . . . . 33 33 33 35 II Początek pracy z programem 1 Instalacja . . . . . . . . . . . . . . . . . . . . . . . . . 2 Aktywacja automatycznej obsługi zdarzeń biznesowych 3 Tryby pracy . . . . . . . . . . . . . . . . . . . . . . . 4 Uruchamianie w trybie przetwarzania . . . . . . . . . 4.1 Automatyczne uruchamianie przetwarzania . . . 4.2 Uruchamianie przetwarzania . . . . . . . . . . . 5 Lista parametrów systemu . . . . . . . . . . . . . . . . Obsługa zadań 1 Co to jest zadanie? . . . . . . . . . . . . . 1.1 Uwagi do tworzenia nowych zadań 2 Definiowanie zadań . . . . . . . . . . . . 2.1 Dostęp do listy zadań . . . . . . . . 2.2 Rodzaje harmonogramów . . . . . 2.3 Historia zadania . . . . . . . . . . . 2.4 Testowanie zadań . . . . . . . . . . 2.5 Kolejki zadań . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Spis treści 2.2 2.3 2.4 2.5 2.6 2.7 Komponowanie wiadomości . . . . . Dodawanie nowej wiadomości . . . . Podgląd wiadomości . . . . . . . . . Wysyłanie wiadomości . . . . . . . . Wysyłanie wiadomości jako SMS . . . Logi wysyłania i przetwarzania poczty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 38 41 42 42 42 Wstęp Zastrzeżenie Przykłady wymienione w dokumentacji programu należy traktować jako ilustrację działania programu. Rzeczywiste informacje dotyczące przedsiębiorstwa należy wprowadzać i przetwarzać zgodnie z posiadaną wiedzą w zakresie zasad prowadzenia ewidencji i obowiązującego prawa. We wszystkich przykładach wykorzystano fikcyjne nazwy własne oraz fikcyjne dane. Macrologic S.A. nie ponosi odpowiedzialności za skutki wynikające z niewłaściwego użytkowania programu bądź niestosowania się do obowiązujących przepisów prawa. Podstawowe informacje o programie Program ALERT zapewnia automatyczne powiadamianie pracowników i kontrahentów o zdarzeniach zachodzących w systemie oraz automatyczne wykonywanie zadań. Dostęp do programu jest chroniony nazwą użytkownika i indywidualnym hasłem. Dostęp do poszczególnych funkcji programu może zostać zablokowany, co pozwala zachować zarówno bezpieczeństwo jak i poufność danych. Kilka słów na temat podręcznika Do kogo adresowany jest podręcznik? Podręcznik przeznaczony jest dla osób mających przygotować do pracy, uruchomić i definiować harmonogram wykonywanych automatycznie zadań oraz 5 6 Wstęp listę zdarzeń, na które system powinien automatycznie reagować, a więc dla osób pełniących rolę administratora pakietu Xpertis. Program ALERT jest dość specyficznym programem wśród programów pakietu Xpertis. Raz sparametryzowany i uruchomiony nie wymaga ingerencji użytkownika. Zadania jakie ma wykonywać definiuje się w pozostałych programach pakietu. Automatycznie obsługuje zdarzenia zachodzące w systemie, wykonuje zadania bez potrzeby ingerencji użytkownika. Nie zamieściliśmy w podręczniku opisu tych zasad działania, które są jednorodne dla wszystkich programów wchodzących w skład pakietu Xpertis. Znajdziesz je w oddzielnym podręczniku wydanym przez Macrologic, zatytułowanym Obsługa systemów użytkowych. Umieszczono tam między innymi informacje na temat: — zasad dialogu z programem, w tym: – uruchamiania poszczególnych funkcji za pośrednictwem menu; – sposobu przeglądania i redagowania zawartości tabel programu; – standardowych poleceń programu, jak Szukaj, Dołącz, Usuń. — sposobu posługiwania się słownikami systemowymi oraz słownikami redagowanymi przez użytkownika, — drukowania zestawień danych pochodzących z kartotek programu, — pracy z programem na wielu stanowiskach, — pracy z programem w środowisku graficznym Windows. Informacje dedykowane administratorowi, dotyczące funkcji technicznych programu oraz nadzoru nad jego bieżącą eksploatacją, znalazły się również w odrębnym podręczniku (patrz wydany przez Macrologic Podręcznik administratora). Umieszczono tam między innymi informacje na temat: — zasad instalacji oprogramowania w środowisku UNIX, NetWare, Windows NT, Windows 2000 Windows XP i Windows Vista ; — architektury systemu; — konfigurowania urządzeń peryferyjnych; — zasad definiowania nowych użytkowników programu oraz przydzielania im uprawnień do obsługi poszczególnych funkcji. Wstęp Xpertis w wersji wielofirmowej Ten podręcznik dotyczy zarówno systemu Xpertis w wersji jednofirmowej, jak i wielofirmowej. Szczegóły dotyczące zasad pracy w wersji wielofirmowej oraz przedstawienie danych wspólnych znajdziesz w pozostałych podręcznikach w rozdziale Wielofirmowość. Jak korzystać z podręcznika? W podręczniku zgromadzone zostały wszystkie istotne informacje dotyczące programu, jego właściwości i funkcji, w miarę możliwości opatrzone przykładami. Zaproponowany przez nas układ treści jest zgodny z repertuarem funkcji programu oraz zadań, które pomaga on realizować. Odpowiednie rozdziały odpowiadają w zasadzie poszczególnym poleceniom w menu — czasami dla większej przejrzystości odstąpiono od tej zasady. — Opis każdego zadania realizowanego za pomocą programu otwierają ogólne informacje dotyczące zagadnienia, po nich następują szczegółowe wskazówki odnośnie posługiwania się określoną funkcją. — System odsyłaczy ułatwia zebranie wszystkich informacji na wybrany temat, rozmieszczonych w różnych punktach bądź rozdziałach: jeśli zagadnienie zostało opisane szerzej w innymi miejscu podręcznika, miejsce to wskaże odsyłacz. — Dla osób, które śledzą treść podręcznika jednocześnie zapoznając się z programem, ułatwieniem będą tak zwane ścieżki dostępu do poszczególnych funkcji. Są to skrócone instrukcje informujące, które menu należy kolejno otwierać, by odnaleźć odpowiednią pozycję. Na przykład ścieżka: [Zarządzanie systemem zgłoszeń|Obsługa zgłoszeń z innych systemów] oznacza, że aby uruchomić funkcję umożliwiającą przejrzenie listy zgłoszeń, należy najpierw rozwinąć menu Zarządzanie systemem zgłoszeń, następnie wybrać pozycję Obsługa zgłoszeń z innych systemów. w wielu przypadkach wywołania poszczególnych poleceń w menu powodują uruchomienie drugiej instancji programu ze zmienionym menu — tak dzieje się w powyższym przykładzie. — Treść podręcznika została podzielona na rozdziały, w ramach których wydzielono podrozdziały nazywane także punktami — do nich odnoszą zamieszczone w tekście odsyłacze. 7 8 Wstęp Ta ikona wskazuje przytoczone w podręczniku przykłady. Ta ikona wskazuje szczególnie istotne wskazówki i ostrzeżenia przed błędami najczęściej popełnianymi przez użytkowników. Ta ikona wyróżnia odsyłacze wskazujące podrozdziały, gdzie szerzej zostało opisane wybrane zagadnienie. Większość odsyłaczy jest umieszczona jednak bezpośrednio w treści. Podstawowe zasady obsługi programu Jak już zostało wspomniane, szczegóły dotyczące obsługi programów wchodzących w skład pakietu Xpertis znajdziesz w oddzielnym podręczniku, w całości poświęconym temu zagadnieniu (patrz podręcznik Obsługa systemów użytkowych). W tym miejscu zostaną pokrótce omówione jedynie podstawowe zasady obsługi, o których należy pamiętać pracując z programem ALERT. Program ALERT może być wywołany jako program niezależny lub wywołać go można albo z poziomu poszczególnych aplikacji pakietu Xpertis (wybierając polecenie [Administracja|Alerty biznesowe - definicje]. W pierwszym przypadku operator będzie miał dostęp do zdarzeń i zadań zdefiniowanych we wszystkich systemach użytkowych pakietu Xpertis, w drugim zaś dostępne będą tylko zadania i zdarzenia zdefiniowane w tym systemie, z którego nastąpiło wywołanie. Dodatkowo w pierwszym przypadku operator ma dostęp do opcji konfiguracyjnych i kontrolnych programu. Jeśli program pracuje w środowisku Linux, ogólne zasady obsługi właściwe dla środowiska pozostają niezmienne. Nazwa polecenia w menu poziomym wyróżniona wersalikami oznacza, że polecenie to można uruchomić naciskając klawisz Enter . W obrębie list — kartotek wyświetlanych w oknach przeglądania można poruszać się używając klawiszy strzałek. Do szybszego przeskakiwania pomiędzy pozycjami listy można użyć klawiszy PgDown , PgUp (przewijają listę o jeden ekran) lub Home , End (skaczą na początek lub koniec listy). Wprowadzając dane w oknach redagowania można przemieszczać się pomiędzy polami używając klawisza tabulacji lub klawiszy strzałek. Jeśli obsługując program obserwować będziesz dolną linię ekranu, znajdziesz tam krótkie podpowiedzi dotyczące aktualnie wykonywanych czynności. Może to się okazać przydatne zwłaszcza w czasie redagowania danych. Życzymy satysfakcjonującej pracy z programem oraz pożytecznej lektury. Macrologic Rozdział I Początek pracy z programem 1 Instalacja Program ALERT instaluje się tak jak pozostałe systemy pakietu Xpertis, po uruchomieniu pakietu instalacyjnego i dokonaniu wyboru przeznaczonych do instalacji składników. Uruchamianiem i zatrzymywaniem przetwarzania zajmuje się MacroApplicationSERVER. 2 Aktywacja automatycznej obsługi zdarzeń biznesowych Pakiet Xpertis posiada budowę modularną, co oznacza, że poszczególne programy systemu mogą być wdrażane i użytkowane niezależnie od innych. Nie inaczej jest z programem ALERT. Można go aktywować i korzystać z jego możliwości lub nie robić tego i zapobiec przypadkowym uruchomieniom systemu. We wszystkich programach pakietu Xpertis dostęp do obsługi programu obsługi zdarzeń jest identyczny. Służy do tego polecenie [Administracja|ALERT - definicje zdarzeń biznesowych]. Również sposób obsługi zadań i zdarzeń oraz ich redagowania jest dla wszystkich systemów identyczny. Różnice występują jedynie w treści zadań: inne występują w programie Finanse i księgowość a inne w programie Produkcja. O dostępności funkcji programu automatycznej obsługi zdarzeń ALERT w pakiecie Xpertis decyduje parametr o numerze 5: Aktywny moduł Alerty biznesowe, dostępny wśród parametrów systemu [Administracja|Parametry systemu ]. Jeżeli wartość parametru ustawiona jest na literę T, wówczas można korzystać z obsługi zdarzeń biznesowych we wszystkich obsługujących je progra- 9 10 Rozdział I. Początek pracy z programem mach pakietu. Jeżeli parametr zostanie ustawiony na literę N, wówczas w żadnym z pozostałych programów pakietu nie będzie można uruchomić obsługi zdarzeń. W takiej sytuacji wybranie polecenia [Administracja|Alerty biznesowe - definicje] zakończy się wyświetleniem komunikatu o nieaktywnej obsłudze programu ALERT. Lista parametrów jest listą globalną dla całego systemu Xpertis. Parametr 5 może zostać zmieniony w dowolnej chwili. Należy jedynie pamiętać o konieczności ponownego uruchomienia programu (nie serwera) po zmianie parametru, ponieważ lista parametrów jest odczytywana tylko przy starcie programu. 3 Tryby pracy System ALERT służy dwóm celom: — umożliwia powiadamianie pracowników i kontrahentów o wybranych zdarzeniach zachodzących w systemie, — umożliwia automatyczne wykonywanie zaplanowanych zadań. System ALERT pracuje w dwóch trybach: — definiowania zdarzeń i zadań — przetwarzania zdarzeń i zadań System ALERT — tryb definiowania Podstawą działania systemu ALERT są zdarzenia wymagające wysłania wiadomości i zadania zlecone do wykonywania według ustalonego harmonogramu. Definiowanie zdarzeń i zadań odbywa się w trybie definiowania, który dostępny jest w menu [Administracja|ALERTdefinicje zdarzeń biznesowych] większości programów pakietu Xpertis i opisane jest w dalszych częściach podręcznika. System ALERT — tryb przetwarzania W trybie przetwarzania system ALERT: — pracuje w trybie bezobsługowym — bez interakcji z operatorem, — wykonuje zaplanowane zadania, — przetwarza zadania wysłania poczty, związane ze zdarzeniami zachodzącymi w programach pakietu Xpertis, I.4. Uruchamianie w trybie przetwarzania — działa w pętli, długość przerwy (pauzy) między kolejnymi przebiegami można zdefiniować dla każdej kolejki zadań — domyślna wartość parametru wynosi 15 s. System ALERT sam wykonuje zlecone zadania: — wysyłanie poczty realizuje za pośrednictwem wbudowanej bibliteki korzystając ze zdefiniowanych serwerów pocztowych, — zaplanowane zadania realizuje niezależnie od tego, w którym programie użytkowym zostały zdefiniowane. 4 Uruchamianie w trybie przetwarzania Do uruchamiania i zatrzymywania systemu ALERT w trybie przetwarzania służy odpowiednio skonfigurowany MacroApplicationSERVER. 4.1 Automatyczne uruchamianie przetwarzania Przetwarzanie zadań przez system ALERT musi być zatrzymywane na czas niezbędny do wykonania kopii bezpieczeństwa i z tego względu wartości parametrów sterujących czasem przetwarzania powinny być uzgadniane z osobą odpowiedzialną za system kopii bezpieczeństwa. Ponieważ przetwarzaniem steruje serwer aplikacji, więc czasy te są wspólne dla całego systemu Xpertis. Na potrzeby tworzenia kopii bezpieczeństwa Xpertis Server zatrzymywany jest we wszystkie dni tygodnia na okres od godziny 23:00 do godziny 1:00. Aby zapewnić że w tym czasie nie będzie wykonywane przetwarzanie zadań przez system ALERT, w harmonogramie zadań na każdy dzień tygodnia powinny być zaplanowane następujące sekwencje: Zatrzymanie systemu działania: 22:50 mblaunch.exe -e -n 23:00 nserv32.exe -f -n Ponowne uruchomienie usług: 1:00 nserv32.exe -b 1:02 mblaunch.exe -b 11 12 Rozdział I. Początek pracy z programem Dzięki temu o godzinie 22:50 każdego dnia tygodnia wywoływanie przetwarzania zadań zostanie zakończone i w efekcie zaplanowane na godz. 23:00 zatrzymanie Xpertis Servera przebiegnie bez przeszkód, zaś o godzinie 1:02, czyli w dwie minuty po rozpoczęciu pracy przez Xpertis Server rozpocznie się także przetwarzanie zadań przez ALERT. Zlecone zadania wykonywane są przez ALERT sekwencyjnie tzn. następne wykona się dopiero po zakończeniu poprzedniego. Ponieważ w systemie można zdefiniować kilka kolejek zadań, to zasada ta odnosi się do każdej kolejki osobno. W ten sposób można zrealizować osobne przetwarzanie dużych zadań, jednocześnie nie blokując np. wysyłania poczty. Jeśli w harmonogramie systemu ALERT zdefiniowano zadania, których wykonywanie jest tak czasochłonne, że nie zakończy się przed godziną 23:00 (przykład powyżej), to system będzie wykonywał przetwarzanie w chwili kończenia pracy przez Xpertis Server co spowoduje awaryjne przerwanie przetwarzania zadania i zgłoszenie błędu do logów systemu. Aby tego uniknąć należy oceniać czasochłonność planowanych do automatycznego wykonania zadań, np. opierając się na danych z ich historii wykonania, i planować ich rozpoczęcie z odpowiednim wyprzedzeniem. 4.2 Uruchamianie przetwarzania Do uruchamiania systemu Alert w trybie przetwarzania wykorzystywany jest MacroApplicationSERVER. Aby skonfigurować system należy w pliku cluster.cfg umieścić wpisy wg następującego schematu: [alert_mail] name = alert path=c:\macro\xpertis_roboczy_1210\pth\f001.pth cgi_html=cgi_mail.htm cgi_output=alert_mail.log Dodatkowo należy stworzyć plik szablonu cgi, w tym przypadku cgi_mail.htm: {FCHARSET: UTF-8,UTF-8,UTF-8} {FSTR: exec(’cgi_start’,’skid_eml’,’mail’); ’’} Na podstawie powyższych zapisów system uruchomi przetwarzanie kolejki mail (parametr wywołania formuły cgi_start z pliku skid_eml). Wynik przetwarzania będzie zapisywany do pliku alert_mail.log. I.5. Lista parametrów systemu 5 Lista parametrów systemu Parametry sterujące pracą systemu są wywoływane za pomocą funkcji [ Definicje|Formuły]. Znaczenie poszczególnych parametrów jest następujące: — 700001 — Szczegółowe logowanie sesji wysyłania powiadomień e-mail (SMTP) — jeżeli jest włączony (T), to cała zawartość sesji znajdzie się w odpowiednich podraportach, jeżeli jest wyłączony — żadna informacja nie będzie logowana; — 700002 — Adres domyślnego autora powiadomień e-mail — Wartością parametru może być prawidłowy adres e-mail. W przypadku braku adresu autora na powiadomieniu, zostanie wstawiony adres e-mail podany w parametrze; — 700003 — Zapisywanie raportów z przetwarzania powiadomień e-mail — może być miesięczne (M) albo dzienne (D); — 700004 — Ilość prób wysłania powiadomień e-mail — Liczba określająca ile razy może być podjęta próba ponownego wysłania powiadomienia po niepowodzeniu; — 700005 — Ilość dni zapamiętanej historii zdarzeń i zadań — Liczba określająca o ilu dniach mają być kasowane wpisy w historii zdarzeń i zadań; — 700006 — Ilość dni zapamiętanych usuniętych powiadomień e-mail — Liczba określająca po ilu dniach mają być usuwane powiadomienia email oznaczone jako usunięte; — 700007 — Zapisywanie raportów z wysyłania powiadomień e-mail — może być miesięczne (M), dzienne (D), albo indywidualne dla każdej wiadomości (I); 13 14 Rozdział I. Początek pracy z programem Rozdział II Obsługa zadań 1 Co to jest zadanie? Jedną z podstawowych funkcjonalności programu ALERT jest obsługa zadań. Czym jest w ogóle zadanie? Najprościej mówiąc jest to pewna funkcja jaką ma wykonać program bez ingerencji i obecności użytkownika. Może więc to być naliczenie analiz sprzedaży, planów wykonania czy realizacji zleceń, wstępne przygotowanie danych do dalszej obróbki. Zadanie może wygenerować zdarzenie czyli wysłać powiadomienie do kolejki wiadomości. Może to być informacja dla administratora lub właściwych osób (pracowników, kontrahentów) o fakcie zakończenia zadania lub nawet przesłać wyniki przetwarzania. Szczególnie dobrze nadają się do czasochłonnych obliczeń operujących na dużych ilościach danych, przygotowywaniu wstępnych danych do dalszej obróbki oraz rozsyłaniu wiadomości do wielu odbiorców. Rodzaj wykonywanego zadania zależy od aplikacji która zadanie wywołuje oraz od danych na jakich aplikacja może pracować. Zadanie nie może wymagać ingerencji użytkownika — z założenia zadania mają się wykonywać automatycznie, również po godzinach pracy. Jeżeli trzeba przekazać do zadania jakieś parametry pracy, to należy zrobić to na drodze programistycznej, na etapie wdrożenia. Z reguły zadania operują na bieżącym stanie bazy zastanym w momencie uruchomienia zadania. Z technicznego punktu widzenia zadanie jest pewną funkcją programu zapisaną w języku Formula+. Programista tworzący zadanie nie jest w niczym ograniczony przy jego budowie. Ma dostęp do wszystkich zasobów systemu w postaci tabel, pól i danych; wszystkich możliwości języka, możliwości tworzenia wydruków i zapytań SQL. 15 16 Rozdział II. Obsługa zadań 1.1 Uwagi do tworzenia nowych zadań Z poszczególnymi systemami dostarczane są przykładowe zadania, jak na przykład widoczne na ilustracji. Ekran II.1 Stworzenie nowych wymaga obecności pracownika Macrologic lub bardzo dobrej znajomości języka i struktur danych. Należy zwrócić uwagę, aby nowo stworzone zadania były bardzo uważnie przetestowane i potrafiły obsłużyć wszystkie możliwe błędy jakie można przewidzieć. Błąd powodujący pojawienie się komunikatu o błędzie nie wstrzyma co prawda wykonywanie zadania, ale może spowodować ciągłe ponawianie wykonywania danego zadania jeżeli nie zakończy się ono z poprawnym wynikiem. Kolejne zadania i zdarzenia będą dalej wykonywane. Jeżeli natomiast zdarzy się błąd krytyczny lub błąd w transakcji, to spowoduje w ogóle zamknięcie aplikacji i jej ponowne automatyczne uruchomienie — innymi słowy proces będzie się bez przerwy resetował niepotrzebnie obciążając serwer. Dodawanie nowych zadań oraz zdarzeń jest możliwe tylko na drodze programistycznej, przez zredagowanie odpowiedniego wpisu w formułach startowych poszczególnych aplikacji. Jest to celowe działanie ze względów bezpieczeństwa, a ponieważ stworzenie nowego zadania i tak jest zajęciem dla programisty, więc nie jest to znaczące utrudnienie użytkowania systemu. Obsługa zadań przez system polega wyłącznie na ich przetwarzaniu w ramach harmonogramu. Jeżeli zajdzie konieczność nałożenia innych warun- II.2. Definiowanie zadań ków na przetwarzane dane lub wyniki, to należy zrobić to programowo jako odpowiedni warunek. 2 Definiowanie zadań Zadania poszczególnych aplikacji wykonują się w harmonogramie. Dla każdego zadania można zdefiniować niezależny harmonogram pracy. Podczas wykonywania zadania aplikacja może korzystać intensywnie z serwera bazy danych, należy więc wziąć pod uwagę, że zbyt częste wywoływanie zadania będzie źle wpływać na wydajność całego systemu. 2.1 Dostęp do listy zadań Polecenie [Komunikacja|Zadania] wywoływane w programie Xpertis Alerty Biznesowe wyświetli listę wszystkich zadań obsługiwanych przez program, ze wszystkich systemów. Można tutaj zmienić ich harmonogramy, nie można jednak usunąć ani dodać zadania. Możliwe jest również uruchomienie polecenia [ Administracja|Alerty biznesowe - definicje[Z]adania] z poziomu poszczególnych aplikacji. W takim przypadku wynik polecenia będzie ograniczony tylko do zadań pochodzących z tej aplikacji. Ekran II.2 Pod klawiszem SPACJA widoczne są następujące pola, które muszą być uwzględnione przy tworzeniu nowego zadania: Kod — unikalne, skrótowe oznaczenie zadania; Opis — dowolny opis zadania; 17 18 Rozdział II. Obsługa zadań formuła, z pliku — nazwa formuły znajdująca się w pliku. Całe zadanie musi znajdować się wewnątrz jednej formuły (oczywiście może ona wołać inne formuły zewnętrzne) w pliku z rozszerzeniem .fml. Plik jest poszukiwany zgodnie z deklaracją ścieżek w pliku alert.pth. parametr — w pole to można będzie wpisać wartość sterującą działaniem zadania. Przykładowo w zadaniu programu Produkcja CHK_LIM Kontrola zabezpieczeń do limitów — można wpisać warunek ograniczający zbiór przetwarzanych zleceń (część frazy where zapytania sql), np. do konkretnego produktu: M.KTM=’02-01-001’. Podczas inicjowania zadania można określić wartość parametru przypisując piąty parametr w formule add_work/skid_eml. Tryb przetwarzania — właściwy harmonogram zadania. Tryb może być ustawiony na — nigdy — codziennie — cotygodniowo — comiesięcznie — tylko raz — ciągle Ostatnie uruchomienie — data i godzina ostatniego wykonania zadania. Pola są nieredagowalne i wypełniane automatycznie w momencie uruchomienia. Dzięki nim można łatwo zauważyć, czy przetwarzanie działa prawidłowo. Pola te są również bardzo ważne dla samego systemu, ponieważ to po nich program orientuje się, czy zadanie nie jest przeterminowane. Zadania przeterminowane, a więc takie, których czas uruchomienia już minął, zostaną uruchomione jeżeli nie minęło górne ograniczenie czasu uruchamiania lub ograniczenia takiego nie nałożono. Kolejka — zadanie przypisane jest do kolejki zadań, czyli będzie w ramach niej przetwarzane. 2.2 Rodzaje harmonogramów Każde zadanie może mieć ustawiony jeden z sześciu rodzajów harmonogramów. Każdy z rodzajów harmonogramu definiuje się inaczej. II.2. Definiowanie zadań Nigdy Ten rodzaj harmonogramu wyłącza zadanie z przetwarzania. Jest bardzo przydatny w przypadku, kiedy chcemy na jakiś czas lub nawet na stałe wstrzymać wykonywanie zadania, a nie chcemy zgubić jego ustawień. Codziennie W tym trybie przetwarzania zadanie będzie wykonywane każdego dnia (także w niedziele i święta) z częstotliwością określoną w następnym oknie. Ten tryb zadania należy wybrać, jeżeli zadanie ma być wykonywane jeden raz każdego dnia lub częściej. Po wybraniu tego trybu i zatwierdzeniu okienka otworzy się kolejne okno w którym należy uszczegółowić harmonogram pracy: Ekran II.3 Od dnia, Godzina rozpoczęcia — data i godzina rozpoczęcia wykonywania zadania. Jeżeli pola będą niewypełnione, to nie będą brane pod uwagę; Do dnia, Godzina zakończenia — data i godzina zakończenia zadania. Jeżeli pola będą niewypełnione, to nie będą brane pod uwagę — zadanie takie będzie wykonywane zawsze, aż do ręcznego wyłączenia. Zadanie będzie wykonywane każdego dnia pomiędzy podanymi terminami; Powtarzaj zadanie co — określa z jaką częstotliwością zadanie ma być powtarzane: — m minut — zadanie będzie uruchamiane co m minut; — g godzin — zadanie będzie uruchamiane co g godzin; — nie powtarzaj — zadanie zostanie wykonane tylko raz na dobę; 19 20 Rozdział II. Obsługa zadań Dział sprzedaży chce od nowego roku zoptymalizować swoją pracę. Chce być wobec tego na bieżąco z wynikami sprzedaży. Ustalono, że każdego dnia, aż do końca bieżącego roku, system zaprezentuje wyniki analiz z dnia poprzedniego. Obliczenia są czasochłonne, zdecydowano więc na wykorzystanie zadania uruchamianego w nocy. Godzina rozpoczęcia zadania została ustalona na 1:00 nad ranem, dzień pozostawiono pusty, ponieważ nie ma on znaczenia dla analiz. Data zakończenia zadania została ustalona, zgodnie z założeniami, na 31 grudnia, natomiast godzinę pozostawiono niewypełnioną. Zadanie to ma dokonać naliczeń tylko raz na dobę, więc wybrano opcję powtarzania zadania na nie powtarzaj. Cotygodniowo W tym trybie zadanie może być uruchamiane w jeden lub kilka wybranych dni tygodnia. Przy uszczegóławianiu harmonogramu należy podać: Ekran II.4 Od dnia, Do dnia — zakres dat w jakich zadanie ma być wykonywane; Godzina rozpoczęcia — zadanie będzie wykonane dopiero o podanej godzinie; Wybierz dni tygodnia — w ramce należy zaznaczyć w jakie dni tygodnia ma być uruchamiane zadanie. Zaznaczenie wszystkich dni będzie miało identyczne efekty jak harmonogram codzienny z opcją tylko raz. II.2. Definiowanie zadań W każdy poniedziałek Dział Windykacji sprawdza stan należności z kontrahentami i w przypadku przekroczenia terminów płatności wysyła wezwania do zapłaty. Proces ten można zautomatyzować ustawiając zadanie uruchamiane w każdy poniedziałek. Godzinę wykonywania zadania ustalono na 4:00. Daty nie zostały określone — praca w tym trybie ma się odbywać aż do odwołania. Zadanie sprawdza stan rozrachunków i wychwytuje klientów, którym minął termin płatności i których należność przekracza określoną kwotę. Szczegółowe warunki określające minimalną kwotę, liczbę dni przekroczenia terminu i tryb ponaglenia zostały określone bezpośrednio w treści procedury. w razie konieczności zwiększenia częstotliwości wysyłania ponagleń wystarczy w harmonogramie zaznaczyć dodatkowe dni, nie zmieniając niczego w treści procedur. Comiesięcznie W tym trybie zadanie może być uruchamiane nie częściej niż jeden raz w każdym miesiącu. Przy uszczegóławianiu harmonogramu należy podać: Ekran II.5 Od dnia, Do dnia — zakres dat w jakich harmonogram będzie obowiązywał. Wybranie dat niezgodnych z wybraniem później odpowiednich miesięcy spowoduje, że zadanie nie będzie się uruchamiać. Pozostawienie daty niewypełnionej będzie traktowane jak brak ograniczenia; Godzina rozpoczęcia — zadanie będzie wykonane dopiero o podanej godzinie; Dzień miesiąca — określa w którym dniu miesiąca zadanie ma się wykonać. Program porównuje bieżący dzień miesiąca z dniem wprowadzonym w to pole i pozwoli na wykonanie zadania tylko wtedy, kiedy dni te zgadzają się i minęła godzina rozpoczęcia. Oznacza to, że zadanie nie 21 22 Rozdział II. Obsługa zadań wykona się w miesiącach 30-sto dniowych lub krótszych, jeżeli wprowadzony zostanie dzień 31. Parametr może też przyjąć wartość ujemną, będzie to wtedy oznaczało ilość dni od końca miesiąca. Oznacza to, że wpisanie wartości −1 spowoduje wykonanie zadania w ostanim dniu miesiąca niezależnie od ilości dni kalendarzowych. Wybierz miesiące — należy wskazać miesiące w jakich zadanie ma zostać wykonane. Wybranie tylko jednego miesiąca będzie oznaczało w rzeczywistości, że zadanie będzie wykonywane jeden raz w roku. Należy zwrócić uwagę, czy w danym miesiącu istnieje wprowadzony właściwy dzień miesiąca! Przykładowym zadaniem pracującym w trybie miesięcznym jest wykaz pracowników którym kończy się ważność badań okresowych. Zadanie takie może być uruchamiane 1. dnia każdego miesiąca, o dowolnej godzinie, a wyniki zadania mogą być wysłane pocztą elektroniczną do działu kadr. Tylko raz Zgodnie z nazwą zadanie zostanie wykonane tylko raz. w oknie uszczegóławiającym należy podać datę i godzinę planowanego uruchomienia zadania. Zadanie wykona się raz i jeśli nikt nie zmieni daty następnego uruchomienia — nigdy więcej. Ekran II.6 Zadania takie są przydatne w przypadkach, kiedy trzeba jednorazowo przetworzyć duże ilości danych, np. w przypadku rozbudowy systemu, kiedy nowe pola muszą zostać wypełnione odpowiednimi danymi. Każde zadanie można także uruchomić jednorazowo ręcznie, wywołując polecenie Test z menu okienka wertowania zadań. II.2. Definiowanie zadań Ciągle Ten rodzaj harmonogramu powoduje ciągłe przetwarzanie zadania — zadanie takie będzie przetwarzane w każdej pętli, czyli nie częściej niż interwał czasowy (pauza) określony dla kolejki, do której przypisane jest zadanie. 2.3 Historia zadania Rejestracja informacji o czasie startu i zakończenia poszczególnych zadań daje możliwość kontroli ich wykonywania, a w szczególności poprawności konfiguracji systemu. Administrator systemu ma wgląd w informacje, czy poszczególne zadania zostały wykonane i w jakim czasie. Zapisy o przebiegu wykonania można wykorzystać np. do sterowania procesem archiwizacji danych. Historię wykonywania zadania można podejrzeć wywołując funkcję Historia w oknie wertowania zadań. Zapisy określają chwilę startu i zakończenia konkretnego zadania. Można więc sprawdzić, czy każde rozpoczęte zadanie zostało wykonane do końca (o czym informuje brak zarejestrowanych czasów zakończenia). w oknie podawany jest również wynik zadania wraz z ewentualnym opisem. 2.4 Testowanie zadań W celu sprawniejszego testowania nowo utworzonych zadań można wykorzystać polecenie Test znajdujące się w okienku wertowania zadań. Testowe uruchamianie zadań dostępne jest tylko w programie Alerty biznesowe. Funkcja ta nie jest dostępna z menu poszczególnych programów pakietu Xpertis. Dostępne tryby testowania: — test pojedynczego zadania — przetwarzane jest bezwarunkowo wskazane zadanie, poczta nie jest wysyłana — test zaznaczonych zadań — przetwarzane są bezwarunkowo zaznaczone zadania, poczta nie jest wysyłana — test przetwarzania jednokrotny — wysyłana jest cała zaległa poczta, po czym wykonywane są wszystkie zadania wg ich kryteriów — test przetwarzania w trybie ciągłym — tak jak dla przetwarzania jednokrotnego, z tym, że przetwarzanie jest uruchomione w pętli 23 24 Rozdział II. Obsługa zadań 2.5 Kolejki zadań Możliwość definiowania kolejek zadań umożliwia rozdzielenie przetwarzania poczty, małych i dużych zadań na osobne procesy serwera. Za pomocą funkcji [Definicje|Kolejki] można definiować kolejki przetwarzania i przypisywać do nich poszczególne zadania. Standardowo zaproponowany jest podział na obsługę poczty kolejka mail), kolejkę roboczą (work) i kolejkę domyślną (default), do której standardowo są przypisywane wszystkie nowe zadania, dla których nie określono konkretnej kolejki. Rozdział III Obsługa zdarzeń 1 Co to jest zdarzenie Drugą z funkcjonalności systemu ALERT jest obsługa powiadomień o zdarzeniach zachodzących w systemie. Zdarzeniem takim może być zbilansowanie się rozrachunku, zmiana stanu kasy, dodanie nowego środka trwałego, próba wydania towaru którego brak na stanie, dodanie lub zwolnienie nowego pracownika, naliczenie listy płac, powołanie nowego zlecenia produkcyjnego, zamknięcie miesiąca, wykonanie zadania czy nawet próba usunięcia istotnego zapisu. Każda aplikacja ma własny zestaw zdarzeń, które mają sens tylko w jej obszarze. Listy standardowo dostarczanych zdarzeń są dostępne w dokumentacji do poszczególnych programów. Z poziomu każdego programu widać tylko własne zdarzenia, z poziomu programu ALERT widać wszystkie zdarzenia całego pakietu Xpertis, jak na ilustracji poniżej. Na etapie modyfikacji programu możliwe jest rozszerzenie listy zdarzeń, co wymaga modyfikacji formuł programu oraz dopisania zdarzenia do listy. Jeżeli na liście nie będzie zdarzenia o odpowiednim kodzie a program będzie się do niego odwoływał, system powiadomi o tym stosownym komunikatem. Na podstawie definicji zdarzenia w momencie wywoływania formuły do kolejki poczty do wysłania (powiadomień) dołączany jest nowy zapis. Zawartość zapisu uzależniona jest od formuł określających temat i treść wiadomości. Do wiadomości przepisywana jest lista adresatów zdefiniowana dla danego zdarzenia uzupełniona o listę zwróconą przez formułę. Wiadomość zostanie wysłana tylko wtedy, kiedy ma przypisanych odbiorców, a zdarzenie które ją generuje jest oznaczone jako aktywne. Z technicznego punktu widzenia zdarzenie jest funkcją która wysyła powiadomienie do kolejki. Identyfikator wiadomości jest parametrem wywoła- 25 26 Rozdział III. Obsługa zdarzeń Ekran III.1 nia funkcji. Aby stworzyć nowe zdarzenie wystarczy zdefiniować je i umieścić wywołanie w odpowiednim fragmencie kodu. 2 Definiowanie zdarzeń Nowe zdarzenia definiuje się w poszczególnych aplikacjach wyłącznie na drodze programowej przez dokonanie odpowiedniego wpisu w formule startowej systemu. Z poziomu programu nadzorczego można jedynie skorygować wprowadzone zdarzenie. Zdarzenia definiowane są w programie ALERT w oknie dostępnym po wywołaniu: [Komunikacja|Zdarzenia]. W oknie redagowania dostępne są następujące pola: Kod — identyfikator zdarzenia używany w formule wywołującej. Pole nieredagowalne; Opis — dowolny opis zdarzenia; Aktywne — znacznik określający, czy zdarzenie będzie przetwarzane. Zmieniając jego wartość na ’N’ można wstrzymać wysyłanie powiadomień, mimo iż zdarzenie w systemie zachodzi. Do zmiany znacznika służą dostępne w oknie wertowania funkcje Aktywuj i Blokuj. Formuła na temat — formuła w języku Formula+ określająca temat wiadomości (musi zwrócić wartość typu STRING). W najprostszym przypadku może to być po prostu tekst ujęty w apostrofy. Pole jest nieredagowalne, długość pola jest ograniczona do 200 znaków; III.2. Definiowanie zdarzeń Ekran III.2 Formuła na treść (tekst) — pole nieredagowalne. Formuła określająca treść wiadomości w formacie tekstowym. Formuła musi zwrócić wartość typu STRING albo — dla dłuższych wiadomości — tabelę tymczasową, w której pierwsza kolumna określa numer rekordu a druga kolumna jest typu STRING. Poszczególne rekordy tabeli są kolejnymi wierszami wiadomości. Każdy wiersz kończony jest znakiem końca linii (odpowiednio do systemu #13 lub #10#13 ). W celu dodania pustego wiersza oddzielającego blok tekstu należy stworzyć rekord zawierający pusty lub niewidoczny tekst (na przykład spację) albo w miejscu gdzie chcemy mieć odstęp dodać znak końca linii \n (tyle znaków \n ile pustych linii chcemy uzyskać); Formuła na treść (html) — formuła określająca treść wiadomości w formacie html. Podobnie jak formuła na tekst musi zwrócić wartość typu STRING albo — dla dłuższych wiadomości — tabelę tymczasową, w której pierwsza kolumna określa numer rekordu a druga kolumna jest typu STRING. Poszczególne rekordy tabeli są kolejnymi wierszami wiadomości. Znaki końca wierszy są w HTML ignorowane, podobnie jak wszystkie nieznaczące odstępy. Ciało formuły musi zawierać w sobie wszystkie znaczniki HTML służące do formatowania wiadomości, stosowane stan- 27 28 Rozdział III. Obsługa zdarzeń dardowo wewnątrz znacznika <BODY></BODY> (ale bez tych znaczników), znaczniki <HTML> i <HEAD> wraz z odpowiednią zawartością, jak np. definicja stylów są dodawane automatycznie. Pole jest nieredagowalne. Twórca formuły musi programistycznie konstruować treść ciała wiadomości umieszczając znaczniki <P>, <B>, <BR>, <HR>, <TABLE></TABLE> czy <TD> oraz <TR> wraz z właściwą treścią wiadomości. Nie ma żadnych ograniczeń w stosowaniu znaczników HTML. Znaczniki otwierające i zamykające mogą znajdować się w różnych wierszach tabeli tymczasowej. Treść HTML nie jest w żaden sposób kontrolowana pod względem poprawności zapisu (np. domknięcia wszystkich wymaganych znaczników czy błędów syntaktycznych polegających na pominięciu nawiasu zamykającego). Od czytnika użytkownika będzie zależeć jak zostanie zinterpretowany błędny kod HTML. Dobrze jest przetestować odbieranie wiadomości HTML na różnych czytnikach, a zwłaszcza na popularnym Outlook Express. Istnieje możliwość wstępnego przetestowania wyglądu wygenerowanej wiadomości za pomocą akcji Podgląd dostępnej w menu powiadomień. Więcej informacji na ten temat znajduje się w punkcie Podgląd Wiadomości. Do treści HTML automatycznie zostanie doklejony nagłówek (zdefiniowany w pliku head.htm) oraz stopka wiadomości (zdefiniowana w pliku foot.htm). W przypadku ich braku włączony zostanie standardowy nagłówek i stopka, zdefiniowane wewnątrz obiektu MAIL. Plik nagłówkowy powinien zwierać przynajmniej osadzoną definicję stylu; Formuła na listę odbiorców — formuła określająca listę odbiorców wiadomości, która uzupełni listę konkretnych adresatów. Formuła musi zwrócić tabelę tymczasową z pierwszą kolumną typu STRING. Można określić, czy odbiorcy wiadomości są odbiorcami głównymi, odbiorcami rodzaju Do wiadomości lub odbiorcami Ukryte do wiadomości. W przypadku stosowania formuły na listę odbiorców zwracana tabela tymczasowa musi mieć drugą kolumnę typu STRING (rodzaj odbiorcy). Wpisanie wartości C oznacza umieszczenie adresata na liście Do wiadomości, wartość B oznacza umieszczenie adresata na liście Ukryte do wiadomości, wartość T oznacza standardowego, zwykłego adresata. Lista odbiorców powinna być listą prawidłowych adresów e-mail. Powiadomienia są generowane tylko wtedy, gdy jest określona lista od- III.2. Definiowanie zdarzeń biorców (albo przypisanych do zdarzenia, albo zwrócona przez formułę) Autor — W polu można umieścić domyślnego autora powiadomień generowanych do zdarzenia. Wartość pola może być podana za pomocą jawnego tekstu, lub wyrażenia w języku Formula. Jeżeli w polu umieszczony zostanie tekst, to musi on oznaczać prawidłowy adres e-mail. Jeżeli w polu znajdzie się wyrażenie w języku Formula, to musi ono zwracać w wyniku ciąg znaków określających prawidłowy adres e-mail. Nadawca — W polu można umieścić domyślnego nadawcę powiadomień generowanych do zdarzenia. Wartość pola może być podana za pomocą jawnego tekstu, lub wyrażenia w języku Formula. Jeżeli w polu umieszczony zostanie tekst, to musi on oznaczać prawidłowy adres e-mail. Jeżeli w polu znajdzie się wyrażenie w języku Formula, to musi ono zwracać w wyniku ciąg znaków określających prawidłowy adres e-mail. Odpowiedz do — W polu można umieścić domyślny adres do odpowiedzi na powiadomienia generowane do zdarzenia. Wartość pola może być podana za pomocą jawnego tekstu, lub wyrażenia w języku Formula. Jeżeli w polu umieszczony zostanie tekst, to musi on oznaczać prawidłowy adres e-mail. Jeżeli w polu znajdzie się wyrażenie w języku Formula, to musi ono zwracać w wyniku ciąg znaków określających prawidłowy adres e-mail. Potwierdzenie odbioru — jeżeli pole to będzie zaznaczone, to powiadomienie wygenerowane z tego zdarzenia będzie miało również zaznaczone to pole. W nagłówku wysyłanej poczty dodawany jest wtedy wpis: Return-Receipt-To:. Uwaga: ustawienia czytnika poczty odbiorcy mogą zabraniać wysyłania potwierdzenia odbioru, więc nigdy nie ma gwarancji, że takie potwierdzenie zostanie dostarczone do nadawcy. 2.1 Definiowanie powiadomień wyskakujących Zdarzenia definiowane w Xpertis Alerty biznesowe mogą generować informacje pojawiające się w powiadomieniach wyskakujących na terminalach użytkowników. W widoku zdarzeń znajduje się przycisk Powiadamiani służący do definiowania użytkowników do powiadomień. Dostępna jest też formuła umożliwiająca zdefiniowanie listy osób powiadamianych (analogicznie do wysyłania maila). O tym, czy generowane będzie powiadomienie e-mailowe czy wyskakujące 29 30 Rozdział III. Obsługa zdarzeń (może być oczywiście powiadomienie idące oboma kanałami komunikacyjnymi) decydują listy odbiorców. Treść html zdarzenia jest jednocześnie treścią powiadomienia wyskakującego. Przykład wygenerowanego powiadomienia: Ekran III.3 Każde zdarzenie zdefiniowane w systemie można obsłużyć jako powiadomienie wyskakujące, z tym, że należy brać pod uwagę następujące ograniczenia: — do powiadomienia wyskakującego nie są dołączane załączniki; — w powiadomieniu wyskakującym nie jest obsługiwane umieszczanie elementów graficznych. Definiowanie szczegółów powiadomienia wyskakującego odbywa się w tym samym oknie, co redagowanie zdarzenia, ale na zakładce Powiadomienia wyskakujące. Znaczenie pól jest następujące: Grupa powiadomień — nazwa grupy, do której przypisany jest system, domyślnie wartość zwracana przez wyrażenie w języku Formula: app_info(’cluster_group’). Przyciski w powiadomieniu wyskakującym definiujemy podając: — Tekst — napis na przycisku; — Rodzaj akcji — określa, czy akcja zapisana jest za pomocą jawnego tekstu, czy wyrażenia w języku Formula; III.2. Definiowanie zdarzeń Ekran III.4 — Akcja — Akcja wykonywana po naciśnięciu przycisku. Znaczenie argumentu Akcja jest opisane w podręczniku do systemu MacroBASE w rozdziale dotyczącym powiadomień. W szczególności jako akcję przycisku można użyć: – tekst w postaci: MENU_ACR:MENU_PTH:PARAMETER — system zostanie uruchomiony w nowej zakładce i zostanie automatycznie wywołana wskazana funkcja z menu; – tekst w innej postaci, np. napis pusty — powoduje uruchomienie systemu w nowej zakładce; – niepusta formuła — system zostanie uruchomiony w nowej zakładce z formułą startową przekazaną poprzez argument; – pusta formuła — nie będzie wykonywana żadna dodatkowa akcja, komunikat zostanie usunięty. Jeśli żaden z przycisków nie ma zdefiniowanej niepustej nazwy, to pojawi się pierwszy przycisk, z etykietą Ok. 31 32 Rozdział III. Obsługa zdarzeń Rozdział IV Konfiguracja i obsługa poczty 1 Odbiorcy Polecenie [Komunikacja|Odbiorcy] umożliwia stworzenie prostej książki adresowej odbiorców, do których mogą być wysyłane powiadomienia o zdarzeniach. Wysyłanie powiadomień do osoby znajdującej się na liście jest najwygodniejsze, można jednak wysłać powiadomienie na dowolny poprawny adres e-mail. Do tabeli należy wprowadzić adres pocztowy w ściśle określonej formie. Dopuszczalne są dwa formaty: [email protected] lub Imie Nazwisko <[email protected]> W drugim przypadku wszystko co jest przed adresem mailowym jest komentarzem. Polecenie Zdarzenia pozwala przejrzeć i przypisać zdarzenie do danego odbiorcy. Polecenie Powiadomienia pozwala sprawdzić, czy do danego odbiorcy nie zalegają wysłane wiadomości. 2 Powiadomienia Polecenie [Komunikacja|Powiadomienia] pozwala na sprawdzenie, czy w programie nie zalegają z wysłaniem wiadomości o zdarzeniach jakie zaszły w systemie. Wiadomości można usunąć lub je zmienić. 33 34 Rozdział IV. Konfiguracja i obsługa poczty Znakomita większość powiadomień będzie tworzona i wysyłana automatycznie. Można ręcznie dodać nową wiadomość, chociaż raczej mija się to z celem — łatwiej zrobić to korzystając z normalnego programu pocztowego, który dodatkowo archiwizuje wysyłane wiadomości. Jednak czy to w przypadku ręcznego dodawania nowych wiadomości, czy tworzenia formuł do automatycznej generacji nowych wiadomości warto znać zasady ich tworzenia w systemie ALERT. Program wysyła powiadomienia do serwera pocztowego, natomiast nie odbiera żadnej poczty, więc nie rejestruje na przykład poczty niedostarczonej z powodu błędu w adresie. Program ALERT nie rejestruje również potwierdzeń odbioru poczty, więc w przypadku wysyłania takich żądań należy zadbać o to, żeby adres nadawcy był prawdziwym adresem e-mail, z którego ktoś odbiera pocztę we własnym zakresie. Polskie znaki są kodowane w obowiązującym standardzie UTF-8. Wszystkie sekcje tekstowe są kodowane w Quoted Printable, natomiast załączniki binarne w Base 64. Powiadomienia wysyłane są do adresatów na dwa sposoby: przez program ALERT uruchomiony w trybie przetwarzania zadań i wysyłania poczty (jako zadanie umieszczone domyślnie w kolejce mail); przez funkcję [Wyślij] w oknie z wiadomościami — funkcja przydatna, jeżeli ze względów technicznych nie powiodło się wcześniejsze wysyłanie i wiadomości pozostały w kolejce albo do celów testowych. W przypadku napotkania problemów z wysyłaniem poczty należy sprawdzić pliki logów. O logach wysyłania poczty przeczytasz w rozdziale IV.2.7. Jeżeli wysłanie powiadomienia nie powiodło się z jakiejś przyczyny (np. błędny adres e-mail odbiorcy), to takie powiadomienie pozostaje w skrzynce nadawczej, ale oznaczone jest kolorem, a system już nie ponawia prób wysłania. Ilość prób określa się parametrem 700004. Po sprawdzeniu przyczyny niepowodzenia można zresetować licznik (funkcja Resetuj) — system ponowi próby wysłania wiadomości. Można zablokować wysyłanie powiadomienia poprzez zmianę znacznika Aktywne. Do zmiany znacznika służą dostępne w oknie wertowania funkcje Aktywuj i Blokuj. Powiadomienie dopisane ręcznie jest wstępnie zablokowane. Powiadomienia wygenerowane automatycznie są aktywne. IV.2. Powiadomienia 2.1 Konfiguracja wysyłania poczty Możliwość definiowania różnych profili (kont), przez które wysyłana jest poczta wykorzystana może być w instalacji wielofirmowej, gdzie każda firma powinna wysyłać pocztę z użyciem innego serwera SMTP. Konfiguracja Konfiguracja wysyłania poczty wymaga określenia listy serwerów SMTP przez które będzie wysyłana poczta [Definicje|Serwery SMTP]. Dla każdego serwera można określić następujące dane: Adres serwera — adres domenowy lub IP; Port — port serwera, domyślnie 25; time-out — czas braku aktywności serwera, (−1) oznacza czekanie bez ograniczeń; Autoryzacja, Użytkownik, Hasło — znacznik, czy serwer wymaga autoryzacji, jeżeli tak, to należy określić użytkownika i hasło autoryzacyjne. Hasła do serwerów SMTP są szyfrowane przed zapisem do bazy i są w niej przechowywane w sposób niejawny. Serwer wymaga bezpiecznego połączenia (SSL) — znacznik, czy serwer wymaga bezpiecznego uwierzytelnienia z protokołem SSL. Serwer wymaga bezpiecznego połączenia (TLS) — znacznik, czy serwer wymaga bezpiecznego uwierzytelnienia z protokołem TLS. Ustawienie tej opcji jest konieczne np. dla serwera smtp.live.com (usługa outlook.com, dawniej hotmail). W oknie dostępna jest funkcja Adresy — za jej pomocą można dla danego serwera przypisać listę nadawców, którzy będą wysyłać pocztę przez ten serwer. Jeden z serwerów należy wskazać jako domyślny — wszystkie powiadomienia, dla których nadawców system nie znalazł serwera dedykowanego wysyłane są przez ten serwer. Mimo tego, że wiadomości mają poprawne nagłówki, to mogą być traktowane z różnych względów jako spam. Przy programowaniu i konfigurowaniu zdarzeń należy uwzględnić następujące fakty, żeby mieć pewność, że wiadomość dotrze do adresatów: — przy wysyłaniu maili do dużej ilości adresatów nie należy sortować listy odbiorców alfabetycznie 35 36 Rozdział IV. Konfiguracja i obsługa poczty — część HTML i tekstowa poczty powinny być podobne do siebie — w sekcji HTML nie należy używać jednakowych kolorów liter i tła — w temacie wiadomości nie należy używać samych wielkich liter 2.2 Komponowanie wiadomości Wiadomości wysyłane przez system składają się z kilku części, które można określić albo podczas definiowania zdarzenia, albo odpowiednio przez programistę wdrażającego system wysyłania wiadomości. Wiadomość jest zbudowana jako wieloczęściowa MIME (multipart/alternative) a składają się na nią: Część tekstowa (text/plain) — wynik formuły treść (tekst) w definicji zdarzenia. Większość czytników poczty (np. Outlook Express) jest tak domyślnie skonfigurowana, że wyświetlana jest treść wiadomości w html, jednak w przypadku, gdy wyświetlany jest tylko czysty tekst (w programie Outlook Express można to osiągnąć zaznaczając opcję: [Narzędzia| Opcje|Czytanie|Czytaj wszystkie wiadomości w postaci czystego tekstu]), to wiadomość w HTML jest ignorowana, a nawet wręcz zablokowana. Wiadomość czysto tekstowa powinna zawierać w miarę dokładny odpowiednik wiadomości w html, a jeżeli nie jest to wykonalne (np. skomplikowane tabele), to przynajmniej informację o tym, że faktyczna treść wiadomości jest w formacie html i aby ją przeczytać należy zmienić ustawienia czytnika. W przypadku, gdy do wiadomości nie dołączono części czysto tekstowej (alternatywy dla wiadomości HTML dla starszych wersji czytników poczty lub nie skonfigurowanych do odczytu wiadomości HTML), to wyświetlany będzie następujący komunikat: — Jeżeli możesz przeczytać ten tekst i nie widzisz treści naszego listu w postaci HTML to oznacza, że Twój program pocztowy nie obsługuje takich listów. Możesz go jednak zobaczyć - zapisz załącznik z tego listu na dysk (plik z rozszerzeniem .htm lub .html) i otwórz go w przeglądarce internetowej, np. Internet Explorer, Mozilla Firefox lub Opera. Uwaga: do kodowania polskich znaków diakrytycznych używany jest standard UTF-8. 37 IV.2. Powiadomienia Część html (text/html) — zostanie złożona z następujących elementów: zawartości pliku head.htm, jeżeli system go nie znajdzie wklejany jest standardowy nagłówek zdefiniowany w obiekcie MAIL; plik nagłówkowy powinien zwierać przynajmniej osadzoną definicję stylu; wyniku formuły treść (html) w definicji zdarzenia; jeżeli formuła da w wyniku pusty tekst lub jej nie będzie, to treść w html powstanie z osadzonej w znacznikach <pre> i </pre> wiadomości czysto tekstowej; zawartości pliku foot.htm, jeżeli system go nie znajdzie wklejana jest standardowa stopka zdefiniowana w obiekcie MAIL. Załączników osadzonych — obrazki wykorzystane w kodzie html. Listę plików należy określić w formule start/system. Formuła ta tworzy obiekt MAIL: MAIL:=obj_new(@.CLASS.EMAIL, 1 [, ’image_1.gif’[, ’image_n.gif’]]) Lista tak zadeklarowanych obrazków jest stała i do każdej wiadomości dołączane są wszystkie obrazki, zatem należy zadbać o to, by nie były one zbyt duże. Załączniki takie są odnajdywane zgodnie z deklaracją ścieżek zawartą w pliku alert.pth. Wybrany obrazek umieszczamy w kodzie html poprzez wywołanie: <img src="cid:image.gif"> Załączników — dowolne pliki mogą zostać wysłane jako pliki załączników do wiadomości pocztowej. W tym celu należy wywołać formułę: exec(’add_eml’,’skid_eml’, <kod zdarzenia>, [<adresat>], [<plik_z_pełną_ścieżką>]) Od chwili wygenerowania załącznika i samego powiadomienia do chwili jego faktycznego wysłania może minąć pewien czas, więc mogłoby się zdarzyć, że w tym okresie wygenerowane zostanie takie samo powiadomienie z takim samym załącznikiem, lecz o innej zawartości. Programista nie musi dbać o to, aby w takim przypadku nazwy plików (lub ich lokalizacje) były unikalne, gdyż po wywołaniu funkcji add_eml załącznik jest pobierany ze wskazanej lokalizacji i przechowywany w bazie. Opcjonalnie formuła ta może przyjąć postać: exec(’add_eml’,’skid_eml’, <kod zdarzenia>, [<adresat>], [<złączenie do pola typu BLOB>]) 38 Rozdział IV. Konfiguracja i obsługa poczty W tym przypadku formuła przyjmuje jako trzeci argument wartość złączeniową (uznawaną jako BLOBRAW) albo tabelę z drugą kolumną typu BLOBRAW. Uwaga: przekazanie parametru złączeniowego nie będącego polem typu BLOB może powodować błędy działania programu. W celu ręcznego dodania załączników należy użyć funkcji Załączniki dostępnej w oknie wertowania powiadomień. Z założenia tworzenie treści wiadomości tekstowych a zwłaszcza wiadomości HTML będzie odbywać się automatycznie, przy pomocy odpowiednich procedur przypisanych do poszczególnych zdarzeń. Możliwość ręcznej ich redakcji jest jedynie dodatkiem umożliwiającym szybkie skorygowanie wiadomości lub wysłanie nowej, głównie w celach testowych. 2.3 Dodawanie nowej wiadomości Tworzenie nagłówka Można również dodać nową wiadomość do wysłania. W tym celu należy wybrać polecenie Dołącz i wypełnić pola: Temat wiadomości — treść jaka pojawi się w polu tytuł wiadomości pocztowej. Wiele serwerów i reguł filtrowania poczty programów pocztowych dokonuje sortowania wiadomości na podstawie tytułu, należy więc go wypełnić sensowną zawartością; Autor (czyli From) — W tym polu musi być umieszczony prawidłowy adres mailowy. Jest to adres autora wiadomości. W przypadku braku adresu autora, przyjęty zostanie adres domyślnego autora powiadomień email określony w parametrze 700002, który jest dostępny po wywołaniu: [Definicje|Formuły]; Nadawca (czyli Sender) — W tym polu musi być umieszczony prawidłowy adres mailowy. Jest to adres aktualnego nadawcy maila, na ogół działającego z upoważnienia autora wymienionego w polu From. W przypadku braku adresu nadawcy - adres ten nie jest wstawiany do nagłówka wysyłanego maila, co z reguły oznacza przyjęcie w czytniku poczty adresu autora w jego miejsce; Odpowiedz do (czyli Reply-To) — W tym polu należy umieścić adres mailowy, który zostanie użyty w przypadku odpowiedzi na wiadomość. IV.2. Powiadomienia W przypadku braku adresu do odpowiedzi — adres ten nie jest wstawiany do nagłówka wysyłanego maila, co z reguły oznacza przyjęcie w czytniku poczty adresu autora w jego miejsce; Data - godzina — czas utworzenia wiadomości pobierany z serwera. Pole wypełniane jest automatycznie i nieredagowalne; Po zakończeniu redagowania nagłówka wiadomości pocztowej należy określić listę odbiorców wiadomości. Bezpośrednio po wprowadzeniu nagłówka okno do wprowadzenia adresatów otworzy się samoczynnie, jeżeli zaś wcześniej zrezygnowaliśmy z wprowadzania odbiorców należy z okna powiadomień wybrać polecenie [Odbiorcy]. W oknie odbiorców należy dodać nowych adresatów poleceniem [Dołącz] i wybrać adresata z listy. Można również wprowadzić bezpośrednio adres odbiorcy, bez korzystania ze słownika. Tworzenie treści wiadomości Wiadomość może być zredagowana zarówno czystym tekstem jak i w formacie HTML. Można również utworzyć jednocześnie dwie wersje tej samej wiadomości. Wiadomość tekstowa Do zredagowania wiadomości tekstowej należy wybrać pole [Treść wiadomości - Tekst]. Treść dokładnie w tej postaci zostanie umieszczona w części tekstowej wiadomości. Jeżeli część HTML wiadomości nie zostanie utworzona, to ta wiadomość tekstowa zostanie ujęta w znaczniki <PRE></PRE> oraz standardowe nagłówki i stopki i wysłana dodatkowo jako treść sekcji html. Przy takim sposobie redagowania jest pewność, że odbiorca odczyta wiadomość w swoim programie bez względu na jego konfigurację. Wiadomość tekstowa nie jest w żaden sposób formatowana w trakcie wysyłki, jednak serwer SMTP lub czytnik odbiorcy może przełamać linie. Należy wziąć to pod uwagę przy tworzeniu wiadomości zawierających długie linie (np. szerokie tabele) i albo zmienić układ wiadomości albo stworzyć wiadomość w HTML. Wiadomość HTML Wiadomość HTML redaguje się wybierając pole [Treść wiadomości - Html]. Treść wiadomości musi zostać sformatowana zgodnie z zasadami HTML, czyli akapity powinny być oddzielane znacznikami <P>, do stworzenia tabeli należy użyć znacznika <TABLE></TABLE>, do umieszczenia linka wewnątrz wiadomości znacznika <A HREF=""></A>. Edytor nie 39 40 Rozdział IV. Konfiguracja i obsługa poczty wspiera w żaden sposób edycji wiadomości HTML, nie dokonuje jej interpretacji czy sprawdzenia poprawności. Wprowadzona treść jest przekazywana do treści wiadomości do sekcji BODY. Jeżeli nie zostanie wypełniona treść HTML, to zostanie ona utworzona automatycznie z treści tekstowej. W przypadku, gdy do wiadomości nie dołączono części czysto tekstowej (alternatywy dla wiadomości HTML dla starszych wersji czytników poczty lub nie skonfigurowanych do odczytu wiadomości HTML), to wyświetlany będzie następujący komunikat: — Jeżeli możesz przeczytać ten tekst i nie widzisz treści naszego listu w postaci HTML to oznacza, że Twój program pocztowy nie obsługuje takich listów. Możesz go jednak zobaczyć - zapisz załącznik z tego listu na dysk (plik z rozszerzeniem .htm lub .html) i otwórz go w przeglądarce internetowej, np. Internet Explorer, Mozilla Firefox lub Opera. Uwaga: do kodowania polskich znaków diakrytycznych używany jest standard UTF-8. Jeżeli nie zostanie wypełniona żadne ciało wiadomości (tekst, html lub załącznik) to system wyśle jako wiadomość jedynie temat wiadomości. Może to być przydatna właściwość do wysyłania powiadomień SMS na telefon komórkowy. Dodawanie załączników Polecenie Załączniki umożliwia dodanie do powiadomienia dowolnych plików które będą wysłane z wiadomością jako załączniki. Istnieje możliwość osadzenia zawartości załączników w treści wysyłanej wiadomości e-mail. Sposób formatowania wiadomości e-mail (szczegóły można znaleźć w odpowiednich RFC) przewiduje dwa rodzaje załączników. Pierwszy z nich to zwykły załącznik, który można skopiować z wiadomości i zapisać na dysku — w ten sposób zwykle przesyłamy dokumenty. Drugą możliwością są tzw. pliki osadzone. W ten sposób do wiadomości można załączyć grafiki wyświetlane w treści wiadomości za pomocą polecenia: <img src="cid:obrazek.jpg" alt="to jest obrazek"> W takim przypadku plik obrazek.jpg jest osadzony w treści wiadomości, co jest alternatywą do umieszczania grafik na serwerze i wykorzystania polecenia: <img src="http://serwer.domena/obrazek.jpg" alt="to jest obrazek"> IV.2. Powiadomienia Jeżeli obrazki będą osadzone, to wiadomość będzie miała większą objętość, ale będzie czytelna również wtedy, gdy klient nie ma dostępu do Internetu. Nie pojawią się też alerty zabezpieczeń podczas wyświetlania takiej wiadomości.Osadzone załączniki doskonale nadają się do takich zastosowań, jak np. oferta sprzedaży, na której można umieścić zdjęcia produktów. Trzeci parametr przekazywany do formuły add_eml\skid_eml (opcjonalny załącznik) może przyjmować następujące wartości: — STRING — nazwa piku z załącznikiem (pełna ścieżka) — tabela tymczasowa z kolumnami: 1. STRING — nazwa pliku z załącznikiem (pełna ścieżka) 2. (opcjonalnie) BLOBRAW — złączenie do pliku w postaci BLOBa 3. (opcjonalnie) STRING[1] — znacznik, czy dołączony, czy osadzony (przyjmuje wartości ’A’ albo ’E’) Gdy nie wystąpi trzecia kolumna w przekazywanej tabeli, to system uzna że załącznik jest dołączany (’A’). W treści generowanego kodu html należy umieścić sekwencje <img src="cid:obrazek.jpg" alt="to jest obrazek">, gdzie obrazek.jpg oznacza te same nazwy plików co przekazane w roboczej tabeli. Standardowo zdefiniowane zdarzenie w systemie Xpertis Logistyka wysyła e-mail z ofertą do kontrahenta załączając obrazki (rysunki) dołączone do materiałów. Uwaga: może się zdarzyć, że w bazie dla różnych rekordów przechowywane są rysunki o tej samej nazwie, ale o różnej zawartości — w takim przypadku wymagane jest przenazwanie ich przy wstawianiu do wiadomości, żeby zachować ich unikalność. 2.4 Podgląd wiadomości Istnieje możliwość podglądu wygenerowanej (zredagowanej) wiadomości w formacie HTML za pomocą wbudowanej przeglądarki WWW. W oknie Powiadomienia do wysłania dostępna jest funkcja Podgląd udostępniająca tę możliwość. Wyświetlona wiadomość będzie identycznie sformatowana jak w wysyłanym powiadomieniu, będą także wyświetlone obiekty (obrazki) osadzone w wiadomości. Dołączone też zostaną pliki załączników. 41 42 Rozdział IV. Konfiguracja i obsługa poczty 2.5 Wysyłanie wiadomości Wiadomości wysyłane są automatycznie. Sama wysyłka jest obsługiwana przez zadanie SENDMAIL, z reguły jako jedyne w kolejce mail, dzięki temu wyniki przetwarzania kolejnych zadań są dostarczane tak szybko jak to możliwe. Wiadomości mogą zostać wysłane natychmiast przez wybranie polecenia Wyślij. Można wysłać pojedynczą wiadomość lub kilka wybranych. 2.6 Wysyłanie wiadomości jako SMS Można wysłać wiadomość jako SMS na telefon komórkowy. Wymaga to przygotowania krótkiego komunikatu umieszczonego jedynie w temacie wiadomości. Jeżeli w wiadomości nie zostanie zdefiniowana sekcja html i sekcja tekstowa oraz nie będą dołączane żadne załączniki, to wysłany zostanie tylko temat wiadomości w formacie czystego tekstu. 2.7 Logi wysyłania i przetwarzania poczty W systemie Xpertis Alerty Biznesowe istnieje możliwość przeglądania logów z przetwarzania i wysyłania powiadomień. Sposobem gromadzenia informacji sterują następujące parametry: — 700001 — Szczegółowe logowanie sesji wysyłania powiadomień e-mail (SMTP) — jeżeli jest włączony (T), to cała zawartość sesji znajdzie się w odpowiednich raportach, jeżeli jest wyłączony - żadna informacja nie będzie logowana. — 700003 — Zapisywanie raportów z przetwarzania powiadomień e-mail — może być miesięczne (M) albo dzienne (D) — 700007 — Zapisywanie raportów z wysyłania powiadomień e-mail — może być miesięczne (M), dzienne (D), albo indywidualne dla każdej wiadomości (I) Modyfikacje powyższych parametrów w zakresie funkcji wysyłania poczty uwzględniane są dopiero po restarcie systemu (ponowne uruchomienie jTerm, a w przypadku przetwarzania CGI zamknięcie i ponowne uruchomienie kolejki obsługującej zadanie SENDMAIL - np. poprzez użycie funkcji [Administracja|Reset przetwarzania]). W przypadku indywidualnego logowania sesji wysyłania powiadomień email, zawartość odpowiedniego raportu może być wyświetlona bezpośrednio z poziomu powiadomienia (funkcja Raport). IV.2. Powiadomienia W przypadku miesięcznego lub dziennego logowania sesji wysyłania powiadomień e-mail, zawartość raportów jest dostępna po wywołaniu funkcji [ Administracja|Logi]. 43