Repozytorium – ręczna instalacja dla administratora
Moduł Repozytorium jest dostępny zarówno dla Comarch DMS Standalone, jak i dla wszystkich form współpracy: z Comarch ERP XL, Comarch ERP Optima, Comarch ERP Altum i Comarch ERP Enterprise (CEE).
Od wersji 2023.1.0 aby możliwa była poprawna współpraca z modułem Repozytorium należy kolejno: 1. zainstalować dodatek Application Request Routing, dostępny pod następującym adresem: https://www.iis.net/downloads/microsoft/application-request-routing 2. w ramach Menedżera Internetowych usług Internetowych kliknąć na ikonę „Application Request Routing Cache” 3. w ramach panelu „Akcje” po prawej stronie ekranu nacisnąć link „Otwórz funkcje”.
4. zaznaczyć parametr „Enable proxy” w ramach zakładki „Application Request Routing” i potwierdzić zmianę przyciskiem „Zastosuj”.
W wersji 2023.0.0 zaktualizowano .net core do .net6. Obsługa bazy danych MongoDB nie ulega zmianie. Zalecane jest korzystanie z wersji 4.4 – 5.0
Z tego powodu wymagana jest aktualizacja w środowisku Windows pakietu IIS Hosting Bundle do wersji 6.0 albo wyższej – aktualizację można pobrać ze strony https://dotnet.microsoft.com/en-us/download/dotnet/6.0
System Comarch DMS składa się z modułów:
-
-
- Comarch DMS Workflow (Obieg Dokumentów)
- Comarch DMS Repozytorium
-
Aby umożliwić działanie modułu Workflow i modułu Repozytorium, niezbędne jest zainstalowanie trzech odrębnych aplikacji na serwerze IIS, z których dwie służą potrzebom modułu Comarch DMS Workflow (Obieg Dokumentów) i jedna tworzy moduł Comarch DMS Repozytorium.
Instalacja serwera MongoDB w systemie Windows
W celu pobrania instalatora serwera MongoDB należy wejść na stronę https://www.mongodb.com/, następnie wybrać zakładkę „Products”, później „Community Edition”, następnie „MongoDB Community Server”, nacisnąć zielony przycisk „Select package”, wybrać wersję MongoDB w polu „Version”, a następnie nacisnąć zielony przycisk „Download” (bezpośredni link do „MongoDB Community Server”: MongoDB Community Download | MongoDB).
Proces instalacji przedstawiony poniżej to skrócona wersja instalacji – przy założeniu, że na tej samej maszynie, gdzie Mongo DB jest uruchamiany, zainstalowana jest też baza.
Z pełnym procesem instalacji środowiska MongoDB można zapoznać się w instrukcji producenta pod adresem Install MongoDB Community Edition on Windows — MongoDB Manual.
1. Po pobraniu pliku instalacyjnego należy go otworzyć. Wówczas na ekranie pojawia się okno instalatora Mongo DB, gdzie powinno się kliknąć „Next”.
2. Następnie należy wyrazić zgodę na umowę licencyjną, zaznaczając checkbox i kliknąć „Next”.
3. Kolejnym krokiem jest wybór typu instalacji – należy wybrać opcję „Complete”.
4. Następnie należy w oknie konfiguracji usługi wybrać checkbox „Run service as Network Service user”.
5. W kolejnym oknie instalacyjnym zaznacza się parametr „Install Mongo DB Compass”.
Mongo DB Compass to aplikacja, która służy do przeglądania bazy danych, analogicznie do SSMS dla SQL Server. Po wyborze przycisku „Next” następuje przejście do kolejnego okna.
6. Następnie należy kliknąć „Install”.
7. Na zakończenie instalacji należy kliknąć przycisk „Finish”.
Po ukończeniu instalacji konieczne jest upewnienie się, czy usługa MongoDB jest uruchomiona. Można to sprawdzić wchodząc do Menedżera zadań systemu Windows, wybierając zakładkę Usługi i znajdując pozycję Mongo DB, dla której w polu „Stan” powinno wyświetlać się „Uruchomiony”.
Dodawanie administratora MongoDB i bazy danych dla Comarch DMS Repozytorium za pomocą MongoDB Compass
Po instalacji na MongoDB należy uruchomić MongoDB Compass. Jeśli Mongo DB zostało zainstalowane lokalnie, wówczas nie ma konieczności uzupełniania connection stringa – wystarczy nacisnąć „Connect”, aby zalogować się do serwera.
Kiedy zalogowano się do serwera Mongo DB, wówczas:
1. należy utworzyć użytkownika o uprawnieniach administratora na serwerze – w poniższym przykładzie taki użytkownik to admin, zaś jego hasło to Passwd1234. Posiada najwyższy poziom uprawnień na serwerze.
Aby utworzyć użytkownika należy:
- wpisać instrukcję use admin na konsoli _MONGOSH BETA,
- zatwierdzić przyciskiem Enter,
- wprowadzić na konsoli _MONGOSH BETA następujące polecenie:
db.createUser( { user:"admin", pwd:"Passwd1234", roles:[{role:"root",db:"admin"}] } )
- zatwierdzić klawiszem Enter
2. Następnie należy utworzyć bazę danych dla Comarch DMS Repozytorium i dodać użytkownika, dla którego będzie następowało łączenie się aplikacji Comarch DMS Repozytorium z bazą danych. W tym celu konieczne jest, aby:
- wpisać instrukcję use Repository (Repository to nazwa przykładowej bazy Repozytorium) na konsoli _MONGOSH BETA,
- zatwierdzić przyciskiem Enter,
- wprowadzić na konsoli _MONGOSH BETA następujące polecenie, aby dodać użytkownika:
db.createUser( { user:"MongoUser", pwd:"Passwd1234", roles:[{role:"readWrite",db:"Repository"}] } )
- zatwierdzić przyciskiem Enter
Po wykonaniu powyższych czynności Mongo DB Compass może zostać zamknięty.
Wprowadzanie zmian w pliku mongod.cfg
Następnie należy dokonać edycji pliku konfiguracyjnego mongod.cfg.
Plik znajduje się w lokalizacji:
<install directory>\bin\mongod.cfg
domyślnie lokalizacja to: C:\Program Files\MongoDB\Server\<wersja>\bin\mongod.cfg
Zmiany, których należy dokonać w pliku mongod.cfg:
1. w sekcji #network interfaces:
- port: 27017 – port domyślny
- bindIp: 127.0.0.1 – domyślnie jest w tym miejscu ustawiony localhost – tu powinien być umieszczony adres IP klienta, który komunikuje się z serwerem bazodanowym (dla Comarch DMS Repozytorium: z serwerem IIS). Jeżeli zamiast bindIp zostanie wpisane bindIpAll: true, wówczas można będzie połączyć się z serwerem z każdego komputera.
2. w sekcji #security:
- UwagaNależy usunąć znak # przed security
- UwagaNależy dodać dwie spacje i wpisać authorization: enabled
Dzięki tej zmianie możliwe będzie logowanie do bazy MongoDB przy użyciu loginu i hasła.
Następnie należy zapisać plik i uruchomić ponownie serwer MongoDB w Menedżerze zadań Windows, klikając na niego prawym przyciskiem myszy i naciskając „Uruchom ponownie”.
mongodb://<mongodb user>:<mongodb password>@<server ip>:<server port>/<database name>?authSource=<database name> Przykładowo dla administratora: mongodb://admin:Passwd1234@localhost/?authSource=admin Przykładowo dla użytkownika MongoUser: mongodb://MongoUser:Passwd1234@localhost/Repository?authSource=Repository
Instalacja serwera MongoDB w systemie Linux, dystrybucja Ubuntu
Instalacja serwera MongoDB na Ubuntu powinna zostać przeprowadzona według instrukcji producenta, do której można przejść za pomocą następującego linku: Install MongoDB Community Edition on Ubuntu — MongoDB Manual.
Wprowadzanie zmian w pliku mongod.conf
Kiedy zainstalowano serwer, kolejnym krokiem jest wprowadzenie zmian w pliku konfiguracyjnym mongod.conf, dostępnym w lokalizacji: /etc/mongod.conf. Polecenie, które uruchamia plik mongod.conf do edycji, to:
sudo gedit/etc/mongod.conf
Zmiany, których należy dokonać w pliku mongod.conf:
1. w sekcji #network interfaces:
- port: 27017 – port domyślny
- bindIp: 127.0.0.1 – domyślnie jest w tym miejscu ustawiony localhost – tu powinien być umieszczony adres IP klienta, który komunikuje się z serwerem bazodanowym (dla Comarch DMS Repozytorium: z serwerem IIS). Jeżeli zamiast bindIp zostanie wpisane bindIpAll: true, wówczas można będzie połączyć się z serwerem z każdego komputera.
2. w sekcji #security:
- UwagaNależy usunąć znak # przed security
- UwagaNależy dodać dwie spacje i wpisać authorization: enabled
Dzięki tej zmianie możliwe będzie logowanie do bazy MongoDB przy użyciu loginu i hasła.
Po zapisaniu wprowadzonych zmian należy ponownie uruchomić serwer MongoDB, przykładowo używając poniższej komendy:
sudo systemctl restart mongod
Dodawanie administratora MongoDB i bazy danych dla Comarch DMS Repozytorium z poziomu terminala w Ubuntu
Następnie należy zalogować się do MongoDB z poziomu terminala w Ubuntu, a później utworzyć bazę danych i dodać operatora, dla którego nastąpi łączenie się Comarch DMS Repozytorium z bazą danych.
Aby utworzyć bazę, powinna zostać wpisana komenda: use Repository.
W dalszej kolejności należy utworzyć użytkownika, zaczynając od wpisania komendy use admin.
Później konieczne jest wprowadzenie polecenia, które utworzy użytkownika o uprawnieniach administratora na serwerze – w poniższym przykładzie taki użytkownik to admin, zaś jego hasło to Passwd1234. Posiada najwyższy poziom uprawnień na serwerze:
db.createUser( { user:"admin", pwd:"Passwd1234", roles:[{role:"root",db:"admin"}] } )
- :
- /
- ?
- #
- [
- ]
- @
- !
Od wersji 2024.2.2 można używać powyższych znaków w ramach loginu i/lub hasła.
Nie należy natomiast używać spacji w loginie ani w haśle.
[/alert]
Następnie należy dodać użytkownika, dla którego będzie następowało łączenie się aplikacji Comarch DMS Repozytorium z bazą danych. W tym celu konieczne jest wprowadzenie następującego polecenia:
db.createUser( { user:"MongoUser", pwd:"Passwd1234", roles:[{role:"readWrite",db:"Repository"}] } )
Tworzenie i odtwarzanie backupów bazy danych MongoDB
Backupy baz danych Mongo DB mogą być tworzone i odtwarzane za pomocą narzędzi mongodump oraz mongorestore, które należą do MongoDB Database Tools. Można je pobrać ze strony producenta:
Download MongoDB Command Line Database Tools | MongoDB
Z dokumentacją dotyczącą narzędzi do tworzenia i odtwarzania baz MongoDB można się zapoznać na stronie producenta: The MongoDB Database Tools Documentation — MongoDB Database Tools.
Konfiguracja aplikacji na serwerze IIS
Instalacja komponentów
Zanim rozpocznie się konfigurację aplikacji Comarch DMS na serwerze IIS, konieczne jest zainstalowanie dwóch komponentów, niezbędnych do poprawnego działania aplikacji:
- URL Rewrite – do pobrania poprzez link: URL Rewrite : The Official Microsoft IIS Site
- ASP.NET Core 3.1 Runtime – Windows Hosting Bundle Installer – do pobrania poprzez link: Download ASP.NET Core 3.1 Runtime (v3.1.14) – Windows Hosting Bundle Installer (microsoft.com)
Przenoszenie katalogu DMS Repository Api
Jeżeli na serwerze nie jest zainstalowany Comarch DMS, konieczna jest instalacja aplikacji Comarch DMS serwerowej, WEB i desktop według instrukcji znajdującej się na stronie https://pomoc.comarch.pl/dms/ po wejściu do kategorii wybranej współpracy, w rozdziale Instalacja i konfiguracja.
Następnie należy z pakietu instalacyjnego z lokalizacji Comarch DMS {wersja} \ Comarch DMS {wersja} skopiować zawartość katalogu DMS Repository Api do folderu w lokalizacji C:\inetpub\wwwroot, np. do katalogu DocumentManager.WebApi.
Dodawanie nowej puli aplikacji dla Comarch DMS Repozytorium
Comarch DMS Repozytorium jest modułem Comarch DMS, jednak musi zostać zainstalowany jako osobna aplikacja na serwerze IIS i wymaga osobnej puli aplikacji.
Dla puli aplikacji dedykowanej modułowi Comarch DMS Repozytorium konieczne jest określenie wersji środowiska .NET CLR jako ’Bez kodu zarządzanego’.
Dla puli aplikacji dedykowanej modułowi Comarch DMS Workflow (Obieg Dokumentów) konieczne jest określenie wersji środowiska .NET CLR jako .NET CLR v4.0.
Następnie należy nacisnąć opcję „Ustawienia zaawansowane„, dostępną do wyboru po kliknięciu na „Pule aplikacji„, a następnie naciśnięciu nazwy odpowiedniej puli prawym przyciskiem myszy. Można też, alternatywnie, kliknąć nazwę puli i wybrać opcję z paska „Akcje” po prawej stronie ekranu.
W ramach „Ustawień zaawansowanych” konieczne jest ustawienie parametru ’Włącz aplikacje 32-bitowe’ na False.
Konwertowanie katalogu DocumentManager.WebApi na aplikację
1. W kolejnym kroku należy w ramach Menedżera IIS nacisnąć prawym przyciskiem myszy folder DocumentManager.WebApi i wybrać opcję „Konwertuj na aplikację„.
2. Następnie otworzy się okno „Dodawanie aplikacji„, w którym należy nacisnąć opcję „Wybierz„, wybrać pulę aplikacji dedykowaną Comarch DMS Repozytorium – w poniższym przykładzie jest to pula „DMS_repository” – i nacisnąć „Ok„.
Konfiguracja pliku web.config aplikacji Comarch DMS
W ramach Comarch DMS można korzystać z Managera dokumentów lub z modułu Repozytorium, nie jest jednak możliwe jednoczesne korzystanie z obydwóch opcji.
Domyślnie włączony jest Manager dokumentów, dlatego aby włączyć obsługę modułu Comarch DMS Repozytorium, w kluczu Web.config, dostępnym w folderze z aplikacją serwerową (dawną web) Comarch DMS należy uzupełnić 3 następujące klucze:
- <add key=”UseRepository” value=”true” /> – umożliwiający włączenie Repozytorium poprzez wpisanie wartości „true” (jeżeli pozostanie „false”, włączony będzie Manager dokumentów)
- <add key=”RepositoryUrl” value=”http://<ip serwera>/DocumentManager.WebApi” /> – w tym kluczu konieczne jest wprowadzenie adresu URL aplikacji Repozytorium, przykładowo:
http://localhost/DocumentManager.WebApi
- <add key=”WebClientUrl” value=”http://<ip serwera>/DocumentWorkflow.Web” /> – wprowadzony w wersji 2024.0.0; klucz, w którym (w przypadku korzystania z funkcjonalności Comarch DMS Repozytorium) należy wprowadzić adres nowej aplikacji WEB, przykładowo:
http://localhost/ DocumentWorkflow.Web
Wprowadzone zmiany należy zapisać.
Od wersji 2024.0.0 moduł Repozytorium nie jest dostępny z poziomu aplikacji serwerowej Comarch DMS (dawnej aplikacji web).
Adres strony widoczny w otwartym oknie przeglądarki to adres danej aplikacji.
Wprowadzanie zmian w appsettings.json, pliku konfiguracyjnym serwera
Następnie konieczne jest wejście do katalogu z aplikacją Repozytorium (np. DocumentManager.WebApi), dostępnym domyślnie w lokalizacji C:\inetpub\wwwroot\ , a następnie edycja znajdującego się tam pliku konfiguracyjnego appsettings.json , w którym należy uzupełnić poniższe informacje:
1. „IdentityMongoDatabaseSettings” – connection string do bazy Comarch DMS Repozytorium, która zawiera konta użytkowników.
„mongodb://<mongodb user>:<mongodb password>@<server ip>:<server port>/<database name>?authSource=<database name>” gdzie: <mongodb user>:<mongodb password> – nazwa i hasło użytkownika MongoDB, który został dodany do bazy Comarch DMS Repozytorium @<server ip>:<server port> – ip i port serwera, na którym znajduje się baza Mongo DB /<database name> – nazwa utworzonej bazy repozytorium ?authSource=<database name> – ponownie nazwa utworzonej bazy repozytorium Przykład: „mongodb://MongoUser:Passwd1234@localhost:27017/Repository?authSource=Repository”
2. „ApplicationMongoDatabaseSettings” – connection string do bazy Comarch DMS Repozytorium, która zawiera dane aplikacji.
Przykładowo:
„mongodb://MongoUser:Passwd1234@localhost:27017/Repository?authSource=Repository”
3. „DocumentWorkflowSettings” – adres serwera DMS.
Przykładowo:
„http://localhost/Standalone”
4. ”StorageSettings” – ustawienia bazy, która przechowuje pliki
„Type” – właściwość, która określa domyślne miejsce przechowywania plików dodawanych do Comarch DMS Repozytorium. Może przyjmować wartości:
- „IBard” – wtedy pliki dodawane do Repozytorium będą przechowywane w usłudze Comarch IBARD
- „Mongo” – wtedy pliki dodawane do Repozytorium będą przechowywane w bazie MongoDB
”IBARDStorageSettings” – parametr uzupełniany, jeśli wybrano bazę IBARD, baza danych, która przechowuje dane wymagane dla IBARD
„ConnectionString” – connection string do bazy z konfiguracją współpracy z IBARD – znajduje się tu ta sama informacja, która w wersji poprzedniej była w IBARDMongoDatabase Settings
Przykład uzupełnienia pliku appsettings.json, jeśli wszystkie pliki mają być przechowywane w usłudze Comarch IBARD:
”MongoStorageSettings” – parametr uzupełniany, jeśli wybrano bazę MongoDB, baza danych, która przechowuje pliki binarne.
W tym parametrze należy uzupełnić „ConnectionString” do bazy, która będzie służyć do przechowywania plików dodawanych do Comarch DMS Repozytorium.
Drugi klucz, ”ChunkSizeBytes”, dotyczy tylko plików przechowywanych w bazie MongoDB, definiuje maksymalny rozmiar pojedynczej części pliku (w bajtach), który jest dodawany do bazy.
Przykład uzupełnienia pliku appsettings.json, jeśli wszystkie pliki mają być przechowywane w bazie MongoDB:
Możliwa jest również sytuacja, w której podczas pracy z Comarch DMS Repozytorium zostało zmienione miejsce przechowywania plików z usługi IBARD na bazę MongoDB – wtedy możliwe jest korzystanie z plików przechowywanych zarówno w IBARD, jak i w MongoDB. Warunkiem jest uzupełnienie „Connection String” w kluczu „IBARDStorageSettings” (tak, żeby następowało połączenie z bazą, która przechowuje konfigurację współpracy z IBARD) oraz „Connection String” w kluczu „MongoStorageSettings” (tak, żeby następowało połączenie z bazą, która przechowuje pliki). Przy takim uzupełnieniu connection stringów domyślnie pliki, które zostaną dodane do Comarch DMS Repozytorium, będą zapisane zgodnie z lokalizacją, którą określono w parametrze Type w sekcji Storage Settings.
Przykład uzupełnienia pliku appsettings.json, jeśli pliki mają być zapisywane w bazie MongoDB, ale możliwa również będzie praca z plikami, które są przechowywane w usłudze IBARD:
5. „AllowedOrigins” – adres witryny Comarch DMS Repozytorium, przykładowo http://<IP serwera>[/su_list]
Powyższe ustawienia są niezbędne do właściwej konfiguracji pliku. Poniższe ustawienia natomiast można zmienić opcjonalnie:
- „JWTSettings” – ustawienia JSON Web Tokens, autoryzacja użytkowników wewnątrz Comarch DMS Repozytorium. Zawiera następujące parametry:
„Key” – klucz szyfrujący,
„Issuer”:”CorelIdentity”,
„Audience”: „CorelIdentityUser”,
„DurationInMinutes”: 60 – czas, po jakim token autoryzujący wygaśnie; podany w minutach
- „Serilog” – framework logujący działanie aplikacji. Zawiera następujące parametry:
„MinimumLevel” – określa poziom szczegółowości loga
„Default”: „Information” – definiuje domyślny poziom
„Override” – określa szczegółowe ustawienia logów dla paczek Microsoft oraz System, zapisywanie informacji na poziomie warning i wyżej, czyli error, fatal error.
- „Enrich”: [ „FromLogContext”, „WithMachineName”, „WithProcessId”, „WithThreadId” ] – określa schemat wpisów do dziennika logów. Zawiera następujące parametry:
„WriteTo” – definicja logów „Name”: „Console” – logi do konsoli „Name”: „File” – logi do pliku w formacie txt
„path”: „C:\\temp\\repository.txt” – lokalizacja w której będzie zapisywany log
„outputTemplate”: „{Timestamp:G} {Message}{NewLine:1}{Exception:1}” – format logów „Name”: „File” – logi do pliku w formacie json
„path”: „C:\\temp\\repository.json” – lokalizacja w której będzie zapisywany log
„formatter”: „Serilog.Formatting.Json.JsonFormatter, Serilog”
Włączenie protokołu WebSocket
Od wersji 2022.0.1 konieczne jest włączenie protokołu WebSocket. W tym celu należy wykonać następujące kroki:
1. w ramach pola wyszukiwania przy przycisku „Start” wpisać frazę „Włącz lub wyłącz funkcje systemu Windows” i kliknąć „Otwórz”
2. Następnie w oknie, które zostało otwarte, należy rozwinąć zawartość folderu „Internetowe usługi informacyjne”, później „Usługi WWW”, potem „Funkcje tworzenia aplikacji”, zaznaczyć checkbox przy folderze „Protokół WebSocket” i kliknąć przycisk .
Zostanie wówczas otwarte okno Funkcje systemu Windows, w ramach którego system dokona zapisu wprowadzonych zmian.
Gdy zmiany zostaną zapisane, informacja o tym zostanie wyświetlona w ramach okna. Należy wówczas zamknąć okno, klikając na przycisk .
3. Następnie należy otworzyć Menadżer Internetowych Usług Internetowych (IIS) i w środkowej części okna, w sekcji Zarządzanie kliknąć na ikonę Edytor konfiguracji, a następnie wybrać opcję Otwórz funkcję, znajdującą się po prawej stronie, w górnej części panelu Akcje.
4. Po wyborze opcji Otwórz funkcję w środkowej części Menedżera zostanie wyświetlony Edytor konfiguracji.
W polu Sekcja należy wyszukać na rozwijalnej liście sekcję system.webServer/webSocket, a następnie wybrać dla pola enabled wartość True. Następnie aby zapisać zmiany, wybierz opcję Zastosuj dostępną w ramach panelu Akcje po prawej stronie Menedżera.
5. Później należy ponownie uruchomić IIS, wybierając opcję Uruchom ponownie na panelu Akcje w ramach Menedżera IIS.
Dalsza konfiguracja Comarch DMS Repozytorium zostala opisana w artykulłach: Konfiguracja aplikacji WEB (nowej aplikacji web) do współpracy z modułem Repozytorium oraz Repozytorium – konfiguracja początkowa dla administratora