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
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.
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}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
8) 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.
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łą 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:
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}/devices' dzięki czemu katalog urządzenia zostanie stworzony w katalogu domowym PlusWorkflow/devices.
12) Obieg dokumentów - Procesy - Szablony dokumentów
Uwagi:
- Jeżeli szablon o danej nazwie istnieje już w procesie, to nie zostanie zaktualizowany.
- Ś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.
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.
Przeniesie konfiguracji wtyczek
Od wersji systemu ___ dodano przenoszenie konfiguracji wtyczek. Wtyczki przystosowane do przenoszenia konfiguracji:
Nazwa wtyczki | Dostępna od wersji | Uwagi |
---|
Dashboard | | 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). |
Favourites | | 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 | | Wymagana instalacji wtyczki, aby gadżety "Podgląd widoku" przeniosły się prawidłowo. |
Błąd podczas importu
Jeżeli import z jakiegoś powodu nie powiedzie się, to dane z bazy zostaną automatycznie wycofane.
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:
Jeżeli w systemie przed importem były już dane, to zostaną usunięte. |
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;
|
Wtyczki
Narzędzie (od wersji systemu 3.3.x) obsługuje przenoszenie konfiguracji dla wtyczek:
Wtyczka | Dostępne od wersji | Uwagi |
---|
Dasboard | X | - Zaimportowane zostaną tylko te gadżety, które są zainstalowane w systemie
|
Favourites | X | |