Powiadamianie o niezałatwionych 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, które nie zostały jeszcze załatwione.

Jak to działa

Uruchomienie wbudowanego w system eDokumenty, dedykowanego skryptu php powoduje wysłanie do każdego użytkownika, który posiada niezałatwione zadania workflow, emaila zawierającego zestawienie tych zadań. Przykładowa treść generowanego emaila przedstawiona została na rysunku 1. Zadania, których termin załatwienia został przekroczony są zaznaczone na czerwono.


(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 IncompleteWorkflowStagesToEmail.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 IncompleteWorkflowStagesToEmail.php i IncompleteWorkflowStagesToEmail.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/IncompleteWorkflowStagesToEmail.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 "IncomlpeteWorkflowStagesToEmail" /tr "php -f \"(ścieżka_instalacyjna)\eDokumenty\public_html\apps\edokumenty\scripts\IncomlpeteWorkflowStagesToEmail.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 IncompleteWorkflowStagesToEmail.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 incomplete_workflow_stages_to_email_stat.log i incomplete_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\IncompleteWorkflowStagesToEmail.php

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

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

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

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

Załączniki