Skip to end of metadata
Go to start of metadata

Wstęp

Funkcjonalność znajduje się w zakładce Administracja -> Konfiguracja systemu -> Przeniesienie konfiguracji i umożliwia wyeksportowanie wybranych elementów konfiguracji systemu do pliku JSON, a następnie zaimportowanie konkretnych elementów konfiguracji na innym nowym systemie.

Rysunek 1.1 przedstawia widok zakładki „Przeniesienie konfiguracji”.

Opis przycisków

  1. Wczytaj z systemu powoduje wczytanie drzewka z konfiguracją systemu, który aktualnie mamy uruchomiony. Ładowanie z systemu wykonuje się automatycznie w momencie wejścia w zakładkę „Przeniesienie konfiguracji”.

  2. Wczytaj z pliku – pozwala na wczytanie konfiguracji systemu z wcześniej wyeksportowanego pliku w formacie JSON.

  3. Eksportuj do pliku – pozwala wyeksportować załadowaną konfigurację systemu do pliku w formacie JSON.

  4. Importuj do systemu – pozwala na zaimportowanie konfiguracji wczytanej z pliku, do systemu, który mamy aktualnie uruchomiony. Przycisk ten pojawia się tylko po wczytaniu konfiguracji z pliku.

 

Wybór obiektów do importu/eksportu

Rysunek 1.2 Przykładowy wybór obiektów do eksportu/importu

Za pomocą przycisków typu checkbox możemy wybrać obiekty, które chcemy wyeksportować lub zaimportować. Zaznaczając checkbox przy ikonce folderu automatycznie zaznaczymy/odznaczymy wszystkie obiekty znajdujące się na liście.

Ikonka niepełnego zaznaczenia informuje, że w danej gałęzi nie wszystkie obiekty są zaznaczone.

Dodatkowo procesy i role, których nie ma w systemie przed importem konfiguracji, zostaną w drzewku automatycznie odznaczone, a ich zaznaczenie nie będzie możliwe. Po załadowaniu procesu do systemu i ponownym wczytaniu konfiguracji z pliku procesy te zostaną odblokowane.

 

Import danych na czysty system 

Uwagi:

1) Użytkownicy

  • Użytkownik 'admin' znajduje się w każdym systemie więc w tej wersji przenoszenia konfiguracji jego zmiany należy wprowadzić ręcznie.
  • Hasła użytkowników niedomenowych zostają wyczyszczone podczas wczytywania konfiguracji z systemu. Podczas importu struktury do systemu pojawi się pole, w którym należy wpisać domyślne hasło dla importowanych użytkowników. Hasła użytkowników domenowych nadal pozostaną puste.
  • Ustawienia użytkowników - są to ustawienia z tabeli pm_userdata, czyli ustawienia wyglądu w profilu użytkownika.
  • Widoki dokumentów - są to widoki dokumentów, które stworzył użytkownik, a w polu proces mają ustawioną wartość "Każdy". Widoki przypisane do konkretnych procesów będą znajdowały się w danych tego procesu.
  • Uprawnienia - są to uprawnienia systemowe użytkownika z zakładki Administracja -> Uprawnienia.

2) Grupy 

  • Grupa 'Administrators' znajduje się w każdym systemie więc w tej wersji przenoszenia konfiguracji jej zmiany należy wprowadzić ręcznie.
  • Uprawnienia - są to uprawnienia systemowe grupy z zakładki Administracja -> Uprawnienia.

3) Struktura organizacyjna – Stanowiska 

  • Importowane role w stanowiskach muszą już istnieć w nowym systemie. Nieistniejące będą wyświetlone na drzewku jako niezaznaczone i nie będzie można ich zaznaczyć.

4) Archiwum – Urządzenia 

  • W pliku z konfiguracją, ścieżki urządzeń posiadają przed nazwą parametr '{plusworkflow.home}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
  • Katalog devices utworzy się na dysku automatycznie.

5) Archiwum – Klasy dokumentów  

  • Zakładka 'Klasy powiązane' w klasach dokumentów jest pomijana podczas przenoszenia konfiguracji. 
  • Uprawnienia mają uwzględnione uprawnienia warunkowe (jeżeli uprawnienia są przypisane do użytkownika/grupy których nie ma w strukturze, to są usuwane)

6) Obieg dokumentów - Procesy

  • Aby zaimportować konfigurację procesu musi on już istnieć w nowym systemie. Przed wczytaniem konfiguracji z pliku należy dodać w systemie te procesy, które będziemy importować. Nieistniejące procesy będą wyświetlane na drzewku jako niezaznaczone i nie będzie można ich wybrać do importu.
  • W każdym procesie zostaną zaimportowane tylko te elementy, które zostały wybrane w drzewku konfiguracji.
  • Niezaznaczone elementy zostaną w systemie bez zmian.
  • Klasy dokumentów dostępne w poszczególnych procesach importowane/eksportowane są wraz z importem/eksportem ustawień procesu. Jeżeli nie zaimportujemy/eksportujemy ustawień procesu, to standardowo w procesie dostępne będą wszystkie klasy dokumentów.
  • Jeżeli klasa dokumentów nie została zaznaczona w drzewku, to zostanie pominięta podczas importu klas dokumentów powiązanych z procesem.
  • Aby zaimportować tylko wybrany element procesu (powiadomienia, zastępstwa itd) wystarczy zaznaczyć proces i odznaczyć wszystkie niechciane elementy.
  • Widoki dokumentów - znajdują się tutaj widoki dokumentów przypisane do tego konkretnego procesu. Jeżeli widok dokumentów w polu proces ma ustawioną opcję "Każdy" to będzie znajdował się w widokach dokumentów użytkownika, który go utworzył.

7) Obieg dokumentów - Procesy - Powiadomienia

  • Jeżeli odbiorca powiadomienia (użytkownik/grupa/stanowisko) nie został zaznaczony w drzewku, to zostanie pominięty podczas importu.
  • Ścieżki szablonów powiadomienia posiadają przed nazwą parametr '{plusworkflow.home}/processNotificationsTemplates/id_procesu/' dzięki czemu katalog zostanie stworzony w katalogu domowym PlusWorkflow.

8) Obieg dokumentów - Procesy - Szablony dokumentów

  • Jeżeli ścieżki szablonów dokumentów wskazywały na pliki w katalogu domowym PlusWorkflow, to w ścieżce w konfiguracji posiadają parametr '{plusworkflow.home}'. Dzięki temu ścieżka do szablonu będzie wskazywała na plik w katalogu domowym nowego systemu w czasie importu.

9) Obieg dokumentów - Zastępstwa

  • Zaimportowane zostaną tylko te zastępstwa, dla których powiązany proces i użytkownicy (również admin) są zaznaczeni na drzewku konfiguracji.
  • Zastępstwa, które mają przypisane role nieistniejące w systemie zostaną pominięte.

10) Widoki

  • Prywatne widoki użytkownika, którego nie importujemy zostaną pominięte. Jego publiczne widoki zostaną przypisane do admina. Nazwa widoku będzie miała dopisanego poprzedniego właściciela po myślniku (nazwa_widoku-poprzedni_username)
  • W wyróżnieniach widoku, jeżeli ścieżka do obrazu jest bezwzględna, to zostanie zmieniona na '{plusworkflow.home}/distinguish/plik' dzięki czemu katalog z obrazami wyróżnień zostanie utworzony w katalogu domowym PlusWorkflow/distinguish.
    Zmiana ta i możliwość edycji ścieżki pojawi się w drzewku tylko przy tych widokach, które posiadają ścieżkę do obrazu i ta ścieżka jest bezwzględna.

 

Import danych na istniejącym systemie

Główne elementy konfiguracji można doimportować do działającego już systemu. Jeżeli główny element znajduje się już w systemie to jego dane nie zostaną nadpisane. Lista elementów, które możemy doimportować i uwagi do nich:

1) Domena

 Uwagi:

  • Brak

2) Grupa

 Uwagi:

  • Jeżeli importowana grupa znajduje się już w systemie, to jej opis nie zostanie nadpisany opisem z pliku konfiguracyjnego.

3) Użytkownik

 Uwagi:

  • Jeżeli wybrany użytkownik znajduje się już w systemie to zostanie pominięty. Jego dane szczegółowe, przypisane grupy, stanowiska, widok i ustawienia nie zostaną nadpisane. Aby zaktualizować jego dane należy usunąć go z systemu przed importem (nadpisywanie danych zostanie dodane w kolejnej wersji narzędzia).
  • Wybrane grupy przypisane do użytkownika również muszą być zaznaczone w drzewku konfiguracji Konfiguracja systemu -> Grupy, ponieważ wymaga tego walidator. Jeżeli grupa już istnieje w systemie, to jej dane nie zostaną nadpisane.
  • Jeżeli stanowisko importowanego użytkownika jest już przypisane do innego użytkownika w istniejącej bazie, to nie zostanie przepisane na nowego użytkownika.

4) Struktura organizacyjna - Stanowisko

 Uwagi:

  • Jeżeli importujemy stanowisko przypisane do użytkownika, który już istnieje w bazie, to sama definicja stanowiska zostanie zaimportowana, ale stanowisko nie zostanie podpięte pod tego  (istniejącego) użytkownika. Zostanie to obsłużone w kolejnej wersji narzędzia.
  • Jeżeli stanowisko nadrzędne zostało zaznaczone, to również to stanowisko musi być zaznaczone na liście stanowisk do importu Konfiguracja systemu → Struktura organizacyjna -> Stanowiska. Jeżeli stanowisko już istnieje w systemie, to jego dane (włączając stanowisko nadrzędne i jednostkę organizacyjną) nie zostaną nadpisane.
  • Jeżeli jednostka organizacyjna została zaznaczona, to również ta jednostka musi być zaznaczona na liście jednostek organizacyjnych do importu Konfiguracja systemu → Struktura organizacyjna -> Jednostki organizacyjne. Jeżeli jednostka już istnieje w systemie, to jej dane (włączając jednostkę nadrzędną i stanowisko kierownicze) nie zostaną nadpisane.

5) Struktura organizacyjna - Jednostka organizacyjna

 Uwagi:

  • Jeżeli jednostka nadrzędna została zaznaczona, to również ta jednostka musi być zaznaczona na liście jednostek organizacyjnych do importu Konfiguracja systemu → Struktura organizacyjna -> Jednostki organizacyjne. Jeżeli jednostka już istnieje w systemie, to jej dane (włączając jednostkę nadrzędną i stanowisko kierownicze) nie zostaną nadpisane.
  • Jeżeli stanowisko kierownicze zostało zaznaczone, to również to stanowisko musi być zaznaczone na liście stanowisk do importu Konfiguracja systemu → Struktura organizacyjna -> Stanowiska. Jeżeli stanowisko już istnieje w systemie, to jego dane (włączając stanowisko nadrzędne i jednostkę organizacyjną) nie zostaną nadpisane.

6) Archiwum - Urządzenie

 Uwagi:

  • W pliku z konfiguracją, ścieżki urządzeń posiadają przed nazwą parametr '{plusworkflow.home}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
  • Katalog devices utworzy się na dysku automatycznie.

7) Archiwum - Katalog

 Uwagi:

  • Katalogi utworzą się na dysku automatycznie.
  • Urządzenie przypisane do katalogu musi być zaznaczone na drzewku konfiguracji. Jeżeli urządzenie istnieje już w systemie, to jego dane nie zostaną nadpisane.

8) Archiwum - Klasa dokumentów

 Uwagi:

  • Katalog przypisany do klasy dokumentów i urządzenie przypisane do katalogu muszą być zaznaczone na drzewku konfiguracji. Jeżeli katalog lub urządzenie istnieje już w systemie, to ich dane nie zostaną nadpisane.

9)  Archiwum - Zestaw dokumentów

 Uwagi:

  • Klasa dokumentów przypisana do zestawu dokumentów, katalog przypisany do klasy dokumentów i urządzenie przypisane do katalogu muszą być zaznaczone na drzewku konfiguracji. Jeżeli klasa dokumentów, katalog lub urządzenie istnieje już w systemie, to ich dane nie zostaną nadpisane.

10) Obieg dokumentów - Procesy - Ustawienia

 Uwagi:

  • Istniejące ustawienia w systemie zostaną zaktualizowane.
  • Ustawienia, które istnieją w systemie, ale nie ma ich w pliku konfiguracji pozostaną bez zmian.

11) Obieg dokumentów - Procesy - Powiadomienia

 Uwagi:

  • Jeżeli powiadomienie o danej nazwie istnieje już w procesie, to nie zostanie zaktualizowane (jego odbiorcy i zadania również nie zostaną zaktualizowane).
  • Jeżeli odbiorca powiadomienia (użytkownik/grupa/stanowisko) nie został zaznaczony w drzewku, to zostanie pominięty podczas importu.
  • Ścieżki szablonów powiadomienia posiadają przed nazwą parametr '{plusworkflow.home}/processNotificationsTemplates/id_procesu/' dzięki czemu katalog zostanie stworzony w katalogu domowym PlusWorkflow.

12) Obieg dokumentów - Procesy - Szablony dokumentów

 Uwagi:

  • Jeżeli szablon o danej nazwie istnieje już w procesie, to nie zostanie zaktualizowany.
  • Jeżeli ścieżki szablonów dokumentów wskazywały na pliki w katalogu domowym PlusWorkflow, to w ścieżce w konfiguracji posiadają parametr '{plusworkflow.home}'. Dzięki temu ścieżka do szablonu będzie wskazywała na plik w katalogu domowym nowego systemu w czasie importu.

13) Obieg dokumentów - Procesy - Przypisanie zmiennych

 Uwagi:

  • Jeżeli przypisanie o danej zmiennej i typie istnieje już w procesie, to nie zostanie zaktualizowane.

14) Obieg dokumentów - Procesy - Widok dokumentów

 Uwagi:

  • Jeżeli użytkownik lub klasa dokumentów (o ile została wybrana konkretna klasa dokumentów) przypisana do widoku nie została zaznaczona w drzewku, to widok dokumentów zostanie pominięty podczas importu.
  • Jeżeli widok dokumentów istnieje już w procesie, to nie zostanie zaktualizowany.

15) Obieg dokumentów - Zastępstwa

 Uwagi:

  • Zaimportowane zostaną tylko te zastępstwa, dla których powiązany proces i użytkownicy (również admin) są zaznaczeni na drzewku konfiguracji. Jeżeli użytkownicy istnieją już w systemie, to ich dane nie zostaną nadpisane.
  • Zastępstwa, które mają przypisane role nieistniejące w systemie zostaną pominięte. 

16) Uprawnienia systemowe (użytkowników i grup), klas dokumentów, zestawów dokumentów, procesów

 Uwagi:

  • Uprawnienia, które istnieją w systemie, ale nie ma ich w pliku konfiguracji pozostaną bez zmian.

17) Widoki

 Uwagi:

  • Widoki można doimportować do istniejącego już użytkownika w bazie bez konieczności zaznaczania go w drzewku. Uprawnienia do widoku również zostaną doimportowane do istniejących użytkowników/grup w bazie bez konieczności zaznaczania ich. 
  • Prywatne – jeżeli widok użytkownika istnieje już w systemie, to zostanie pominięty
  • Publiczne - jeżeli widok użytkownika istnieje już w systemie, to zostanie pominięty. Publiczne widoki użytkownika, którego nie importujemy i użytkownik nie istniał prędzej w bazie zostaną przypisane do admina. Nazwa widoku będzie miałą dopisanego poprzedniego właściciela po myślniku (nazwa_widoku-poprzedni_username)
  • W wyróżnieniach widoku, jeżeli ścieżka do obrazu jest bezwzględna, to zostanie zmieniona na '{plusworkflow.home}/distinguish/plik' dzięki czemu katalog z obrazami wyróżnień zostanie utworzony w katalogu domowym PlusWorkflow/distinguish. Zmiana ta i możliwość edycji ścieżki pojawi się w drzewku tylko przy tych widokach, które posiadają ścieżkę do obrazu i ta ścieżka jest bezwzględna.

18) Wtyczki

  • PCM 
    - Przy imporcie konfiguracji PCM sprawdzamy, czy istniejąca konfiguracja w systemie, do którego importujemy konfigurację ma już taki plik. Jeżeli ma taki plik, to sprawdzamy, czy ten plik jest taki jak domyślny plik konfiguracyjny (o ile wtyczka posiada domyślny plik konfiguracji dla tej konfiguracji). Jeżeli plik w systemie jest identyczny jak plik domyślny, to podmieniamy go na konfigurację z pliku. Jeżeli plik w systemie jest inny niż domyślny, to oznacza, że jest skonfigurowany pod ten system i nie podmieniamy go konfiguracją z pliku.

Przeniesie konfiguracji wtyczek

Od wersji systemu 4.0.12 dodano przenoszenie konfiguracji wtyczek. Wtyczki przystosowane do przenoszenia konfiguracji:

Nazwa wtyczkiDostępna od wersjiUwagi
Dashboard4.0.5
  • Publiczne pulpity użytkowników, których nie ma w bazie i nie importujemy, zostaną przypisane do admina z nazwą zawierającą username poprzedniego właściciela po myślniku (nazwa_pulpitu-poprzedni_username).
  • Zaimportowane zostaną tylko te gadżety, które są zainstalowane w systemie
  • Wymaga aktualizacji wtyczki Favourites (v4.0.5) i Gadgets (v4.0.2)
Favourites4.0.5
  • Publiczne zestawy ulubionych użytkowników, których nie ma w bazie i nie importujemy, zostaną przypisane do admina z nazwą zawierającą username poprzedniego właściciela po myślniku (nazwa_pulpitu-poprzedni_username).
Gadżety PlusWorkflow
4.0.2
  • Wymagana instalacji wtyczki, aby gadżety "Podgląd widoku", "Zewnętrzna strona", "Widżet powitalny" i "Raporty Jasper" przeniosły się prawidłowo.
Database Explorer4.0.2 

 

Błąd podczas importu

Jeżeli import z jakiegoś powodu nie powiedzie się, to dane z bazy zostaną automatycznie wycofane.

Uwaga

Wyjątkiem jest baza Oracle. Tutaj nie wszystkie dane zostaną wycofane w przypadku niepowodzenia (spróbujemy to naprawić w kolejnej wersji). Niżej umieszczone zostaną zapytania do wyczyszczenia bazy.

Szczegółowe logi przenoszenia konfiguracji

Aby włączyć bardziej szczegółowe logi przenoszenia konfiguracji należy w zakładce Administracja -> Konfiguracja systemu -> Logi odznaczyć "Zarejestrowane loggery" i wyszukać "com.suncode.pwfl.configuration". Dla loggera o nazwie com.suncode.pwfl.configuration ustawić poziom na TRACE. Szczegółowe logi zaczynają się od "[CONFIG TRANSFER]".

 

Usunięcie zaimportowanych danych

W celu ręcznego usunięcia wszystkich zaimportowanych danych do nowego systemu można wykonać zapytania:

Uwaga

Jeżeli w systemie przed importem były już dane, to zostaną usunięte.

Skrypty zawierają również czyszczenie konfiguracji wtyczek.

PostgreSql

DELETE FROM usergrouptable ut WHERE ut.userid <> (SELECT objectid FROM usertable WHERE userid = 'admin') or ut.groupID <> (SELECT objectid FROM grouptable WHERE groupid = 'Administrators');
DELETE FROM grouptable gr WHERE gr.groupid <> 'Administrators';
DELETE FROM pm_activityredirection_users;
DELETE FROM pm_activityredirection_groups;
DELETE FROM pm_activityredirection;
DELETE FROM pm_userdata;
DELETE FROM pm_substitutions;
DELETE FROM pm_domainservers;
DELETE FROM pm_position_role;
UPDATE pm_positions SET organizationalunitid = NULL;
UPDATE pm_organizationalunits SET directorpositionid = NULL;
DELETE FROM pm_organizationalunits;
DELETE FROM pm_positions;
DELETE FROM userTable us WHERE us.objectid <> (SELECT objectid FROM usertable WHERE userid = 'admin');
DELETE FROM pm_actions;
DELETE FROM pm_linkconnection;
DELETE FROM pm_indexpattern;
DELETE FROM pm_indecies;
DELETE FROM pm_processdef_docclass;
DELETE FROM pm_docclasses;
DELETE FROM pm_docclassconditionprotection;
DELETE FROM pm_docclassprotection;
DELETE FROM pm_linkindecies;
DELETE FROM pm_links;
DELETE FROM pm_directories;
DELETE FROM pm_devices;
DELETE FROM pm_substitutions;
DELETE FROM pm_document_views;
DELETE FROM pm_processData;
DELETE FROM pm_documenttemplate;
DELETE FROM pm_notificationdef;
DELETE FROM pm_notificationprocact;
DELETE FROM pm_notificationrecipient;
DELETE FROM pm_change_user_repl;
DELETE FROM pm_advancesearchvariables;
DELETE FROM pm_usersearchviewsprotection;
DELETE FROM pm_usersearchviews;
DELETE FROM pm_userdata WHERE userid <> (SELECT objectid FROM usertable WHERE userid = 'admin');
DELETE FROM pm_rights r WHERE r.resource_id <> 'admin';
DELETE FROM pm_variable_distinguish;
 
//Wtyczki
DELETE FROM pm_dashboard;
DELETE FROM pm_favourites_set;

Oracle i MSSQL

DELETE FROM usergrouptable WHERE userid <> (SELECT oid FROM usertable WHERE userid = 'admin') or groupID <> (SELECT oid FROM grouptable WHERE groupid = 'Administrators');
DELETE FROM grouptable WHERE groupid <> 'Administrators';
DELETE FROM pm_activityredirection_users;
DELETE FROM pm_activityredirection_groups;
DELETE FROM pm_activityredirection;
DELETE FROM pm_userdata;
DELETE FROM pm_substitutions;
DELETE FROM pm_domainservers;
DELETE FROM pm_position_role;
UPDATE pm_positions SET organizationalunitid = NULL;
UPDATE pm_organizationalunits SET directorpositionid = NULL;
DELETE FROM pm_organizationalunits;
DELETE FROM pm_positions;
DELETE FROM userTable WHERE oid <> (SELECT oid FROM usertable WHERE userid = 'admin');
DELETE FROM pm_actions;
delete from pm_file_versions;
delete from pm_files;
DELETE FROM pm_linkconnection;
DELETE FROM pm_indexpattern;
DELETE FROM pm_indecies;
DELETE FROM pm_processdef_docclass;
DELETE FROM pm_docclassconditionprotection; 
DELETE FROM pm_docclasses;
DELETE FROM pm_linkindecies;
DELETE FROM pm_links;
DELETE FROM pm_directories;
DELETE FROM pm_devices;
DELETE FROM pm_substitutions;
DELETE FROM pm_document_views;
DELETE FROM pm_processData;
DELETE FROM pm_documenttemplate;
DELETE FROM pm_notificationdef;
DELETE FROM pm_notificationprocact;
DELETE FROM pm_notificationrecipient;
DELETE FROM pm_change_user_repl;
DELETE FROM pm_advancesearchvariables;
DELETE FROM pm_usersearchviewsprotection;
DELETE FROM pm_usersearchviews;
DELETE FROM pm_userdata WHERE userid <> (SELECT oid FROM usertable WHERE userid = 'admin');
DELETE FROM pm_rights WHERE resource_id <> 'admin'

//Wtyczki
DELETE FROM pm_dashboard;
DELETE FROM pm_favourites_set;

 




  • No labels