Szablony powiadomień muszą być zapisane w formacie UTF-8 without BOM, ponieważ w przeciwnym wypadku, nie będą widoczne polskie literki.
Rysunek 5.3.15 Zmiana ustawień formatu
Nie należy edytować szablonu powiadomienia w Wordzie tylko w notatniku, ponieważ Word zapisuje szablon w innym formacie, niż UTF-8 oraz dodatkowo zapisuje dodatkowe informację w szablonie, które powodują, że nie została wyświetlona np. data utworzenia szablonu.
Najlepszym rozwiązaniem jest wyedytowanie w Notatniku szablonu, który wcześniej też był utworzony w notatniku i wprowadzenie w nim odpowiednich zmian.
W ten sposób format szablonu bedzie poprawny oraz struktura specjalnych słów np. processstartday
oznaczajacych datę utworzenia procesu będzie poprawna.
(Gdy wyedytujemy i zapiszemy szablon w Wordzie , używając w tym szablonie słowa processstartday
to Word podczas zapisu zamieni je na <span class="SpellE">processstartday</span>
co spowoduje, że system PlusWorkflow nie podmieni w treści maila tego słowa na date utworzenia procesu.)
W szablonie można użyć następujących słów specjalnych:
Słowo specjalne | Utworzenie procesu | Zakończenie procesu | Utworzenie zadania | Zakończenie zadania | Przekroczenie terminu akceptacji zadania |
---|---|---|---|---|---|
processtype | id procesu | id procesu | id procesu | id procesu | id procesu |
processname | nazwa procesu | nazwa procesu | nazwa procesu | nazwa procesu | nazwa procesu |
processstarttime | godzina utworzenia procesu | godzina utworzenia procesu | godzina utworzenia procesu | godzina utworzenia procesu | godzina utworzenia procesu |
processstartday | dzień utworzenia procesu | dzień utworzenia procesu | dzień utworzenia procesu | dzień utworzenia procesu | dzień utworzenia procesu |
activityid | puste | puste | id zadania | id zadania | id zadania |
activityname | puste | puste | nazwa zadania | nazwa zadania | nazwa zadania |
activitystarttime | puste | puste | godzina utworzenia zadania | godzina utworzenia zadania | godzina utworzenia zadania |
activitystartday | puste | puste | dzień utworzenia zadania | dzień utworzenia zadania | dzień utworzenia zadania |
deadlineTime | puste | puste | puste | puste | przekroczony czas akceptacji zadania wyrażony w dniach |
taskUsers | puste | puste | użytkownicy (imię i nazwisko), do których zostało przydzielone zadanie | użytkownik (imię i nazwisko), który zaakceptował zadanie | użytkownicy, do których jest przydzielone zadanie (jeżeli nie zostało jeszcze uruchomione) lub użytkownik, który ma uruchomione zadanie |
link | link do historii procesu | link do historii procesu | link do zadania | link do historii zadania | link do zadania |
historylink | link do historii procesu | link do historii procesu | link do historii zadania | link do historii zadania | link do historii zadania |
Oprócz słów specjalnych można w szablonie wstawiać id zmiennych procesu, pod które wstawione zostaną ich wartości.
Wszystkie słowa specjalne oraz id zmiennych muszą być opakowane w znak @, np.: @activityid@ lub @id_zmiennej@. Tylko wtedy zostaną podstawione odpowiednie wartości pod te znaczniki.
Dodatkowo jeżeli zmienna posiada login użytkownika systemu, a my chcemy, aby w szablonie wstawione zostało imię i nazwisko tego użytkownika, to możemy skorzystać z przedrostka "realusername_", np. @realusername_zmiennaLogin@. Jeżeli w zmiennej jest kilka loginów oddzielonych średnikiem lub jest to zmienna z tabeli, to w takim wypadku wszystkie loginy zostaną zastąpione imieniem i nazwiskiem zostaną w szablonie oddzielone przecinkiem.
Może się okazać, że w procesie posiadamy zmienną o id takim samym jak zdefiniowane słowo specjalne, np. link. W takim wypadku nie możemy skorzystać ze zdefiniowanego słowa, które zwróci nam link do zadania, bo w pierwszej kolejności podstawiane są id zmiennych i wtedy pod ten znacznik wstawiona zostanie wartość zmiennej link.
W związku z tym od wersji 2.9.53 i 3.2.44 zostały rozszerzone słowa specjalne. Każde słowo specjalne może być zapisane z przedrostkiem "predefined.", np.: @predefined.link@. Jeżeli podamy takie słowo specjalne, to nie musimy martwić się, że powieli nam się ono ze zmienną procesu, gdyż w id zmiennych procesu nie może być kropki. Zalecane jest, aby zawsze korzystać z przedrostka predefined.
Różne wersje językowe szablonu:
Aby system wykorzystał szablon w języku, który ustawiony jest w systemie, należy utworzyć szablony z symbolem języka dodanym na końcu nazwy.
Szablon domyślny: szablon.html
Szablon w języku angielskim: szablon_en.html
W parametrze "Ścieżka szablonu" wpisujemy pełną ścieżkę do pliku z domyślnym szablonem. System na podstawie ustawionego języka w systemie wybierze odpowiedni plik przetłumaczonego szablonu.
Temat
Aby temat maila został przetłumaczony należy użyć customMessages. Opis znajduje się tutaj.
Przykładowe powiadomienie (konfiguracja):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Powiadomienia - Adminsitracja -> Obieg dokumentów -> Proces (Edytuj) -> Powiadomienia</title> <style type="text/css"> body { background-color: #ededed } h3 { font-family: 'Ubuntu', Verdana, 'Andele Mono'; font-style: oblique; text-align: center; margin: 0px; padding: 0px; } p { font-family: 'Tahoma'; font-size: 0.875em; margin: 0px; padding: 0px; color: #0865b3; } .value { color: #e85c00; } .var { color: #379f46; } .tags { font-weight: bold; } </style> </head> <body> <h3>Zmienne systemowe</h3> <p>Zmienna <span class="tags">processtype</span> <span class="var">(sProcessId)</span> - wartość zmiennej: <span class='value'>@processtype@</span></p> <p>Zmienna <span class="tags">processname</span> <span class="var">(sProcessName)</span> - wartość zmiennej: <span class='value'>@processname@</span></p> <p>Zmienna <span class="tags">processstartday</span> <span class="var">(sProcessStartDay)</span> - wartość zmiennej: <span class='value'>@processstartday@</span></p> <p>Zmienna <span class="tags">processstarttime</span> <span class="var">(sProcessStartTime)</span> - wartość zmiennej: <span class='value'>@processstarttime@</span></p> <p>Zmienna <span class="tags">activityid</span> <span class="var">(sTaskId)</span> - wartość zmiennej: <span class='value'>@activityid@</span></p> <p>Zmienna <span class="tags">activityname</span> <span class="var">(sActivityName)</span> - wartość zmiennej: <span class='value'>@activityname@</span></p> <p>Zmienna <span class="tags">activitystarttime</span> <span class="var">(sActivityStartTime)</span> - wartość zmiennej: <span class='value'>@activitystarttime@</span></p> <p>Zmienna <span class="tags">activitystartday</span> <span class="var">(sActivityStartDa)</span> - wartość zmiennej: <span class='value'>@activitystartday@</span></p> <p>Zmienna <span class="tags">link</span> <span class="var">(sLink)</span> - wartość zmiennej: <span class='value'>@link@</span></p> <p>Zmienna <span class="tags">historylink</span> <span class="var">(historylink)</span> - wartość zmiennej: <span class='value'>@historylink@</span></p> <p>Zmienna <span class="tags">taskUsers</span> <span class="var">(sTaskUsers)</span> - wartość zmiennej: <span class='value'>@taskUsers@</span></p> <br> <p>Zmienna <span class="tags">Initiator</span> <span class="var">(Initiator)</span> - wartość zmiennej: <span class='value'>@Initiator@</span></p> <p>Zmienna <span class="tags">realusername_Initiator</span> <span class="var">(realusername_Initiator)</span> - wartość zmiennej: <span class='value'>@realusername_Initiator@</span></p> </body> </html>
Wygląd tego powiadomienia:
Rysunek 5.3.16 Przykładowe powiadomienie