= 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. [[Image(incomplete_stages_email.png)]][[BR]] (''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 }}}