Powiadamianie o przeterminowanych etapach procedur

Począwszy od wersji 3.6.113 system eDokumenty umożliwia skonfigurowanie funkcji automatycznego powiadamiania użytkowników wiadomościami email o etapach procedur, dla których przekroczony został termin załatwienia.

Jak to działa

Uruchomienie wbudowanego w system eDokumenty, dedykowanego skryptu php powoduje wysłanie do każdego użytkownika, a także do jego przełożonego, emaila zawierającego zestawienie wszystkich niezałatwionych, przeterminowanych etapów. Przykładowa treść generowanego emaila przedstawiona została na rysunku 1.


(Rys.1)

Konfiguracja

Podstawowym wymaganiem dla prawidłowego działania skryptu jest skonfigurowanie w systemie eDokumenty tzw. systemowego konta pocztowego, z którego wysyłane będą powiadomienia. Aby to zrobić należy przejść do Panelu sterowania i kliknąć link Systemowe konto pocztowe, a następnie wprowadzić poprawne dane (wpisując adres email w polu Wyślij testowy email można też sprawdzić czy konto zostało prawidłowo skonfigurowane).

Ustawienia >> Panel sterowania >> Sekcja Ogólne >> Systemowe konto pocztowe

Wiadomości z powiadomieniami wysyłane są na adresy email przypisane pracownikom w module Konta pracowników. Zalecane jest więc zweryfikowanie, czy wszyscy pracownicy mają określony właściwy adres email.

Sam skrypt natomiast, znajduje się w katalogu public_html/apps/edokumenty/scripts/. Oryginalna wersja skryptu zapisana jest w pliku OverdueWorkflowStagesToEmail.php_default. Do utworzenia treści emaila wykorzystywany jest szablon HTML/Flexy, którego oryginalna wersja znajduje się w tym samym katalogu i posiada taka samą nazwę ale z rozszerzeniem .tpl_default. Pliki te należy skopiować do tego samego katalogu, ale usuwając z rozszerzenia "_default" (czyli odpowiednio jako OverdueWorkflowStagesToEmail.php i OverdueWorkflowStagesToEmail.tpl). Tak przygotowany skrypt będzie działał prawidłowo. Jeśli jednak okaże się, że potrzebne są pewne zmiany (np. w zapytaniu źródłowym, czy też w treści wysyłanego emaila) pliki te można wyedytować i dostosować do potrzeb.

Automatyzacja wykonywania skryptu

W typowym zastosowaniu zalecamy konfigurację automatycznego wykonywania skryptu na serwerze codziennie, od poniedziałku do piątku, o godzinie 12:00. Poniżej zamieszczona została informacja w jaki sposób dodać takie zadanie na serwerach linux i windows.

Linux

Na serwerach linux automatycznie wykonywane zadania najczęściej konfiguruje się poprzez edycję pliku /etc/cron.d/crontab. W pliku tym należy dodać poniższy wiersz.

0 22 * * 1-5 www-data php -f /home/edokumenty/public_html/apps/edokumenty/scripts/OverdueWorkflowStagesToEmail.php

Windows

Na serwerach Windows należy wykonać z konsoli poniższe polecenie, które doda nowe zadanie do systemowego Harmonogramu Zadań.

schtasks /CREATE /sc WEEKLY /d MON,TUE,WED,THU,FRI /st "12:00:00" /tn "OverdueWorkflowStagesToEmail" /tr "php -f \"(ścieżka_instalacyjna)\eDokumenty\public_html\apps\edokumenty\scripts\OverdueWorkflowStagesToEmail.php""

W zależności od obsługiwanej składni, dla parametru /sc zamiast WEEKLY może być wymagane użycie wartości Cotygodniowo, a dla parametru /d wartości Pn,Wt,Śr,Cz,Pt. Można to sprawdzić za pomocą polecenia:

schtasks /CREATE /?

Archiwizacja

Aby wysłane maile przez skrypt zapisywały się w wysłanych zmieniamy wpis w pliku OverdueWorkflowStagesToEmail.php z:

'x-bs-edok-svefid' => EmailAccount::SENT_EMAIL_APPEND_NONE,

na

'x-bs-edok-svefid' => EmailAccount::SENT_EMAIL_APPEND_AUTO,

Diagnozowanie problemów

Domyślnie skrypt loguje do pliku tekstowego każde uruchomienie oraz liczbę wysłanych wiadomości email. Logowane są także błędy jakie pojawiły się podczas jego działania. Pliki z logami znajdują się w katalogu public_html/apps/edokumenty/var/log/ i są to odpowiednio pliki workflow_stages_to_email_stat.log i workflow_stages_to_email_error.log.

W celach testowych można uruchomić skrypt z konsoli za pomocą polecenia:

php -f (ścieżka_instalacyjna)\eDokumenty\public_html\apps\edokumenty\scripts\OverdueWorkflowStagesToEmail.php

Bądź też po prostu z przeglądarki używając adresu:

https://{domena}/public_html/apps/edokumenty/scripts/OverdueWorkflowStagesToEmail.php

Tworzenie pliku log w przypadku wystąpienia problemów.

php -f home/public_html/apps/edokumenty/scripts/OverdueWorkflowStagesToEmail.php > log.txt

Załączniki