Pakiet: com.suncode.plugin.scheduldedtask.task.EmailBySQL
Dostępna od wersji: 1.0.4
Opis
Zadanie zaplanowane wykonuje zapytanie z bazy danych i na podstawie zwróconych wyników wysyła maila. Dane pobrane z bazy można wykorzystać w szablonie wiadomości jak i w tytule maila. Adresata wiadomości można podać bezpośrednio w zadaniu lub użyć odpowiednich tagów. Zadanie ma możliwości ominięcia wolnych dni (nie wysyła maili w wolne dni). Wiadomości można także grupować wedle adresu email. Każda wiadomość jest osobno wysyłana.
Wymagania
Zainstalowana i skonfigurowana wtyczka dbExplorer wersji 2.0.24 lub nowszej
System obsługujący zadania zaplanowane w formie wtyczki od wersji 3.2.3.
Skonfigurowane połączenie z serwerem pocztowym w parametrach systemu.
Zapytanie
Zapytanie należy umieścić w tabeli pm_dbqueries. Jeżeli tabela nie istniej to wtyczka przy wgraniu ją utworzy.
- id: Identyfikator w tabeli
- query: Treść zapytania
- query_name: nazwa zapytania która się podaje jako parametr.
W parametrze zadania należy podać "Nazwę zapytania" (query_name), po którym zapytanie zostanie pobrane z tabeli oraz parametr "Baza danych", który należy uzupełnić nazwą bazy z konfiguracji dbExplorera (Edytora Danych). Na podanej bazię będzie wykonane pobrane zapytanie. Jeżeli zapytanie nie zwróci żadnego wyniki, to mail nie zostanie wysłany. W przeciwnym razie dane zostaną odpowiednio przetworzone wedle wcześniej przygotowanego szablonu.
Przygotowanie szablonu
Szablon może być zwykłym dokumentem tekstowym albo plikiem html. Szablon należy umieścić na serwerze i podać w parametrze "Ścieżka do szablonu" ścieżkę to tego pliku np "c:\Szablon2.html".
Aby otrzymane dane z zapytania umieścić w mailu, w szablonie należy skorzystać z tagu @<nazwa kolumny lub alias kolumny>@ np @guery@ dla zapytania SELECT * FROM pm_dbqueries.
Dodatkowo można stosować odpowiednie tagi z dostępnej tabeli poniżej (tab. Tagi Szablonowe).
Gdy parametr "Grupuj wiadomości" jest ustawiony na "true", powoduje to że dane zwracane są grupowane po adresacie (po adresie email). Wówczas szablon może być zbudowany z wielu wierszy. Aby takie dane odpowiednio wstawić do treści wiadomości, należy użyć specjalnych tagów @@rows@@ i @@end_rows@@. Spowoduje to, że każdy tekst między tymi tagami będzie powielany tyle razy, ile jest zwróconych wierszy dla danego adresata. Podczas każdej iteracji (kopiowania tekstu), tagi w tym tekście zostaną zamienione na dane z danego wiersza.
Adresat Wiadomości
Aby wybrać adresata wiadomości należy odpowiednio uzupełnić parametr "Do" . Adresata można wyznaczyć na 3 sposoby.
- To przez wpisanie bezpośrednio adresu email. np office@suncode.pl
- To przez pobranie adresu email z systemu za pomocą odpowiednich tagów np USER_admin, GROUP_office itp (patrz tab. Tagi Adresowe)
- To przez wykorzystaniu odpowiedniej kolumny zawierającej bezpośrednio email adresata albo informacje z jakiego parametru pobrać adres pocztowy. W tym celu do wykorzystania są tagi z dopiską *COL_ gdzie należy podać nazwę zwracanej kolumny zawierającej stosowne informacje. Np EMAIL_COL_adresy, USER_COL_rejestrujacy. (patrz tab. Tagi Adresowe)
Dla opcji 1 i 2 wszystkie wiersze są wysyłane do każdej osoby. W osobnych mailach lub w jednym jeżeli włączone jest grupowanie.
Dla opcji 3 adresaci dostaną wiadomości tylko z danymi z wierszy w których wybrana kolumna zwróci ich adres. Jeżeli kolumna grupy zwraca nazwy grupy, to za pomocą tych nazw wyciągana jest lista emaili i dane z tego wiersza są wysyłane na te adresy. Przykłady niżej.
Dla opcji 2.3 (nie licząc tagu EMAIL_COL_) wiadomości dostaną osoby, które w swoich ustawieniach systemowych mają włączoną opcje "Odbieraj powiadomienia mailowe". Wysyłanie można także ograniczyć tylko do grupy osób, które należą do danych grup ustawionych w parametrze Ograniczenie do grup. Listę grup należy wpisać bez spacji i oddzielonych znakiem ';' np: "Administrators;Users"
TAGI
Tagi Adresowe | |||
TAG | OPIS | UWAGI | PRZYKŁAD |
---|---|---|---|
ROLE_<identyfikator_roli> | Pobiera adresy wszystkich osób o podanym identyfikatorze roli | ROLE_uczestnik_1 | |
USER_<nazwa_użytkownika> | Pobiera adres email konkretnego użytkownika | USER_admin | |
GROUP_<nazwa_grupy> | Pobiera adresy email od osób należących do podanej grupy | GROUP_Księgowość | |
POSITION_BY_NAME_<nazwa_stanowiska> | Pobiera adresy email od osób przypisanych do danego stanowiska | POSITION_BY_NAME_stanowisko | |
POSITION_BY_SYMBOL_<symbol_stanowiska> | Pobiera adresy email od osób przypisanych do danego stanowiska | POSITION_BY_SYMBOL_sta1 | |
OU_BY_NAME_<nazwa_jednostki_organizacyjnej> | Pobiera adresy email od osób należących do danej jednostki organizacyjnej | OU_BY_NAME_Poznan | |
OU_BY_SYMBOL_<symbol_jednostki_organizacyjnej> | Pobiera adresy email od osób należących do danej jednostki organizacyjnej | OU_BY_SYMBOL_Poz | |
EMAIL_COL_<kolumna_z_email> | Pobiera email z kolumny zwróconej przez zapytanie SQL | EMAIL_COL_adresPocztowy. Kolumna adresPocztowy zawiera adresy email. Dany wiersz będzie wysłany pod wskazany adres. | |
EXECUTOR | Pobiera adresy email wykonawcy zadania | Wymaga zwróconych kolumn processid i activityid | |
ROLE_COL_<kolumna_z_identyfikatorem_roli> | Pobiera email z kolumny zawierającej identyfikator kolumny | ROLE_COL_rola kolumna rola zawiera identyfikatory ról. Dany wiersz zostanie wysłany do ludzi którzy mają przypisaną daną role. | |
USER_COL_<kolumna_z_nazwą_użytkownika> | Pobiera email z kolumny zawierającej nazwy użytkowników | USER_COL_wnioskujacy kolumna "wnioskujacy" zawiera nazwy użytkowników. Dla tych nazw zostanie odczytany email i dany wiersz wysłany do danej osoby | |
GROUP_COL_<kolumna_z_nazwą_grupy> | Pobiera email z kolumny zawierającej listę group | GROUP_COL_dzial. Kolumna dział zawiera nazwy grup w systemie PlusWrokflow. Dany wiersz będzie wysyłany do osób które należą do danej grupy | |
POSITION_BY_NAME_COL_<kolumna_z_nazwą_stanowiska> | Pobiera email z kolumny zawierającej nazwy stanowisk | POSITION_BY_SYMBOL_COL_stanowiska. kolumna stanowiska, zawiera symbole stanowisk. Po tych symbolach będzie wyszukiwany użytkownik i wysyłany email do niego | |
POSITION_BY_SYMBOL_COL_<kolumna_z_symbolem_stanowiska> | Pobiera email z kolumny zawierającej symbole stanowisk | POSITION_BY_SYMBOL_COL_symbolStanowiska | |
OU_BY_NAME_COL_<kolumna_z_nazwą_jednostki_organizacyjnej> | Pobiera email z kolumny zawierającej nazwy jednostek organizacyjnych | OU_BY_NAME_COL_dzialy | |
OU_BY_SYMBOL_COL_<kolumna_z_symbolem_jednostki_organizacyjnej> | Pobiera email z kolumny zawierającej symbole jednostek organizacyjnych | OU_BY_SYMBOL_COL_symbolDzialy |
Tab. Tagi Adresowe
Tagi Szablonowe | ||
TAG | OPIS | UWAGI |
---|---|---|
@processname@ | Nazwa procesu | wymagana kolumna processid |
@processdescription@ | Opis procesu | wymagana kolumna processid |
@processdefid@ | Identyfikator definicji procesu | wymagana kolumna processid |
@processpackageid@ | Identyfikator pakietu z którego pochodzi proces. | wymagana kolumna processid |
@processtype@ | Typ procesu | wymagana kolumna processid |
@processstarttime@ | Godzina uruchomienia procesu | wymagana kolumna processid |
@processstartday@ | Data uruchomienia procesu | wymagana kolumna processid |
@processcreatedtime@ | Godzina utworzenia procesu | wymagana kolumna processid |
@processcreatedday@ | Data utworzenia procesu | wymagana kolumna processid |
@activityname@ | Nazwa zadania | wymagana kolumna processid i activityid |
@activitydescription@ | Opis zadania | wymagana kolumna processid i activityid |
@activitydefid@ | Identyfikator definicji zadania | wymagana kolumna processid i activityid |
@activityid@ | Identyfikator zadania | wymagana kolumna processid i activityid |
@activitystarttime@ | Godzina uruchomienia zadania | wymagana kolumna processid i activityid |
@activitystartday@ | Data uruchomienia zadania | wymagana kolumna processid i activityid |
@activitycreatedtime@ | Godzina utworzenia zadania | wymagana kolumna processid i activityid |
@activitycreatedday@ | Data utworzenia zadania | wymagana kolumna processid i activityid |
@historylink@ | Link do historii procesu | wymagana kolumna processid i activityid. Od 1.0.7 wstawia link html |
@link#<activityDefId>@ | Link do szczegółów zadania o podanym id definicji zadania, np. link#akceptacja_wniosku | wymagana kolumna processid. Od 1.0.7 wstawia link html |
@taskuser#<activityDefId>@ | Pełna nazwa użytkownika, który wykonał zadanie o podanym id definicji zadania, np. taskuser#akceptacja_wniosku | wymagana kolumna processid |
@realusername#<zmienna_procesu>@ | Pełna nazwa użytkownika, którego identyfikator znajduje się w podanej zmiennej procesowej, np. realusername#zmienna | wymagana kolumna processid |
@link@ | Link do konkretnego zadania | wymagana kolumna processid i activityid . Od 1.0.7 wstawia link html Dostępne od wersji 1.0.7 |
@httplink@ | Link do systemu. Pobrana wartość z Parametrów Systemu "HTTPLink" | Dostępne od wersji 1.0.7 Od 1.0.7 wstawia link html |
@taskUsers@ | Użytkownik (imię i nazwisko), do których zostało przydzielone zadanie. Gdy użytkownik nie ma wypełnionego imienia i nazwiska to pojawi się login użytkownika. Gdy zadanie oczekuje u kllku użytkowników, to wszyscy są wymienieni po przecinku, np. Default User, Adam Nowak, dnowak. | Dostępne od wersji 1.0.8 |
Konfiguracja
Nazwa klasy
com.suncode.plugin.scheduldedtask.task.EmailBySQL
- Skrzynka pocztowa - Skrzynka pocztowa zdefiniowana w konfiguracji systemu
- Nazwa zapytania - Nazwa zapytania (query-name) z tabeli pm_dbqueries
Baza danych - Nazwa bazy danych skonfigurowana w dbExplorer w systemie PlusWorkflow
Temat wiadomości - Temat wiadomości - można używać tagów szablonowych
Ścieżka do szablonu - Ścieżka do szablonu znajdującego się na serwerze
Do - Adres na którego wysłać emaila. Można użyć tagów emailowych np USER_admin, USER_COL_uzytkownik
Nie wysyłaj w dni wolne - Nie uruchamia zadanie gdy dzień wolny. należy wpisać true lub false
Grupuj wiadomości - Grupuje wiadomości po emailu. Kilka wierszy wysłane w jednej wiadomości. Używa tagów @@rows@@ i @@end_rows@@ w szablonie. Wartości do wpisania to true lub false. Gdy ustawione na false każdy zwrócony wiersz przesyłany w osobnej wiadomości
Ograniczenie do grup - Lista grup po znaku ';' dla których będą wysyłane maile. Gdy puste to nie brana opcja pod uwagę. Przykład: "Administrators;Users"
0 Comments