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
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”.
Wczytaj z pliku – pozwala na wczytanie konfiguracji systemu z wcześniej wyeksportowanego pliku w formacie JSON.
Eksportuj do pliku – pozwala wyeksportować załadowaną konfigurację systemu do pliku w formacie JSON.
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
...
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
...
- Zakładka 'Klasy powiązane' w klasach dokumentów jest pomijana podczas przenoszenia konfiguracji.
- Uprawnienia do klasy dokumentów - zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu, ale dodatkowo uwzględnione są mają uwzględnione uprawnienia warunkowe.
6) Archiwum – Zestawy dokumentów
- Uprawnienia do zestawu dokumentów - zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu.
7) Obieg dokumentów - Procesy
...
- 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ł.
87) 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}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
98) Obieg dokumentów - Procesy - Szablony dokumentów
- Ścieżki szablonów dokumentów posiadają przed nazwą parametr '{plusworkflow.home}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
109) Obieg dokumentów - Procesy - Uprawnienia
- Zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu.
11) 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.
1210) 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.
13) Uprawnienia
...
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:
...
- Jeżeli importowana grupa znajduje się już w systemie, to jej opis nie zostanie nadpisane nadpisany opisem z pliku konfiguracyjnego.
...
- 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.
- Uprawnienia do klasy dokumentów - zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu, ale dodatkowo uwzględnione są uprawnienia warunkowe.
9) Archiwum - Zestaw dokumentów
...
- 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.
- Uprawnienia do zestawu dokumentów - zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu.
10) Obieg dokumentów - Procesy - Ustawienia
...
- 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 - Procesy - Uprawnienia
Uwagi:
- Zasada działania taka sama jak przy imporcie ogólnych uprawnień systemu.
16) 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.
1716) Uprawnienia systemowe (użytkowników i grup), klas dokumentów, zestawów dokumentów, procesów
Uwagi:
- Uprawnienia użytkownika/grupy, która nie została zaznaczona w drzewku zostaną pominięte podczas importu.
- Istniejące uprawnienia w systemie zostaną zaktualizowane.
- Uprawnienia, które istnieją w systemie, ale nie ma ich w pliku konfiguracji pozostaną bez zmian.
1817) 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.
Przeniesie konfiguracji wtyczek
Od wersji systemu 4.0.12 dodano przenoszenie konfiguracji wtyczek. Wtyczki przystosowane do przenoszenia konfiguracji:
Nazwa wtyczki | Dostępna od wersji | Uwagi |
---|---|---|
Dashboard | 4.0.5 |
|
Favourites | 4.0.5 |
|
Gadżety PlusWorkflow | 4.0.2 |
|
Database Explorer | 4.0.2 |
Błąd podczas importu
Jeżeli import z jakiegoś powodu nie powiedzie się, to dane z bazy zostaną automatycznie wycofane.
Warning | ||
---|---|---|
| ||
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. |
Usunięcie zaimportowanych danych
W celu ręcznego usunięcia wszystkich zaimportowanych danych do nowego systemu można wykonać zapytania:
Warning | ||
---|---|---|
| ||
Jeżeli w systemie przed importem były już dane, to zostaną usunięte. Skrypty zawierają również czyszczenie konfiguracji wtyczek. |
PostgreSql
Code Block | ||
---|---|---|
| ||
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
Code Block | ||
---|---|---|
| ||
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;
|