W aplikacji Panel System można zdefiniować systemy docelowe, które następnie mogą być obsługiwane za pomocą panelu aktualizacji oprogramowania.
Niniejsza dokumentacja opisuje wykorzystanie aplikacji w tle Aktualizacja systemu docelowego, aby zautomatyzować aktualizowanie takich zdefiniowanych systemów docelowych.
Definicje pojęć
- Workflow Comarch ERP Enterprise — Workflow Comarch ERP Enterprise steruje obsługą działań przez system Comarch ERP Enterprise oraz przez użytkownika. Za pomocą definicji działania można tworzyć działania w momencie wystąpienia zdarzeń. Workflow Comarch ERP Enterprise steruje poprzez działania seryjne regularnie powtarzającymi się zadaniami, takimi jak np. wykonywanie zleceń przetwarzania. Workflow Comarch ERP Enterprise może odwzorowywać procesy tylko wtedy, gdy można wykorzystać odpowiednie zdarzenia. Zasadniczo do odwzorowania złożonych procesów potrzebne jest Semiramis Business Process Management.
Opis aplikacji
Aplikacja Aktualizacja systemu docelowego umożliwia uproszczenie regularnego aktualizowania systemów docelowych. Aplikację w tle Aktualizacja systemu docelowego należy skonfigurować jako serię.
Przebieg w systemie deweloperskim
Przebieg wygląda następująco:
- Należy wyszukać aktualizacje oprogramowania, które nie zostały jeszcze zaimportowane w systemie docelowym.
- Ustalić powiązane zlecenia deweloperskie w statusach: Pierwszy test wykonany, W drugim teście, Zrealizowane, Zrealizowane bez zmiany, Zakończone.
- Dla aktualizacji oprogramowania, które nie zostały jeszcze zatwierdzone, sprawdzane jest zatwierdzenie.
- Należy zatwierdzić niezatwierdzone, ale możliwe do zatwierdzenia aktualizacje oprogramowania.
- Należy wyeksportować zatwierdzone aktualizacje oprogramowania, których to dotyczy.
- Należy skopiować wyeksportowane aktualizacje oprogramowania do odpowiedniego folderu importu w systemie docelowym.
- Należy uruchomić instalację w systemie docelowym.
- Należy uruchomić aktywację ewentualnie istniejących zadań konfliktów w systemie docelowym.
- Po zakończeniu instalacji należy wyzwolić zaprogramowane zdarzenie dla pomyślnej instalacji.
Jeżeli instalacja w systemie docelowym nie jest możliwa albo instalacja zostaje przerwana, wyzwalane są odpowiednie zdarzenia.
Może się zdarzyć, że niektórych zleceń lub ich aktualizacji oprogramowania nie uda się zainstalować, np. dlatego, że zlecenie ma zależność od innego zlecenia, które nie zostało jeszcze ukończone. Może to wystąpić także przy instalacjach zasadniczo udanych. Lista zleceń, które miały zostać zainstalowane, ale nie zostały, jest dołączana jako parametr zdarzenia.
Pomimo automatyzacji mogą być potrzebne ręczne interwencje w logistyce oprogramowania, np. w celu rozwiązania zależności krzyżowych.
W takiej konfiguracji automatyczne zatwierdzenie aktualizacji oprogramowania nie jest możliwe i konieczna jest ręczna interwencja w aplikacji Aktualizacje oprogramowania.
Nagłówek
- System docelowy — wybór systemu docelowego, który ma zostać zaktualizowany. Systemy dostępne do wyboru są rejestrowane w aplikacji Panel System (typ System, zakładka Edytor, zakładka Systemy docelowe aktualizacji oprogramowania).
- Aktywuj zadania konfliktowe — jeśli zaznaczono to pole, po instalacji podejmowana jest próba aktywacji potencjalnie istniejących w systemie docelowym zadań konfliktów
- Rodzaj zlecenia — zlecenie deweloperskie wskazanego rodzaju jest tworzone automatycznie, jeśli jest to konieczne do dalszego przetwarzania ewentualnie istniejących zadań konfliktów
- Zrealizuj zlecenia deweloperskie — podejmowana jest próba automatycznego ustawienia powiązanych zleceń deweloperskich na status Zrealizowane
- Folder źródłowy — folder, do którego system źródłowy eksportuje aktualizacje oprogramowania
- Folder docelowy — folder, z którego system źródłowy wczytuje aktualizacje oprogramowania do importu
- Folder źródłowy — folder, w którym znajdują się pliki transportowe wymagane do aktualizacji systemu docelowego
- Folder docelowy — folder systemu docelowego, do którego kopiowane są transporty potrzebne do aktualizacji systemu docelowego
- Folder importu systemu źródłowego — folder, w którym znajdują się transporty służące do aktualizacji systemu źródłowego
Definicje działań
Aplikacja wyzwala zaprogramowane zdarzenia. Są to:
- com.cisag.sys.sis.log.RefreshTargetSystemAbort (Przerwanie)
- com.cisag.sys.sis.log.RefreshTargetSystemNotPossible (Niemożliwe)
- com.cisag.sys.sis.log.RefreshTargetSystemSuccess (Pomyślnie)
Jeśli zostaną utworzone odpowiednie definicje działań, można np. wysłać osobie odpowiedzialnej za system e-mail poprzez workflow. Poniżej podano przykładowe definicje działań.
Działanie Przerwanie
Poniżej opis definicji działania, która wysyła do użytkownika ADMIN e-mail z powiadomieniem o przerwaniu aktualizacji systemu. Zastępniki, np. {system}, są zastępowane w Temacie przez formatSubject, a w treści przez formatDescription.
Zakładka Działanie
- Oznaczenie — Aktualizacja systemu docelowego {targetSystem} przez system {system} została przerwana
- Kategoria — E-mail
- Opracowujący użytkownik — Wyrażenie
- Opracowanie — Pojedyncze
- Typ działania — Wiadomość e-mail
- Wyślij e-mail — Zawsze
Zakładka Polecenia
setMailRecipientsTo(„ADMIN”); /* change to desired user */
setMailRecipientsCC(“DEPUTY”); /* maybe another user */
setMailTemplate(„”);
var targetSystem := parameters.targetSystem;
formatSubject(„system”, system);
formatSubject(„targetSystem”, targetSystem);
formatDescription(„system”, system);
formatDescription(„targetSystem”, targetSystem);
formatDescription(„description „, description);
Zakładka Zdarzenia
- Zaprogramowane wydarzenie — com.cisag.sys.sis.log.RefreshTargetSystemAbort
Zakładka Teksty
Cześć,
Aktualizacja systemu {targetSystem} przez system {system} została przerwana.
{description}
Działanie Niemożliwe
Jeśli w momencie wykonania aktualizacja nie jest możliwa, np. ponieważ trwa już inna aktualizacja, można zareagować za pomocą poniższej definicji działania.
Zakładka Działanie
- Oznaczenie — Aktualizacja systemu docelowego {targetSystem} przez system {system} nie była możliwa.
- Kategoria — E-mail
- Opracowujący użytkownik — Wyrażenie
- Opracowanie — Pojedyncze
- Typ działania — Wiadomość e-mail
- Wyślij e-mail — Zawsze
Zakładka Polecenia
setMailRecipientsTo(„ADMIN”); /* change to desired user */
setMailRecipientsCC(“DEPUTY”); /* maybe another user */
setMailTemplate(„”);
var targetSystem := parameters.targetSystem;
var description := parameters.description;
var failedAttemptCount := parameters.failedAttemptCount;
formatSubject(„system”, system);
formatSubject(„targetSystem”, targetSystem);
formatDescription(„system”, system);
formatDescription(„targetSystem”, targetSystem);
formatDescription(„failedAttemptCount”, failedAttemptCount);
formatDescription(„description”, description);
Zakładka Zdarzenia
- Zaprogramowane wydarzenie — com.cisag.sys.sis.log.RefreshTargetSystemNotPossible
- Warunek przejścia — parameters.failedAttemptCount>1
Zakładka Teksty
Cześć,
Aktualizacja systemu {targetSystem} przez system {system} nie mogła zostać przeprowadzona. Do tej pory było {failedAttemptCount} nieudanych prób.
{description}
Działanie Pomyślnie
Zakładka Działanie
- Oznaczenie — System docelowy {targetSystem} został pomyślnie zaktualizowany przez system {system}.
Kategoria: email - Kategoria — E-mail
- Opracowujący użytkownik — Wyrażenie
- Opracowanie — Pojedyncze
- Typ działania — Wiadomość e-mail
- Wyślij e-mail — Zawsze
Zakładka Polecenia
setMailRecipientsTo(„ADMIN”); /* change to desired user */
setMailRecipientsCC(“DEPUTY”); /* maybe another user */
setMailTemplate(„”);
var targetSystem := parameters.targetSystem;
/* Format activity subject */
formatSubject(„system”, system);
formatSubject(„targetSystem”, targetSystem);
formatDescription(„system”, system);
formatDescription(„targetSystem”, targetSystem);
var notProcessed :=cast(HashMap, parameters.notProcessedOrders);
var HTML := „<HTML><HEAD> <TITLE>Resultate</TITLE></HEAD><BODY>”;
var tableHTML := „<TABLE BORDER=3>”;
var orders :=cast(HashMap[], notProcessed.orders);
var i:=0;
var added :=false;
while (i<size(orders)) {
var currentOrder := orders[i];
i:=i+1;
var currentType := cast(String, currentOrder.type);
var currentNumber := cast(String, currentOrder.number);
var since := dateString( cast(Timestamp, currentOrder.since));
if(added = false){
added := true;
tableHTML :=tableHTML +”<tr>+ <th> Type </th> <th> Nummer
</th> <th> Versucht seit </th> <th> Failed </th> <th> Kommentar
</th> </tr>”;
}
tableHTML :=tableHTML +”<tr> <td>”+currentType +”</td>
<td>”+currentNumber + „</td> <td>”+since+”</td> „;
var reasons:=cast(HashMap[], currentOrder.reason);
var j:=0;
while(j<size(reasons)){
var currentReason := reasons[j];
var failed := cast(String, currentReason.failed);
var failedComment := cast(String, currentReason.comment);
j:=j+1;
if (j=1){
tableHTML :=tableHTML +”<td>”+ failed +” </td><td> „+
failedComment + „</td> </tr>”;
}else{
tableHTML :=tableHTML +”<tr> <td></td> <td></td>
<td></td> <td>”+ failed +” </td><td> „+ failedComment + „</td>
</tr>”;
}
}
}
tableHTML := tableHTML + „</TABLE>”;
if (added){
HTML :=HTML+tableHTML;
}
HTML := HTML + „</BODY></HTML>”;
formatDescriptionHTML(„table”,HTML);
Zakładka Zdarzenia
- Zaprogramowane wydarzenie — com.cisag.sys.sis.log.RefreshTargetSystemSuccess
- Warunek przejścia — size(cast(HashMap[], cast(HashMap, parameters.notProcessedOrders).orders))>0
Zakładka Teksty
Cześć,
system {system} pomyślnie zaktualizował system docelowy {targetSystem}.
Następujące zlecenia nie zostały przetworzone:
{table}
Konfiguracja
Dla aplikacji Aktualizacja systemu docelowego nie są wymagane dodatkowe ustawienia w aplikacji Konfiguracja.
Jednostki biznesowe
Dla aplikacji Aktualizacja systemu docelowego istotna jest poniższa encja biznesowa, której można użyć np. do:
- nadawania uprawnień,
- konfigurowania definicji działań lub
- importu/eksportu danych.
Jednostka biznesowa: com.cisag.sys.sis.obj.CodeRefreshDefinition
Jednostka biznesowa należy do następującej grupy encji biznesowych: SIS Objekte.
Uprawnienia
Uprawnienia mogą być nadawane zarówno za pomocą ról uprawnień, jak i przez przypisanie organizacji. Koncepcję uprawnień można znaleźć w artykule Uprawnienia.
Specjalne prawa dostępu
Dla aplikacji Aktualizacja systemu docelowego nie ma żadnych specjalnych praw dostępu.
Przypisania organizacyjne
Dla aplikacji Aktualizacja systemu docelowego nie jest wymagane przypisanie organizacyjne.
Funkcje specjalne
Dla aplikacji Aktualizacja systemu docelowego nie ma żadnych funkcji specjalnych.
Uprawnienia dla partnerów biznesowych
Aplikacja Aktualizacja systemu docelowego nie jest udostępniana partnerom biznesowym.



