Printer icon

Informacje o wersji 1.15.0.0
z dn. 12-09-2025

W tej wersji

Wymagane działania

Kompatybilność aplikacji

Migracja aplikacji jest możliwa tylko między wersjami nAxiom kompatybilnymi na poziomie bazy danych.

Bieżąca wersja bazy danych: 20250828124939

W tej wersji nAxiom struktura bazy danych zmieniła się. Przed migracją aplikacji do tej wersji wymagane jest zaktualizowanie środowiska źródłowego.

Nowe i zmodernizowane funkcje

1. Integracja z RabbitMQ

W wersji nAxiom 1.15 dodano integrację z brokerem komunikatów Rabbit MQ. Konfiguracja dostępu do serwisu jest wymagana. Może to być serwis na serwerze zdalnym, działającym lokalnie w kontenerze lub zainstalowanym lokalnie. W przypadku instalacji lokalnej odpowiednie instalatory można pobrać z serwisu Github:

Instalator nAxiom sprawdzi w pierwszym kroku, czy te komponenty są zainstalowane lokalnie. Następnie w kroku Broker komunikatów - konfiguracja należy podać dane użytkownika i hasło oraz wybrać opcję Uruchom nowy serwis i wpisać numer wolnego portu (inny niż domyślny dla RabbitMQ 5672). Instalator uruchomi nowy serwis i utworzy w nim nowe konto, a także włączy konsolę zarządzania.

Chociaż podczas instalacji RabbitMQ jest uruchamiany serwis na domyślnym porcie 5672, nie zaleca się wyboru opcji Połącz z działającym serwisem, ponieważ trzeba wtedy ręcznie odblokować konsolę zarządzania i korzystać z domyślnego konta Guest. Ta opcja będzie domyślnie zaznaczona podczas aktualizacji do kolejnych wersji nAxiom.

Ponieważ kolejki tworzone przez instalator nAxiom mają stały przedrostek nax, każda instalacja nAxiom korzystająca z tego samego serwera RabbitMQ musi korzystać z osobnego serwisu RabbitMQ.

Konfigurację RabbitMQ w środowiskach skonteneryzowanych opisano w artykułach Wdrożenie nAxiom w Openshift i Wdrożenie nAxiom w Kubernetes.

Broker komunikatów będzie wykorzystywany do komunikacji między poszczególnymi serwisami nAxiom oraz do obsługi kolejek. W wersji 1.15 wykorzystano go do dystrybuowania między serwisami informacji o konieczności odświeżenia pamięci podręcznej (znany błąd opublikowany w 1.14.2.2) oraz o zmianach konfiguracji tenantów. Dzięki temu nie będzie konieczne restartowanie serwisów po wprowadzeniu niektórych zmian.

2. Paczki bibliotek C#

W celu ułatwienia obsługi integracji z niezależnymi systemami, które wymagają zewnętrznych bibliotek DLL, akcje algorytmu C# rozszerzono o możliwość korzystania z paczek bibliotek, to jest grup zewnętrznych bibliotek/zestawów (ang. assembly) DLL.

Paczki bibliotek definiuje się w aplikacji TenantAdminSPA (pozycja menu Library packages). Tam też można je edytować i usuwać. Dostępne są także opcje eksportu i importu paczek w celu ułatwienia ich przenoszenia między środowiskami nAxiom (wyeksportowane paczki są zapisywane w plikach naxlib).

Paczki są przechowywane w bazie tenantów w tabelach ta.LibraryPackages (definicje) i ta.LibraryPackageFiles (pliki bibliotek).

Z paczek dodanych do środowiska nAxiom można korzystać w akcjach C#. W definicji tych akcji dodano listę wielowyboru oraz możliwość podglądu bibliotek wchodzących w skład paczek. Pozostawiono możliwość korzystania z bibliotek instalowanych wraz z nAxiom, zmieniono tylko etykietę odpowiedniej listy wielowyboru na Biblioteki systemowe.

Do tej wersji jedynym sposobem korzystania z bibliotek zewnętrznych w akcji C# było kopiowanie ich do folderów serwisów w katalogu instalacyjnym nAxiom. Jednak ten sposób nie był dostępny we wdrożeniach w architekturze kontenerów.

UWAGI

W związku z tym, że funkcjonalność akcji C# w nAxiom wykorzystuje kompilowany kod C#, dostarczone rozwiązanie ma pewne ograniczenia:

  • Brak możliwości korzystania z bibliotek systemowych w innej wersji niż instalowane z systemem — biblioteki zostaną załadowane, ale odwołania do nich mogą powodować błędy.
  • Brak możliwości załadowania bibliotek w różnych wersjach: jeśli dwie paczki bibliotek będą zawierać tę samą bibliotekę DLL w różnych wersjach, próba załadowania drugi raz tej biblioteki zakończy się błędem. Poprawnie załadowana i wykonywana będzie tylko jedna wersja pliku DLL.
  • Zmiana wersji pliku DLL wymaga ponownego uruchomienia serwisów wykonujących akcję C#, która korzysta z danej paczki bibliotek. W przeciwnym razie akcja będzie działać bez uwzględnienia zmian przez ok. 2 godziny, ponieważ tyle wynosi interwał odświeżania cache, w którym przechowywane są wyniki kompilacji.
  • W przypadku usunięcia paczki z poziomu TenantsAdmin SPA akcja będzie się wykonywać dopóki jest przechowywana w cache. Błąd o braku paczki zostanie zgłoszony dopiero w momencie następnej kompilacji skryptu.

3. Obsługa załączników w akcji algorytmu C#

Akcję algorytmu C# rozbudowano o metody umożliwiające zarządzanie załącznikami instancji dokumentu. Są one zdefiniowane w klasie DocumentAttachmentsHelper:

  • RemoveAttachment: usuwa załącznik (wszystkie wersje)
  • RemoveAttachmentVersion: usuwa wskazaną wersję załącznika
  • GetAttachment: pobiera dane załącznika bez zawartości binarnej
  • GetAttachmentWithFileContent: pobiera dane załącznika z zawartością binarną
  • GetAttachments: pobiera listę wszystkich najnowszych wersji załączników ze wskazanej instancji dokumentu lub kategorii załączników (bez zawartości binarnej)
  • GetAttachmentsByVersioningIdentifier: pobiera listę załączników dla wskazanego identyfikatora wersjonowania
  • UploadAttachment: dodaje lub nadpisuje załącznik
  • SetAttachmentDescription: ustawia opis załącznika (wersji załącznika w przypadku włączonego wersjonowania załączników)

Odpowiedzi zwracane przez metody są opakowane w generyczną klasę RequestResponse<T> o właściwościach:

  • IsValid: flaga poprawnego wykonania operacji
  • Result: dane o typie zgodnym z typem przekazanym do wywołania RequestResponse
  • ValidationResult: informacje o błędach w przypadku niepowodzenia wykonania akcji

Szczegółowy opis metod i typów danych zawiera artykuł Algorytm C#, klasa DocumentAttachmentsHelper

4. Nowa kontrolka: Edytor tekstu

Dodano nowy rodzaj kontrolki formularza: Edytor tekstu. Umożliwia ona wprowadzanie i formatowanie treści tekstowych, tabel, wstawianie obrazów i linków do plików. Dane są zapisywane w powiązanym polu tabeli modelu danych w formacie HTML.

W konfiguracji kontrolki można określić funkcje wyrównania i formatowania, tabel i list oraz akcji i wstawiania treści, które mają być dostępne na pasku narzędzi edytora.

5. Nowa akcja: Przełączanie aplikacji

Dodano akcję Przełączanie aplikacji. Akcja zmienia aktywną aplikację w trybie pojedynczej aplikacji, to jest wyświetla menu użytkownika zdefiniowane dla aplikacji docelowej oraz jej domyślny pulpit. Akcję docelową można wybrać z listy albo podać jej kod, identyfikator (Id lub RowGuid), referencję smart numbers (w formie {&KodAplikacji}) lub zdefiniować zapytanie SQL, które zwróci jej identyfikator (Id lub RowGuid) lub kod (Code).

Jeśli tryb pojedynczej aplikacji jest wyłączony, uruchomienie akcji nie powoduje żadnego efektu.

6. Rozszerzenia smart numbers

W składni smart numbers dodano obsługę definicji aplikacji, dokumentów (węzeł BusinessDocuments) oraz słowników prostych i hierarchicznych w zakresie identyfikatora słownika. Składnia nowych referencji wygląda następująco:

  • {&<KodAplikacji>}
  • {&<KodAplikacji>.BusinessDocuments.BusinessModule.<KodDokumentuBiznesowego>}
  • {&<KodAplikacji>.Dictionaries.<KodSłownikaProstego>}
  • {&<KodAplikacji>.HierarchicalDictionaries.<KodSłownikaHierarchicznego>}

7. Dokumentacja wdrożeń nAxiom w środowiskach Openshift/Kubernetes

Zaktualizowano opisy wdrożeń nAxiom w środowiskach Opneshift i Kubernetes. Odpowiednie artykuły są dostępne w witrynie z dokumentacją nAxiom:

Poprawki i usunięte błędy

1. Sekcja menu (PWA)

Możliwość przypisania formularza do sekcji menu użytkownika rozszerzono na tryb PWA (mobilny).

2. Formularze w trybie PWA

Poprawiono wyświetlanie formularzy w trybie PWA.

3. Import z OpenAPI

Naprawiono błąd importu akcji zapytań do webserwisów z definicji OpenAPI (przycisk Zapisz i importuj akcje w definicji źródła danych).

4. Sekcja menu

Poprawiono błąd, który powodował nadpisywanie ustawień sekcji menu użytkownika.

5. Kolejność komentarzy

Usunięto błąd, który powodował, że komentarze nie zawsze były wyświetlane w kolejności chronologicznej. Obecnie komentarze są wyświetlane od najstarszych (u góry) do najnowszych.

6. Edycja inline

Poprawiono błąd, który powodował, że pomimo anulowania zmian w edycji inline, przy próbie przełączenia strony lub wyboru innej pozycji menu wyświetlany był komunikat o konieczności zapisania zmian.

7. Przycisk Tłumaczenia i pomoc

Usunięto błąd występujący w Admin SPA po kliknięciu przycisku Tłumaczenia i pomoc w kreatorze formularzy.

8. Stronicowanie list

Poprawiono działanie stronicowania list w przypadku określenia własnej liczby rekordów na stronie w definicji listy. Ponadto zmodyfikowano zachowanie ustawienia listy Ilość pozycji na stronie tak, aby podana tam wartość modyfikowała wyłącznie konfigurację systemową liczby pozycji listy. Jeśli w definicji zostanie ustawiona wartość inna niż domyślne 10, 20, 50, 100 pozycji na liście, będzie ona dostępna we FrontSPA na rozwijanej liście liczby pozycji listy na stronie. Domyślna wartość tego ustawienia to 50.

9. Zmiana hasła przez użytkownika

Przywrócono poprawne działanie walidacji haseł w przypadku zmiany hasła dokonywanej przez użytkownika (\<Imię i nazwisko\> > Mój profil). Na skutek błędu nie były wyświetlane komunikaty, gdy hasło nie spełniało wymagań dotyczących liczby znaków oraz liczby wielkich liter. W ramach zadania poprawiono także treść komunikatów.

10. Pulpit aplikacji

Poprawiono błędy wyświetlania pulpitu domyślnego aplikacji po odświeżeniu strony w przeglądarce lub kliknięciu logo, a także przypadek, kiedy użytkownik nie mógł zmienić pulpitu.

11. Przycisk wyboru logo

Usunięto błąd, który powodował, że w przeglądarce Mozilla Firefox nie wyświetlał się przycisk wyboru obrazu dla logo w ustawieniach tenanta w TenantsAdmin SPA.


Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.