Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

Image RemovedImage Added

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

Image RemovedImage Added

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 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.

Warning
titleUwaga

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
titleUwaga

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

Skrypty zawierają również czyszczenie konfiguracji wtyczek.

PostgreSql

Code Block
languagesql
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
languagesql
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;