Informacje o wersji 1.15.6.0
z dn. 29-01-2026
W tej wersji
- Zakończenie wsparcia dla Crystal Reports (zapowiedź)
- Agregacja logów i telemetria
- Modernizacja widoku listy
- Obsługa rodzin czcionek we Front SPA
- Nowy endpoint Document/GetDataByGrid/
- Udoskonalenia w innych obszarach
- Usunięte podatności i rozwiązane problemy
Wymagane działania
Nie jest wymagane wykonanie żadnych dodatkowych czynności.
Kompatybilność aplikacji
Migracja aplikacji jest możliwa tylko między wersjami nAxiom kompatybilnymi na poziomie bazy danych.
Bieżąca wersja bazy danych: 20260120090221
W tej wersji nAxiom struktura bazy danych zmieniła się. Przed migracją aplikacji do tej wersji wymagane jest zaktualizowanie środowiska źródłowego.
Ważne informacje
1. Zapowiedź zakończenia wsparcia dla modułu Crystal Reports
Niniejszym zapowiadamy zakończenie wsparcia dla SAP Crystal Reports w platformie nAxiom od wersji 1.15.7. Obsługa silnika SAP Crystal Reports zostaje trwale wycofana w związku z koniecznością dostosowania platformy do aktualnych wymogów bezpieczeństwa oraz standardów technologicznych.
Co to oznacza w praktyce?
- Akcja generowania raportów Crystal Reports przestanie działać.
- Instalator platformy w środowisku Windows nie będzie instalował serwisu odpowiedzialnego za komunikację ze środowiskiem uruchomieniowym SAP Crystal Reports.
Dlaczego dokonujemy tej zmiany?
Decyzja ta jest podyktowana wymogami bezpieczeństwa oraz modernizacją technologiczną platformy:
- Zgodność ze standardem FIPS 140: W celu zapewnienia najwyższego poziomu bezpieczeństwa (wymaganego m.in. w sektorze publicznym i finansowym), platforma nAxiom musi działać w trybie zgodności z FIPS. Silnik Crystal Reports wykorzystuje starsze algorytmy kryptograficzne, które nie spełniają tych rygorystycznych norm, uniemożliwiając certyfikację całego systemu.
- Pełna migracja do .NET Core: Platforma nAxiom jest rozwijana w nowoczesnej technologii .NET Core. Biblioteki Crystal Reports, oparte na starszej architekturze .NET Framework, stanowią blokadę technologiczną uniemożliwiającą optymalizację wydajności i wdrożenie natywnych mechanizmów bezpieczeństwa.
- Ujednolicenie narzędzi (Web Report Designer): Pełne przejście na Telerik Reporting pozwala na wykorzystanie Web Report Designera dla wszystkich raportów w systemie, co nie było możliwe w przypadku technologii Crystal Reports.
Wymagane działania
Wersja 1.15.6 jest ostatnią, w której raporty Crystal Reports będą obsługiwane. Przed aktualizacją środowiska produkcyjnego do wersji 1.15.7, należy bezwzględnie:
- Przeprowadzić inwentaryzację: Zidentyfikować wszystkie raporty w systemie, które nadal korzystają z definicji Crystal Reports.
- Przepisać raporty: Przepisać zidentyfikowane raporty Crystal Reports na raporty Telerik Reporting. Z uwagi na różnice w architekturze obu rozwiązań, automatyczna konwersja nie jest możliwa.
- Przetestować raporty: Zweryfikować poprawność działania nowych definicji raportów w oparciu o silnik Telerik.
Harmonogram zmian
- Wersja 1.15.6: ostatnia wersja wspierająca Crystal Reports. Czas na inwentaryzację i migrację raportów.
- Wersja 1.15.7 (kolejna): całkowite usunięcie bibliotek Crystal Reports.
Nowe i zmodernizowane funkcje
1. Agregacja logów i telemetria
Dodano możliwość agregacji logów za pomocą ElasticSearch oraz generowania danych w standardzie OpenTelemetry (integracja z .NET Aspire). Aby skorzystać ze zmian, należy zainstalować oprogramowanie ElasticSearch oraz Aspire Dashboard (można uruchomić z obrazu docker).
Wybór repozytorium logów odbywa się w nowym kroku instalatora nAxiom. Dostępne są dwie opcje:
-
Centralna baza ElasticSearch: logi są zapisywane w bazie danych ES, a w Admin SPA na stronieLogi środowiska i bieżącego tenantawyświetlane są logi ze wszystkich serwisów backendu („dotnetowych”). -
Osobne pliki DB3: logi z każdego serwisu są zapisywane w osobnych plikach DB3, w Admin SPA są wyświetlane tylko logi serwisu api.
Poziom logowania można określić w instalatorze, a w razie potrzeby zmienić w aplikacji Tenants Admin (Global Settings > ‘Logging level’).
W instalatorze oraz w aplikacji Tenants Admin można także skonfigurować diagnostykę rozszerzoną, to jest emisję danych telemetrycznych do wskazanych punktów końcowych. Można zdefiniować osobny punkt końcowy dla każdej kategorii danych:
- dzienniki strukturalne (logi): logi ze strukturalnymi danymi JSON
- ślady: szczegółowe informacje o realizacji żądań przez rozproszone systemy
- metryki: dane dotyczące wydajności aplikacji, zużycia zasobów, liczników
Przykładowa konfiguracja:
- protokół gRPC, wspólny punkt końcowy: http://localhost:4317
- protokół http/protobuf, wspólny punkt końcowy: http://localhost:4318
Do przeglądania danych telemetrycznych można używać programu Aspire Dashboard. Po uruchomieniu, np:
docker run --rm -it -d --name aspire-dashboard /
-p 18888:18888 -p 4317:18889 /
-e DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS=true /
mcr.microsoft.com/dotnet/aspire-dashboard:latest
program jest dostępny w przeglądarce pod adresem http://localhost:18888. Aspire Dashboard jest przeznaczony do zaawansowanej diagnostyki w środowiskach deweloperskich i testowych. Nie zapewnia on persystencji danych ani nie wysyła żadnych powiadomień. Więcej informacji jest dostępnych na stronie:
https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone?tabs=powershell.
nAxiom będzie również wysyłał dane telemetryczne w przypadku, gdy podczas uruchamiania aplikacji wykryje odpowiednie zmienne środowiskowe:
- OTEL_EXPORTER_OTLP_ENDPOINT: wspólny punkt końcowy dla wszystkich typów danych
- OTEL_EXPORTER_OTLP_PROTOCOL: wspólny protokół dla wszystkich typów danych
lub
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
- OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
- OTEL_EXPORTER_OTLP_LOGS_ENDPOINT
- OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
- OTEL_EXPORTER_OTLP_METRICS_PROTOCOL
- OTEL_EXPORTER_OTLP_LOGS_PROTOCOL
Wartości indywidualnych zmiennych środowiskowych mają pierwszeństwo przed wartościami zmiennych ogólnych, a te z kolei przed ustawieniami w Tenants Admin.
2. Modernizacja widoku listy
Wprowadzono szereg zmian dotyczących widoku listy we Front SPA.
- Zmieniono nagłówek widoku listy. Obecnie są w nim dostępne pole wyszukiwania w kolumnach tekstowych (nowa funkcjonalność), przycisk filtrowania z polem nazwy wybranego filtru i przycisk odświeżania listy zmieniony w przycisk rozwijany z poleceniami dotyczącymi konfiguracji listy.
- Dodano opcję
Widoczność kolumn(menu przycisku odświeżania), która wyświetla listę aktywnych kolumn i umożliwia zarządzanie ich widocznością. Ustawienia widoczności można zapisać w ramach konfiguracji użytkownika. Opcja jest dostępna dla list, dla których w Kreatorze listy na karcie Ustawienia listy włączono przełącznik Widoczność listy. - W menu przycisku odświeżania dodano opcję Grupowanie kolumn, która umożliwia zarządzanie grupowaniem rekordów przy użyciu klawiatury.
- Dodano funkcję wyszukiwania w kolumnach tekstowych listy. Dla nowych list jest ona domyślnie włączona, dla list istniejących można ją włączyć na karcie
Wyglądwe właściwościach listy przełącznikiemWyświetlaj pole wyszukiwania. Funkcjonalność dotyczy wyłącznie kolumn typu tekstowego widocznych w widoku listy. Wspierane jest wyszukiwanie częściowe, tzn. szukana fraza (min. 2 znaki) jest wyszukiwana w dowolnych łańcuchach tekstu. Wyszukiwanie działa jak filtrowanie, to znaczy wyświetla tylko rekordy z wystąpieniami szukanego tekstu. Wystąpienia te są podświetlone na żółto. - Zmodyfikowano interfejs dostępu do filtrów zaawansowanych i predefiniowanych. Po wskazaniu kursorem pola filtrów wyświetlany jest przycisk rozwijające listę zdefiniowanych filtrów oraz polecenie
Ustawienia, które wyświetla panelFiltrowanie zaawansowane. Na tym panelu można zastosować do widoku listy zdefiniowany filtr, wyświetlić jego podgląd, wyświetlić go w trybie edycji oraz usunąć, a także utworzyć nowy filtr. - Zmodyfikowano interfejs dostępu do konfiguracji listy. Odpowiednie polecenie znajduje się na liście przycisku odświeżania. Wybór polecenia powoduje wyświetlenie panelu
Konfiguracje listy. Na tym panelu można przełączać aktywną konfigurację listy, resetować konfigurację do domyślnej oraz zapisywać bieżącą konfigurację jako konfigurację użytkownika. Zapisane konfiguracje użytkownika można usuwać lub ustawiać jako domyślne. - Zmodyfikowano działanie stopek w widoku listy. W Kreatorze listy na karcie
Edycja inlinewe właściwościach listy dodano przełącznikDynamiczne przeliczanie stopek listy. Po jego włączeniu wartość w stopce jest przeliczna na bieżąco podczas edycji inline.Wycofano wsparcie dla funkcji agregującychPierwsza pozycjaiOstatnia pozycja, w ramach bilansu otwarcia te funkcje zostaną zastąpiono odpowiednio przezMiniMax`. - Dostosowano możliwość wyboru funkcji agregujących do typu danych kolumny.
- W Kreatorze listy uporządkowano rozmieszczenie elementów sterujących na karcie
Ogólnewe właściwościach listy. - Zmieniono działanie sortowania w przypadku, gdy w definicji listy konsultant ustawił sortowanie po kolumnie nieaktywnej (konfiguracja systemowa). Obecnie użytkownik na Front SPA może nadpisać takie sortowanie, ustawiając sortowanie po dowolnej widocznej kolumnie.
- Dodano możliwość utworzenia na liście nowego rekordu w trybie edycji inline aktywowanej kliknięciem w wierszu. W tym celu w nagłówku listy jest wyświetlany specjalny przycisk, o ile we właściwościach listy na karcie
Edycja inlinewłączono przełącznikDodawanie rekordudla tego trybu. - W związku ze zmianami widoku listy wprowadzono także zmiany w ustawieniach sekcji typu lista na formularzu. Obecnie nowa sekcja typu lista ma domyślnie włączone następujące ustawienia:
Wyświetlaj pole wyszukiwaniaWyświetlaj zdefiniowane filtry listyWyświetlaj konfiguracje listy w nagłówkuWyświetlaj przycisk odświeżania listyZapamietaj tymczasową konfiguracje listy-
Wyświetlaj nazwę kolumn listy w tej sekcjiKażda sekcja typu lista ma teraz własne ustawienia, do tej pory, jeśli ustawienia listy w sekcji nie były zmienione, były pobierane z ustawień listy.
3. Obsługa rodzin czcionek we Front SPA
Dodano możliwość korzystania w nAxiom z dowolnych rodzin czcionek. Rodziny czcionek dodaje się w aplikacji Tenantsadmin SPA przy użyciu polecenia menu Add Font Family. Jednocześnie można dodać wiele plików z jednej rodziny. Obsługiwane formaty plików czcionek to TTF, OTF, WOFF i WOFF2.
W ramach zadania w Kreatorze stylów systemu dodano ustawienia umożliwiające wybór rodziny czcionek, która będzie używana w aplikacji FrontSPA. Są to:
Podstawowa rodzina czcionek-
Pomocnicza rodzina czcionek.
4. Nowy endpoint Document/GetDataByGrid/
W interfejsie Public API dodano punkt końcowy /Document/GetDataByGrid/, który zwraca dane z listy o podanym identyfikatorze RowGUID. W sekcji body żądania można skonfigurować paginację, sortowanie i filtrowanie danych. W ramach obsługi żądania są sprawdzane uprawnienia ACL użytkownika, który wysłał żądanie. Ponado, w ramach walidacji żądania sprawdzane jest istnienie kolumny, dla której zdefiniowano sortowanie lub filtrowanie, oraz dla filtrowania zgodność operatorów z typem danych kolumny (np. czy operatory porównania nie są używane dla kolumny tekstowej).
Jeśli żądanie zostanie wykonane pomyślnie zwróci status 200 i metadane listy (rowGuid, code i name), liczbę rekordów oraz rekordy listy. Jeśli użytkownik nie ma uprawnień ACL do żadnych rekordów, zostaną zwrócone tylko metadane.
Konfiguracja parametrów żądania:
- stronicowanie: parametry skip (liczba rekordów do pominięcia, offset) i take (liczba rekordów do pobrania); wartości domyślne: skip=0, take=50
- filtrowanie: wymaga podania nazwy kolumny (field), operatora (operator) i wartości (value); obsługiwane operatory:
- eq: jest równe
- neq: nie jest równe
- isnull: jest null
- isnotnull: nie jest null
- contains: zawiera (tylko tekst)
- doesnotcontain: nie zawiera (tylko tekst)
- startswith: zaczyna się od (tylko tekst)
- endswith: kończy się na (tylko tekst)
- isempty: jest puste (tylko tekst)
- isnotempty: nie jest puste (tylko tekst)
- gt: jest większe (tylko liczby)
- gte: jest większe lub równe (tylko liczby)
- lt: jest mniejsze (tylko liczby)
- lte: jest mniejsze lub równe (tylko liczby)
Przykład użycia:
- żądanie:
POST https://acme.local:1510/publicapi/Document/GetDataByGrid/649B5637-79... - body:
{ "skip": 0, "take": 50, "sort": [ {"dir": "asc", "field": "Id"} ], "filters": [ { "field": "UserName", "operator": "contains", "value": "Jerzy" }, { "field": "StatusName", "operator": "neq", "value": "Utworzono" } ] } - odpowiedź:
{ "gridMetadata": { "rowGuid": "649b5637-7997-402b-9efe-a3bce20c0f3e", "code": "rklRjs-list", "name": "rklRjs-lista wygenerowana przez generator flow" }, "totalRecords": 2, "data": [ { "Transition": 5, "Status": 3, "Id": 1198, "Code": "0009/2025", "Organization": null, "RowVersion": 13, "CreateDate": "2025-01-27T09:07:19.41", "ACLId": "5B1D94E2-3FF8-4532-9C61-7B96781E2AB6" ... } }
Uwaga
W body żądania można odwoływać się tylko do nazw kolumn, które są dodane do definicji listy i są aktywne.
5. Edycja inline - metoda setValue()
Dla trybu edycji inline dodano metodę JavaScript setValue(), która pozwala dowolnie ustawiać wartość wybranej kolumny listy. W szczególności metoda ta pozwala na wyliczanie wartości w kolumnie na podstawie wartości w innych kolumnach (w tym samym rekordzie).
Metody należy użyć w akcji JavaScript przypisywanej na karcie Edycja inline we właściwościach listy.
Przykład:
const columnA = getControlByColumn('kolumna_A');
columnA.setValue(rowContext.kolumna_B * rowContext.kolumna_C);
gdzie kolumna_A, kolumna_B i kolumna_C to nazwy kolumn listy (Nazwa SQL).
6. Edycja inline - przyciski zatwierdzania i anulowania
W trybie edycji inline aktywowanej kliknięciem w wiersz dodano możliwość zatwierdzenia lub odrzucenia zmian w danym rekordzie bez ich zapisywania i bez kończenia trybu edycji, a jedynie ukrycie trybu edycji kontrolek. Odpowiednie przyciski są wyświetlane w kolumnie akcji.
7. Workflow - warunek wyświetlania przycisku
W Worklflow SPA dla przycisków na przejściach wyłączono sprawdzenie uprawnień (ról) w przypadku, gdy wykonanie przejścia jest obsługiwane przez Taskservice (użytkownik System).
8. Zmienne tenanta
W aplikacji Tenantsadmin SPA dodano możliwość obsługi zmiennych konfiguracyjnych nAxiom przez program OpenBao. Wybrane zmienne należy zdefiniować na stronie Tenant variable definitions (Tenant variables > Definitions), a następnie przypisać im wartości per tenant na stronie Tenant variables values (Tenant variables > Values). W witrynach nAxiom zintegrowanych z OpenBao wartości takich zmiennych konfiguracyjnych będą bezpiecznie przechowywane w sejfie.
Nazwa zmiennej jest tworzona przez translację ścieżki JSON. Jeśli którykolwiek segment ścieżki wskazuje na element tablicy, należy użyć jego indeksu (np. 0).
Przykład: OpenLDAPConf__UserSettings__0__LDAPConfiguration__Password.
Uwaga
Wartości haseł i innych danych wrażliwych należy wpisywać jawnym tekstem (bez szyfrowania).
9. Cryptosalt
Dodano obsługę zmiennej środowiskowej z losowym ciągiem znaków (cryptosalt) używanym do szyfrowania komunikacji wewnętrznej w nAxiom, komunikacji z serwisem auth w przypadku zmiany hasła oraz odszyfrowywania kodu w linku do resetowania hasła. Standardowo ta wartość jest zapisywana w plikach appsettings.json poszczególnych serwisów.
Możliwość zdefiniowania cryptosalt w zmiennej środowiskowej pozwala w łatwy sposób okresowo zmieniać tę wartość. Dotychczas wymagało to edycji plików konfiguracyjnych wszystkich serwisów danej witryny, ponieważ ta wartość musi być taka sama we wszystkich serwisach. Dodatkowo obsługa zmiennych środowiskowych umożliwia wykorzystanie oprogramowania typu secret manager (np. OpenBao) do przechowywania wartości tych zmiennych w celu zwiększeniu stopnia bezpieczeństwa całego środowiska.
Zgodnie z przyjętą konwencją nazewnictwa zmiennych środowiskowych odpowiadających zmiennym konfiguracyjnym z pliku appsettings.json, zmienna dla cryptosalt musi mieć nazwę: NAX_AppConfiguration__CryptoSalt.
Wskazówka
Zmiana wartości cryptosalt spowoduje, że linki do resetowania hasła wygenerowane przed zmianą przestaną działać.
10. Uprawnienia formularza
Dodano propagację zbiorczego ustawiania właściwości w tablicy Uprawnienia formularza z pojedynczych elementów sekcji na samą sekcję.
11. Modernizacja instalatora
Kod źródłowy instalatora nAxiom (niestandardowego) zmodernizowano do platformy .NET Core 8.0.
Poprawki i usunięte błędy
1. Eliminacja podatności
Wprowadzono szereg zmian zgodnie z audytem bezpieczeństwa z października 2025 r. oraz podatnościami wykrywanymi w używanych bibliotekach:
- Zaktualizowano wersję pakietu Bootstrap z wersji 4.5.3 do wersji 5.3.8 w serwisie autoryzacji nAxiom oraz dostosowano formularz logowania, aby zachować jego dotychczasowy wygląd.
- Usunięto nagłówek X-Xss-Protection z odpowiedzi API.
- Nagłówek content-security-policy, dyrektywa script-src: usunięto słowo kluczowe unsafe-inline dla plików statycznych zwracanych przez nginx, dodano losową wartość nonce.
- Dodano dyrektywę use strict; w skryptach JavaScript clearActiveSessions.js i site.js z serwisu AUTH.
- W odpowiedziach serwisu AUTH z nagłówkiem Set-Cookie zmodyfikowano wartość atrybut SameSite. Domyślna wartość to obecnie Lax. Ciasteczka wykorzystywane w logowaniu zewnętrznym rozpoczynające się od .AspNetCore.Correlation lub .AspNetCore.OpenIdConnect.Nonce ze względów technicznych muszą mieć wartość SameSite=None.
- W odpowiedziach serwisu AUTH wyeliminowano przypadki, kiedy nagłówek Access-Control-Allow-Origin miał wartość ‘*’.
- W nagłówkach Content-Type odpowiedzi serwera dodano atrybut charset dla typów zawartości, dla których ma on zastosowanie. Między innymi jest to zawartość typu:
- JSON,
- js (JavaScript),
- css (Cascading Style Sheets),
- text
- Aby uniemożliwić ataki typu MIME-sniffing dodano nagłówek X-Content-Type-Options z wartością nosniff do odpowiedzi z punktów końcowych:
- /.well-known/openid-configuration
- /.well-known/openid-configuration/jwks
- /connect/token
- W celu eliminacji wycieków pamięci we wszystkich przypadkach użycia funkcji setTimeout oraz setInterval dodano obsługę czyszczenia zasobów.
- Wyeliminowano użycie magazynu localStorage do przechowywania tokenów dostępu do API w aplikacji Admin SPA. Obecnie w tym celu wykorzystywany będzie tylko magazyn sessionStorage.
Ważne
W ramach tej zmiany dodano mechanizm wylogowania użytkownika z wszystkich kart w przeglądarce dla danej witryny nAxiom po wylogowaniu w jednej z nich.
- Wyeliminowano podatność umożliwiającą uzyskanie dostępu do czatu i powiadomień przez nieautoryzowanego użytkownika.
- Wyeliminowano szereg podatności z pakietów używanych w nAxiom.
2. Dezaktywacja tenanta
Zmodyfikowano działanie serwisu tenantsapi w taki sposób, że po dezaktywacji tenanta w Tenantsadmin SPA wszyscy zalogowani użytkownicy tego tenanta zostaną wylogowani (w momencie wysłania żądania do internal-api). Ponadto usunięto błąd w działaniu parametru „Error logging level” w globalnych ustawieniach tenanta. Zmiana tego ustawienia zaczyna obowiązywać bez konieczności restartowania serwisów.
3. Edycja inline - błędy walidacji
W trybie edycji inline zmieniono sposób informowania o błędach walidacji danych. Obecnie dla komórki z błędną wartością jest wyświetlana czerwona ramka oraz komunikat w dymku z poprawną wartością minimalną/maksymalną. Ponadto dla trybu po kliknięciu w wiersz dodano blokadę przejścia do kolejnego rekordu, dopóki dane w bieżącym rekordzie nie zostaną poprawione. Dodano również walidację minimalnej/maksymalnej długości tekstu w polu typu pole tekstowe.
4. Nazwa modelu danych
Wprowadzono ograniczenia dotyczące nazwy modelu danych (nazwa tabeli w bazie danych) oraz nazw funkcji bazodanowych. Dozwolone są tylko małe i wielkie litery, cyfry oraz znak podkreślenia. Ponadto ujednolicono komunikaty walidacji danych i poprawiono tłumaczenia.
5. Monitor poczty e-mail
W Monitorze poczty e-mail poprawiono obsługę nazwy pliku kodowanej według standardu MIME RFC 2047. Problem dotyczył skrzynek pocztowych na serwerze IMAP.
6. Kreator listy
W Kreatorze listy poprawiono błąd, który powodował, że po wartości wybrane w polu Sortowanie kolumn na karcie Ogólne we właściwościach listy nie były zapamiętywane po przełączeniu na inną kartę.
7. Konfiguracja listy w sekcji typu lista
Poprawiono zakres zastosowania konfiguracji listy w przypadku użycia tej samej listy w kilku sekcjach. Obecnie, dla każdego wystąpienia listy można będzie stosować odrębną konfigurację (filtrowanie, sortowanie, grupowanie, widoczność kolumn).
8. Formularz w trybie dialog
Poprawiono błąd, który powodował, że okno formularza z nieaktywnym nagłówkiem (toolbar) wyświetlane w trybie dialog nie miało paska tytułu z ikoną do zamknięcia okna.
9. Odświeżanie sekcji typu lista
Poprawiono działanie akcji odświeżania sekcji formularza dla sekcji typu lista. Obecnie akcja powoduje odświeżenie następujących elementów:
- kolumna HTML na liście osadzonej w sekcji,
- tablica Selected w modelu formularza — odświeżenie sekcji powoduje uzgodnienie rekordów tablicy z bieżącym zestawem rekordów zaznaczonych na liście w sekcji formularza.
10. Pola SQL/TXT
Poprawiono obsługę zmiennych systemowych typu @_Nazwa w polach hybrydowych SQL/TXT w trybie TXT, np. w oknie przekazywania parametrów akcji otwierania formularza. Zmienne systemowe to:
- @_LangId: identyfikator języka zalogowanego użytkownika
- @_UserId: identyfikator GUID zalogowanego użytkownika (w trybie pracy w zastępstwie identyfikator zastępowanego)
- @_NativeUserId: identyfikator GUID zalogowanego użytkownika
- @_UserAuthenticationLevel: poziom uwierzytelniania w przypadku witryny nAxiom ze skonfigurowanym logowaniem SSO
- @_Id: identyfikator bieżącego rekordu
- @_FormId: identyfikator bieżącego formularza
- @_BusinessDocDefId: identyfikator bieżącej definicji dokumentu
- @_TenantId: identyfikator bieżącego tenanta
- @_TenantBaseUrl: bazowy URL bieżącego tenanta
- @_MobileMode: stan trybu mobilnego
11. Podpowiedzi do wartości na listach wyboru
Poprawiono wyświetlanie podpowiedzi z wartością wybraną na liście wyboru w przypadku ustawienia dla listy stałej szerokości. Dodatkowo poprawiono wyświetlanie etykiet kontrolek formularzy z dłuższym tekstem.
12. Akcja zmiany statusu
Usunięto błąd w działaniu akcji zmiany statusu dokumentów. W przypadku zmiany statusu zbioru dokumentów w trybie transakcji uprawnienia wynikające z szablonu uprawnień dla ról w statusach nie były poprawnie aktualizowane (tylko pierwszy rekord miał poprawnie nadane uprawnienia).
13. Migracja danych typu numeric
Poprawiono sygnalizowany w wersji 1.15.2.0 błąd, który powodował, że po migracji aplikacji zakres typu danych numeric był resetowany do domyślnego.
14. Eksport do Excela
Poprawiono eksport listy hierarchicznej do pliku Excel. Funkcja eksportu uwzględnia zastosowane filtry, eksportowane są wszystkie strony.
15. Tabele pomocnicze
Poprawiono błąd, który powodował, że w nowej tabeli pomocniczej dla kolumny klucza głównego nie były generowane tłumaczenia dla pola Etykieta. W ramach zadania dodano migrację bazy danych, która generuje brakujące tłumaczenia.
16. PublicAPI (Swagger)
Poprawiono błąd, który powodował, że w środowisku kontenerów nie można było wyświetlić dokumentacji interfejsu PublicAPI generowanej przez program Swagger.
17. LDAP - mapowanie ról
Poprawiono błąd, który powodował, że podczas synchronizacji z LDAP dodawane były nowe role biznesowe, pomimo zastosowania mapowania, które miało temu przeciwdziałać.
18. LDAP - synchronizacja
Poprawiono obsługę znaków backslash w filtrach LDAP w środowiskach Linux w połączeniu z Active Directory. Problem mógł występować podczas pobierania użytkowników do synchronizacji oraz grup, do których należą, według atrybutu distinguishedName.
19. Esign - zlecenie podpisu
Poprawiono błąd w akcji zlecenia podpisu ESign. W tej wersji zaszła również zmiana formatu daty w żądaniach. Wszystkie wdrożenia, które korzystały obecnie z ESign będą musiały przejść aktualizację ESign do najnowszej wersji.