Repozytoria załączników
Podsumowanie:W nAxiom dostępne są funkcjonalności umożliwiające zarządzanie plikami statycznymi i ich przetwarzanie. Takie pliki to między innymi załączniki, odebrane wiadomości e-mail, rozpoznane pliki OCR i dodatkowe biblioteki. Do przechowywania plików służą w nAxiom repozytoria. Repozytoria mogą być dyskowe (foldery) lub bazodanowe (tabele w bazie danych).
☛ AdminSPA >
DANE
>Repozytoria załączników
W tym temacie
Instalacja
Rodzaj repozytoriów (dyskowe/bazodanowe) dla pierwszego tenanta wybiera się podczas instalacji witryny nAxiom w kroku Pierwszy tenant - zasoby systemu
. W przypadku aktualizacji witryny ten krok jest niedostępny.
W instalatorze dostępne są cztery typy zasobów, dla których można zdecydować, czy ich repozytorium ma się znajdować w folderze instalacyjnym, czy w bazie danych. Tym typom zasobów odpowiadają tworzone domyślnie repozytoria. W przypadku rozpoznanych plików OCR repozytorium bazodanowe jest nieobsługiwane, ale można wskazać inny folder repozytorium. To repozytorium jest używane wyłącznie na potrzeby przetwarzania OCR, a jego konfiguracja nie jest dostępna w aplikacji AdminSPA. Można ją zmienić w pliku appsettings.json serwisu ocrapi.
Pozostałe rodzaje zasobów i odpowiadające im repozytoria to:
- Załączniki dokumentów: dla załączników tworzone jest Domyślne repozytorium, które standardowo znajduje się w folderze folder-instalacyjny-naxiom/SystemRepositories/tenant-GUID/default; to repozytorium jest standardowo wybrane w domyślnej kategorii załączników.
- Wiadomości email: dla załączników z wiadomości e-mail tworzone jest Domyślne repozytorium e-mail, które standardowo znajduje się w folderze folder-instalacyjny-naxiom/SystemRepositories/tenant-GUID/email; w tym repozytorium domyślnie są zapisywane również załączniki dodawane do szablonów wiadomości e-mail.
- Dodatkowe biblioteki: dla tej kategorii tworzone jest Domyślne repozytorium systemowe, które standardowo znajduje się w folderze folder-instalacyjny-naxiom/SystemRepositories/tenant-GUID/system; w tym repozytorium domyślnie zapisywane są własne pliki logo wybierane w kreatorze stylów.
Foldery repozytoriów są faktycznie tworzone na dysku dopiero w momencie zapisu pliku w repozytorium. W przypadku repozytoriów bazodanowych można określić bazę danych (może to być inna baza niż podstawowa baza nAxiom) i tabelę w bazie, w której będą przechowywane pliki statyczne. Na podstawie podanych parametrów połączenia z bazą danych instalator utworzy źródło danych. Jeśli taka tabela nie istnieje, zostanie utworzona.
W aplikacji AdminSPA jest dostępne jeszcze jedno repozytorium systemowe Default attachment repository in the tenant database. Jest to repozytorium bazodanowe, które znajduje się w tabeli NaxiomDefaultRepoForAttachmentFiles w bazie danych tenanta. Schemat tabeli odpowiada schematowi tabel użytkownika wybranemu podczas instalacji (domyślnie dbo), ale można to zmienić w aplikacji TenantsAdminSPA. Zmiana nazwy lub schematu tabeli spowoduje utworzenie nowej, pustej tabeli (wymagane kliknięcie przycisku Sprawdź dostęp
). Wcześniej używana tabela nie zostanie usunięta.
Konfiguracja dla tenantów
W trybie obsługi wielu tenantów domyślna lokalizacja repozytoriów dyskowych każdego tenanta to folder o nazwie będącej identyfikatorem GUID tego tenenta. W ogólności ścieżka do folderu repozytoriów tenanta ma postać: folder-instalacyjny-naxiom/SystemRepositories/GUID-tenenta.
Administrator tenantów może wskazać lokalizację inną niż folder-instalacyjny-naxiom/SystemRepositories poprzez ustawienie Directory location for relative paths of file repositories
(TenantAdminSPA > Global settings
).
Ponadto dla każdego tenanta można indywidualnie określić nazwę jego podkatalogu, podając inną niż domyślna (GUID) wartość klucza SubDirName w sekcji FileStorageConfiguration w ustawieniach konfiguracyjnych tenanta (TenantAdminSPA > Edit tenant
> Configuration
> Settings
).
Administrator tenantów może także zezwolić poszczególnym tenantom na swobodne określanie lokalizacji repozytoriów za pomocą drugiego parametru w sekcji FileStorageConfiguration, AllowUseRepoFullDir. Określa on, czy konsultanci danego tenanta mogą definiować repozytoria, używając ścieżek względnych, czy bezwzględnych.
Dla pierwszego tenanta wartość tego klucza to true ze względu na konieczność zapewnienia zgodności z konfiguracjami sprzed wprowadzenia obsługi wielu tenantów. Dla kolejnych tenantów parametr ten ma domyślnie wartość false, co oznacza, że podawane przez nich nazwy repozytoriów będą traktowane jako ścieżki względne w lokalizacji określonej ustawieniem Directory location for relative paths of file repositories
.
Aby zmienić domyślny schemat tabeli z systemowym repozytorium bazodanowym, należy wpisać ją w konfiguracji tenanta jako wartość parametru DefaultRepoForAttachmentFilesSchema. Jeśli ten parametr nie jest widoczny, należy zapisać bieżącą konfigurację i ponownie uruchomić witrynę.
Zarządzenie repozytoriami
Po wybraniu pozycji menu Repozytoria załączników
(AdminSPA > DANE
) wyświetlana jest lista repozytoriów zdefiniowanych w witrynie. Standardowo dostępne są repozytoria wymienione na początku. Konsultant może tworzyć nowe repozytoria oraz edytować i usuwać repozytoria istniejące.

Usunięcie repozytorium powoduje usunięcie definicji repozytorium z tabeli core.AttachmentRepositories. Samo repozytorium (folder lub tabela w bazie danych) i jego zawartość pozostają nienaruszone.
W przypadku tworzenia nowego lub edycji istniejącego repozytorium należy określić następujące właściwości:

-
Kod
: dowolny ciąg znaków. -
Nazwa
: nazwa repozytorium; jest wyświetlana na listach wyboru w miejscach, w których nalezy wybrać repozytorium, na przykład w definicji kategorii załączników. -
Typ repozytorium
: dostępne wartości:-
Folder lokalny
: należy wskazać folder — nazwę lub ścieżkę, odpowiednio do konfiguracji w TenantsAdminSPA — w którym będą przechowywane pliki statyczne. -
Baza danych MS SQL Server
: w tym przypadku należy podać dwa dodatkowe parametry:-
Źródło danych
: zdefiniowane osobno źródło danych odwołujące się do bazy MS SQL Server; może to być baza używana przez bieżącą witrynę. -
Zapisuj do tabeli
: nazwa tabeli, w której będą zapisywane pliki statyczne; z reguły będzie to nazwa nowej tabeli, która zostanie utworzono po kliknięciu przyciskuSprawdź połączenie
. Tabela repozytorium ma dwie kolumny Id (uniqueidentifier) i Content (varbinary(MAX)).
-
Typ
Baza danych tenanta
jest zastrzeżony tylko dla repozytorium systemowego i nie jest dostępny dla innych repozytoriów.Jeśli nie zostanie podany schemat tabeli, tabela zostanie utworzona w schemacie domyślnym dbo. Aby utworzyć tabelę w schemacie core, należy poprzedzić nazwę schematem, na przykład core.MojeRepozytorium.
-
-
Aktywne
: określa, czy repozytorium jest aktywne; dezaktywowanie repozytorium, które jest używane w danej witrynie, uniemożliwi zapis i odczyt plików w tym repozytorium.
Wykorzystanie repozytoriów w nAxiom
Repozytoria plików statycznych mają w nAxiom następujące przeznaczenie:
- przechowywanie załączników dodawanych do dokumentów, w tym generowanych przez różne akcje,
- przechowywanie załączników przesyłanych w przychodzących wiadomościach e-mail,
- przechowywanie załączników dodawanych w definicji szablonu e-mail,
- przechowywanie indywidualnych plików logo konfigurowanych w kreatorze stylów.
W przypadku załączników do dokumentów repozytorium nie określa się indywidualnie dla załącznika tylko poprzez kategorię załączników. W momencie generowania elementów aplikacji system powołuje kategorię domyślną, która jest powiązana z repozytorium domyślnym. Jest to repozytorium o nazwie Domyślne repozytorium, standardowo lokalizowane w folderze default z flagą IsDefault o wartosci 1. Konsultant może zmienić repozytorium dla kategorii domyślnej w istniejących definicjach dokumentów, ale dla nowej definicji w procesie generowania elementów aplikacji zawsze kategoria domyślna będzie powiązana z repozytorium domyślnym.
Ponadto w ustawieniach systemu wskazuje się trzy repozytoria:
-
Ustawienia systemu
>Ogólne
>System - Repozytorium systemowe
: miejsce zapisu własnych plików logo konfigurowanych w kreatorze stylów (standardowo Domyślne repozytorium systemowe). -
Ustawienia systemu
>Email
>Repozytorium zapisu plików dla szablonów e-mail
: miejsce zapisu załączników dodawanych w definicji szablonu e-mail (standardowo Domyślne repozytorium e-mail). -
Ustawienia systemu
>Email
>Exchange - Repozytorium zapisu plików dla załączników pobieranych z wiadomości
: miejsce zapisu załączników do wiadomości e-mail odbieranych przez tzw. mail monitory (standardowo Domyślne repozytorium e-mail).
Tabela core.AttachmentRepositories
Definicje repozytoriów są przechowywane w tabeli core.AttachmentRepositories, która składa się z następujących kolumn:
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
Code | nvarchar(32) | Kod repozytorium | |
Name | nvarchar(128) | Nazwa repozytorium | |
IsActive | bit | Flaga aktywności repozytorium | |
IsDefault | bit | Flaga repozytorium domyślnej kategorii załączników | |
RepositoryType | int | Typ repozytorium: 0 - folder, 1 - baza danych | |
DataSourceId | int | Identyfikator źródła danych dla repozytorium bazodanowego | |
RelativeDirectory | nvarchar(MAX) | Ścieżka względna do folderu repozytorium | |
AdvancedSaveOptions | nvarchar(MAX) | Dane w formacie JSON z dodatkowymi parametrami: SubDirectorySaveType, NumberOfFiles i LastFolderName | |
RowGuid | uniqueidentifier | Unikatowy identyfikator szablonu | |
AbsoluteDirectory | nvarchar(MAX) | Ścieżka bezwzględna do folderu repozytorium | |
TableName | nvarchar(128) | Nazwa tabeli repozytorium bazodanowego |
Powiązane tematy: