Informacje o wersji 1.10.0 z dn. 18-01-2023
Ważne informacje
Obsługa wielu tenantów (multitenancy)
Trwają prace programistyczne nad wprowadzeniem do nAxiom obsługi wielu tenantów - niezależnych organizacji, które będą mogły korzystać ze wspólnej witryny nAxiom i osobnych instancji bazy danych. Każdy tenant będzie miał indywidualny przedrostek w adresie witryny. Do zarządzania tenantami zostanie powołany serwis TenantAdmin.
Wszystkie zmiany związane z tą funkcjonalnością będą kompatybilne wstecz.
UWAGA: W obecnej wersji widoczne są pewne elementy i ustawienia przeznaczone do obsługi tworzonej funkcji, np. nowy moduł TenantsAPI w instalatorze czy nowe sekcje ustawień w plikach appsettings.json. Jednak obecnie nie mają one zastosowania praktycznego i zdecydowanie nie zaleca się dokonywania jakichkolwiek zmian w tych ustawieniach.
Migracja funkcji tabelarycznych
Aby zapewnić poprawną migrację funkcji tabelarycznej, należy uwzględnić w migracji tabelę źródłową tej funkcji.
Nowe i zmodernizowane funkcje
Angielska wersja językowa AdminSPA i WorkflowSPA
Opracowano angielskojęzyczną wersję interfejsu użytkownika komponentów AdminSPA i WorkflowSPA. Jest ona wyświetlana w przypadku, kiedy w profilu użytkownika z rolą systemową Konsultant wybrano język angielski.
Utrwalanie wartości danych zewnętrznych
Dla kontrolek formularza: lista wyboru SQL, asynchroniczna lista wyboru SQL, lista wyboru WebService oraz listy wyboru typu słownik i słownik hierarchiczny dodano nową właściwość Pole wartości ustalonej
. Pozwala ona wybrać (lub utworzyć) pole tabeli źródłowej, w którym będzie przechowywana wartość wyświetlana na liście. Dzięki temu, w danej instancji dokumentu kontrolka będzie zawsze wyświetlała wartość obowiązującą w momencie ostatniego zapisu tej instancji dokumentu, niezależnie od ewentualnej późniejszej zmiany (w tym usunięcia) tej wartości w źródle danych kontrolki.
Pole wartości ustalonej ma charakter techniczny i nie jest dostępne w kontekście formularza, a także nie jest przeznaczone do użycia na formularzu.
Konfiguracja ruchu wewnętrznego w instalatorze
W instalatorze nAxiom dodano możliwość zdefiniowania komunikacji wewnętrznej między komponentami nAxiom. W tym celu, w instalatorze na ekranie Konfiguracja serwera IIS
dodano przyciski opcji Instalacja tylko z dostępem lokalnym
i Instalacja z dostępem z Internetu
. Pierwszy z nich, zaznaczony domyślnie, odpowiada sytuacji, kiedy witryna jest instalowana lokalnie. Po zaznaczeniu drugiego w kolejnym kroku jest wyświetlany dodatkowy ekran, na którym należy podać nazwę hosta/adres IP oraz port, a także wybrać protokół i certyfikat dla ruchu wewnętrznego między komponentami witryny. Określenie tych ustawień spowoduje dodanie na serwerze IIS dodatkowego powiązania witryny.
Nowa akcja Otwieranie listy
Dodano akcję Otwieranie listy, która służy do wyświetlenia listy o wybranym lub zwróconym przez zapytanie SQL identyfikatorze. Lista jest wyświetlana w trybie linku wewnętrznego.
Edytor SQL w warunku zależności sekcji
Dla sekcji typu lista zmieniono komponent do definiowania warunku zależności na edytor SQL. W edytorze obsługiwany jest mechanizm smart numbers. Po kliknięciu przycisku Podgląd zapytania SQL
wyświetlane jest okno dialogowe edytora, w którym można sprawdzić poprawność składni. Aby to było możliwe, w pierwszym wierszu okna wyświetlana jest w trybie tylko do odczytu część zapytania dla zależności w formie:
SELECT * FROM (SELECT * FROM List_View) WHERE
Zadaniem użytkownika jest dopisanie warunku w klauzuli WHERE.
Struktura logów systemowych
Ujednolicono strukturę logów systemowych zapisywanych w plikach log.db3 w tabeli Logs przez wszystkie serwisy witryny nAxiom.
Nowa właściwość przycisku
We właściwościach przycisku na formularzu dodano przełącznik Przycisk zawsze dostępny
. Po jego włączeniu zawsze będzie możliwe kliknięcie przycisku i wykonanie przypisanych do niego akcji, także w przypadku, gdy cały formularz będzie w trybie tylko do odczytu.
Celem tej zmiany jest umożliwienie zamknięcia formularza, który zostanie wyświetlony jako link wewnętrzny w trybie tylko do odczytu. Nie zaleca się stosowania tej funkcjonalności w innych scenariuszach.
Nowa kolumna w kreatorze modeli danych
Zmieniono sposób definiowania typu danych dla kolumn tabel w kreatorze modeli danych, dodając na karcie projektu tabeli kolumnę Zakres
. Obecnie osobno wybiera się typ danych, a osobno rozmiar/precyzję.
Poprawki i usunięte błędy
Zmiany w żądaniach do ReportsAPI
W żądaniach API do serwisu ReportsAPI wyłączono zwracanie listy aktywnych ramek stosu (stack trace).
Sprawdzanie uprawnień dla żądań API
W interfejsie API dodano sprawdzanie uprawnień użytkownika dla żądań:
POST /back/permissions-module/Permissions/GetUserPermissions?userId=ID
Obsługa nagłówka Permissions-Polisy
W celu zwiększenia bezpieczeństwa dodano obsługę nagłówka Permissions-Policy w żądaniach HTTP.
Walidacja nazw tabel
W Kreatorze modeli danych dodano walidację nazwy modelu danych względem listy słów zastrzeżonych SQL zdefiniowanej w ustawieniach systemowych. Walidacja obejmuje także nazwy funkcji tabelarycznych, ale odbywa się na etapie zapisu definicji (po kliknięciu przycisku Zapisz), a nie deklarowania nazwy, jak w przypadku tabel.
Zmiany appsetings.json dla MobileAPI
Usunięto nieużywane właściwości z pliku appsettings.json dla aplikacji mobilnej oraz dostosowano ustawienia do pracy w trybie multi-tenancy (zostanie wprowadzony w przyszłości).
Funkcje agregujące w stopce listy
Zmodyfikowano zasady obliczania funkcji agregujących, których można używać w stopkach widoku listy. Obecnie funkcje te zwracają wartość dla całego zestawu rekordów (z uwzględnieniem filtrowania i sortowania, bez uwzględniania grupowania i paginacji).
Podgląd załącznika w oknie typu pop-up
Usunięto błąd, który powodował, że podgląd załącznika dodanego do formularza wyświetlanego w trybie okna dialogowego był wyświetlany na formularzu głównym, z którego wywołano formularz podrzędny.
Po dodaniu załącznika do nowego rekordu w formularzu jego podgląd będzie widoczny dopiero po zapisaniu rekordu i odświeżeniu formularza.
Przycisk Zapisz
w oknie edycji akcji
Poprawiono wygląd przycisku Zapisz
w oknie dialogowym edycji akcji.
Brakujące przyciski na podglądzie raportu
Usunięto problemy dotyczące podglądu raportu, m.in. przywrócono wyświetlanie wszystkich ikon oraz działanie panelu parametrów.
Wyszukiwanie użytkowników w czacie
Zmodyfikowano funkcję wyszukiwania użytkownika w okienku czatu w aplikacji FrontSPA. Obecnie wpisywany tekst jest dopasowywany do loginu, imienia i nazwiska użytkownika. Ponadto w polu wyszukiwania dodano informację, że niezbędne jest wpisanie co najmniej 3 znaków, aby rozpocząć wyszukiwanie.
Przyciski przejść dla zarchiwizowanych dokumentów
Wprowadzono zmianę, która powoduje zablokowanie przycisków zmiany statusu na formularzu w przypadku, gdy wyświetlana instancja dokumentu biznesowego ma status Zarchiwizowany lub Usunięty.
Migracja szablonów Excel
W podsumowaniu migracji dodano informację o braku ścieżki do szablonów Excel w docelowej bazie danych.
Akcja Raportowanie
Usunięto przyczynę błędu w działaniu akcji generowania raportów w przypadku, kiedy w definicji akcji zaznaczono obie opcje Pobierz wygenerowany plik
i Zapisz wygenerowany plik do załączników
.
Komunikat o błędzie „Nie zaimplementowano metody wykonania akcji”
Usunięto problem, który powodował, że wywołanie akcji otwierania linku zewnętrznego i odświeżenia listy za pomocą przycisku umieszczonego w nagłówku sekcji typu lista na formularzu kończyło się niepowodzeniem z komunikatem o błędzie „Nie zaimplementowano metody wykonania akcji”.
Akcja Odśwież formularz
Usunięto problem, który powodował, że wykonanie akcji Odśwież formularz powodowało wyświetlenie przycisków procesu w kolejności niezgodnej z przypisanymi numerami.
Kopiowanie definicji listy
Usunięto problem, który powodował, że w niektórych przypadkach nie można było skopiować definicji listy w AdminSPA.
Przyciski edycji inline
Usunięto problem występujący podczas kopiowania definicji listy dla której zdefiniowano edycję inline. Problem powodował, że w skopiowanej liście nazwy przycisków do edycji inline były podmieniane na identyfikatory GUID.
Edycja uprawnień roli
Usunięto błąd, który powodował, że po migracji w środowisku docelowym podczas edycji uprawnień ról biznesowych zamiast nazw niektórych pozycji menu były wyświetlane identyfikatory GUID.
Przejście blok decyzyjny -> blok oczekiwania
Usunięto błąd, który powodował, że dodanie nowej akcji na przejściu między blokiem decyzyjnym i blokiem oczekiwania powodowało usunięcie akcji dodanej wcześniej.
Podgląd raportu we FrontSPA
Przywrócono możliwość określania parametrów wykresów Telerik w sekcji podglądu raportu na formularzu w aplikacji FrontSPA.
Lista wielowyboru jako kontrolna zależna
Poprawiono zachowanie kontrolki lista wielowyboru w przypadku, gdy jest ona kontrolką zależną filtrowaną przez nadrzędną listę wyboru oraz gdy wartość w tej kontrolce jest ustawiana wyborem wartości na liście rozwijanej.
Migracja uprawnień ról biznesowych
Poprawiono migrację uprawnień ról biznesowych do sekcji i pozycji menu użytkownika.
Migracja tabel pomocniczych
Poprawiono migrację tabel pomocniczych tworzonych bezpośrednio w bazie danych, bez użycia Kreatora modeli danych.
Migracja szablonu e-mail
Poprawiono migrację szablonów e-mail. Obecnie migrator obsługuje także szablony, do których dodano załącznik.
Migracja kolumn nazwach systemowych
Poprawiono migrację kolumn tabel pomocniczych o takich samych nazwach jak kolumny systemowe. (np. Type1, Type2 itp.).
Logowanie Windows
Poprawiono mechanizm czyszczenia danych w pamięci local storage w przeglądarce w celu zapewnienia poprawnego działania logowania Windows do witryny nAxiom,
Parametry w akcji otwierania formularza
Poprawiono błędy występujące w przypadku, gdy w akcji otwierania formularza przekazywano parametry typu decimal i float z użyciem tablicy OpenedForms.
Migracja sekcji i pozycji menu
Poprawiono błędy w migracji sekcji i pozycji menu.
Przełącznik eskalatorów
Poprawiono błąd, który powodował, że wyłączenie przełącznika Aktywuj eskalatory procesu
było ignorowane.
Opcje w oknie Edycja instancji uprawnienia
Poprawiono błąd, który powodował, że kliknięcie przycisku radiowego Wskazana osoba
lub Uprawnione role
w oknie dialogowym Edycja instancji uprawnienia
we FrontSPA nie powodowało jego zaznaczenia.
Responsywność formularza
Dodano obsługę zmiany rozmiaru okna przeglądarki, która powoduje przełączenie widoku elementów interfejsu graficznego w tryb mobilny. Do tej pory taka zmiana wyzwalała automatyczne odświeżenie formularza, co mogło powodować utratę niezapisanych danych.
Lista wielowyboru, tabela relacyjna
Poprawiono błąd, który powodował, że w określonych przypadkach wartości wybrane na liście wielowyboru nie zapisywały się w tabeli relacyjnej.
Zmienna Environment dla komponentu TaskService
Wprowadzono zmianę w Instalatorze, dzięki której na etapie instalacji do pliku appsettings.json komponentu TaskService dodawany jest parametr Environment.
Migracja aplikacji BaseApp
Usunięto problem dotyczący migratora, który powodował, że migracja aplikacji systemowej BaseApp skutkowała dublowaniem akcji systemowych w środowisku docelowym.
Jeśli aplikacja BaseApp nie zawiera obiektów utworzonych przez użytkownika, jej migracja nie jest konieczna. Ta aplikacja zawsze istnieje w środowisku docelowym migracji.
Środowisko wykonywania akcji
Poprawiono działanie mechanizmu uruchamiania akcji odpowiednio do ustawionego środowiska w sytuacji, kiedy w definicji akcji wszystkie przełączniki Środowisko
były wyłączone.
Porównanie konfiguracji w migratorze
Poprawiono działanie migratora w przypadku porównywania zaimportowanej konfiguracji z konfiguracją źródłową.