MatrixProject Services 4.0

Deze pagina beschrijft MatrixProject en de services voor MatrixProject (waaronder Matrix.Drive).
Deze pagina is van toepassing voor MatrixMetaal Project versie 4.0 MatrixKozijn Project 4.0.

Voor de services van MatrixKozijn Project MES zie:
MES & Matrix.Drive 4.0

Configuratie Tool

Vanaf MatrixProject 3.0 Service pack 2 is er een Configuratie Tool beschikbaar om de service in te richten, te starten en de logs te bekijken.
Kies in de Configuratie Tool voor Wizard Configuraie om een wizard te starten die u begeleid in een aantal stappen bij de configuratie.

MatrixProject_ConfiguratieTool_40.png

Opbouw MatrixProject Services

MatrixProject bestaat uit verschillende services.

De onderstaande afbeelding geeft een schematisch overzicht:

MatrixProject ServicesMxP_Services_40.png diagram
MatrixProject Services diagram

Services van MatrixProject:

Matrix.Drive.Server

Matrix.Drive.Server is een NodeJS server die het documentenbeheer via Matrix.Drive regelt. Deze vervangt het documentenbeheer in MatrixProject 2.4.

De service Drive.exe wordt als een Windows service geregistreerd tijdens de installatie via 'NssM'.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server of Configuratie MatrixMetaal Project Services 4.0 Server).

Standaard draait deze service op poort 1337.

De configuratie wordt ook opgeslagen in het bestand config.json in de map van de service:

{
  "production": {
    "config_id": "production",
    "port": 1337,
    "host": "0.0.0.0",
    "file_storage_location": "c:\\Matrix\\MatrixDrive",
    "backups_location": "c:\\Matrix\\MatrixDrive_BAK",
    "mongo_tools_location": "c:\\Program Files\\MongoDB\\Server\\4.2\\bin",
    "database_connection": "mongodb://matrix_drive:mx4ever@localhost:27017/file-storage",
    "jwtPrivateKey": "bXg0ZXZlcg==",
    "cloud": [
      {
        "id": "mxk",
        "host": "http://publichostname",
        "port": 2000
      }
    ],
        "migrate": {
            "direction": "up"
        }
  }
}

De configuratie bevat twee secties. Standaard wordt de sectie production gebruikt.

Wijzig eventueel waardes in de production sectie voor aangepaste instellingen:

  • port
    De poort waarop de service bereikt kan worden.
  • host
    De host waarop de Matrix.Drive service bereikt kan worden.
  • file_storage_location
    De locatie waar de bestanden worden opgeslagen. Deze kan aangepast worden naar een andere locatie.
    UNC paden (https://en.wikipedia.org/wiki/Path_(computing)#UNC) zijn toegestaan.
    Bijvoorbeeld: 
    \\ComputerName\SharedFolder\Resource
    

    Het account waaronder de Matrix.Drive.Server draait dient voldoende rechten te hebben op de opgegeven locatie om bestanden te schrijven (Modify).
    Het is aan te raden een netwerk share te gebruiken waar de service toegang tot heeft, maar normale gebruikers niet.
    Belangrijk: Gebruik geen drive mappings/redirected drives maar altijd een volledige verwijzing naar een netwerk share of een lokale map (zie ook: https://docs.microsoft.com/en-us/windows/win32/services/services-and-redirected-drives).
    Bij het gebruik van een "\" dient de door een "\" vooraf gegaan te worden om het teken te 'escapen'.
    Voor het aanpassen van het account waaronder de service draait zie: Matrix.Drive.Server service account
  • backups_location
    De locatie waar de backups worden weggeschreven
  • mongo_tools_location
    Locatie naar de tools bestanden van MongoDB
  • database_connection
    Database verbinding naar MongoDB database. De gebruiker matrix_drive met wachtwoord mx4ever is tijdens de installatie aangemaakt.
  • jwtPrivateKey
    Een sleutel (https://jwt.io/) om de gebruiker te versleutelen

Foutopsporing

De Matrix.Drive.service service schrijft zijn logs in de map log binnen de installatiemap van de service.
Indien men inlogt op de site van de service (http://iphost:port) dan wordt men doorvewezen naar een pagina die het laatste log toont.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

MongoDB

Matrix.Drive maakt gebruik van MongoDB om de objecten op te slaan in een Object database.
Zie ook: https://www.mongodb.com/download-center/community

Minimaal vereist is mongodb-win32-x86_64-2012plus-4.2.5-signed. MongoDB  (Community Edition) kan door de setup van MatrixProject gedownload en geïnstalleerd worden. Eventueel kan MongoDB handmatig geïnstalleerd worden door deze te downloaden via de volgende link: https://downloads.matrix-software.biz/misc/MongoDB/mongodb-win32-x86_64-2012plus-4.2.5-signed.msi.

De standaard installatie locatie is: %programfiles%\MongoDB\Server\4.2.

Standaard draait deze service op poort 27017.

Met het bestand mongod.cfg in %programfiles%\MongoDB\Server\4.2\bin kan MongoDB geconfigureerd worden.

Matrix.MxProject.Web.Service

Service voor het afhandelen van verzoeken van de MatrixProject website (Matrix.Project.Server).

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server of Configuratie MatrixMetaal Project Services 4.0 Server).

Standaard draait deze service op poort 8025.

De configuratie wordt ook opgeslagen in het bestand Matrix.MxProject.Web.Service.exe.json:

{
  "baseAddress": "http://0.0.0.0:8025/Web/service",
  "license_server": "localhost",
  "license_code": "99999999",
  "user_database_connection": "Data Source=127.0.0.1\MATRIX;Initial Catalog=MatrixKozijn;User ID=admin;Application Name=MxP",
  "timeout": 600
}

Instellingen:

  • baseAddress
    Het adres en poort waarop de service draait. Standaard draait deze service op poort 8025 op localhost.
    Wanneer deze poort/host aangepast wordt dient deze ook in Matrix.MxProject.Web (waarde voor API) aangepast te worden.
  • license_server
    De licentie server voor het ophalen van de licentie. Zie ook Licenties.
    De volgende modules bepalen de functionaliteit van de MatrixProject Website: Tijdreg Mobiele website, Tijdreg - Full, CRM en Projecten Lite.
  • license_code
    De code (licentienummer) van de te gebruiken licentie
  • user_database_connection
    Database verbinding naar de MatrixProject database. Geef een gebruiker op met permissies in de MatrixProject database.
  • timeout
    Timeout in seconden voor de service
Let op: Het is van belang dat de licentie de juiste Technische modules bevat voor het gebruik van onderdelen in de Website.
221 (TijdReg - Mobile Website), 434 (TijdReg - Lite) en 436 (TijdReg - Full) voor de tijdregistratie
451 (CRM - Basis) voor CRM
452 (Projecten - Lite) en 460 (Projecten - Full) voor Projectbeheer
463 (CRM - Gebeurtenissen) voor Service

Foutopsporing

De service schrijft meldingen en fouten naar het Windows Aplication eventlog.
Zoek naar de bron Matrix.MxProject.Web.Service.

Ook kunnen de logs eenvoudig bekeken worden via de Configuratie Tool.

Matrix.Project.Server

Matrix.Project.Server is een NodeJS server die een website voor onderdelen van MatrixProject beschikbaar stelt.

De service MxPWeb.exe wordt als een Windows service geregistreerd tijdens de installatie via 'NssM'.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server of Configuratie MatrixMetaal Project Services 4.0 Server).

De website draait bij een standaard installatie op poort 1335 op de machine waar de service is gestart.

De configuratie wordt ook opgeslagen in het bestand config.json in de map van de service:

{
  "host": "localhost",
  "port": 1335,
  "api": "http://localhost:8025/Web/service",
  "certificate": "",
  "private_key": ""
}
  • host
    De host of het IP-adres waarop de website draait
  • port
    De poort waarop de website draait
  • api
    De verwijzing naar de Matrix.MxProject.Web.Service
    Wanneer de Matrix.MxProject.Web.Service op een ander IP-adres draait (dan localhost) of op een andere poort draait (dan 8025) dan dient de locatie naar Matrix.MxProject.Web.Service aangepast te worden
    Voorbeeld wanneer de Matrix.MxProject.Web.Service draait op 192.168.100.10:8004:
    "api": "http://192.168.100.10:8004/Web/service"
  • certificate
    Certificaat voor het draaien van de website als https
  • private_key
    Private key voor het certificaat

Foutopsporing

De Matrix.MxProject.Web service schrijft eventuele details over fouten naar het bestand "\Matrix\MatrixProject Services\Matrix.MxProject.Web\daemon\matrixmxprojectweb.err.log".

Ook kan het log van de service zelf eenvoudig bekeken worden via de Configuratie Tool.

Firewall

Indien de services van MatrixProject vanaf andere locaties benaderd worden is toegang via de firewall nodig.

Bij standaard instellingen draaien de services op de volgende poort. Zorg dat deze poorten geopend zijn (inbound) in de firewall:

  • Matrix.Drive.Server: poort 1337 TCP
  • Matrix.MxProject.Web.Service poort 8025 TCP
  • Matrix.Project.Server poort 1335 TCP

De setups van MatrixProject voegen bij het installeren van de services automatisch uitzonderingen toe aan de Windows firewall voor de standaard configuratie.
Bij gebruik van een andere firewall, dan de Windows firewall, dienen uitzonderingen toegevoegd te worden aan deze Firewall door systeembeheer.

Wordt gebruik gemaakt van de Windows Firewall dan kunnen de Firewall regels ook eenvoudig toegevoegd worden via de Nestsh.exe app van Microsoft.
Het onderstaande script voegt de Firewall regels toe via de Netsh.exe app:

netsh advfirewall firewall add rule name="Matrix.Drive.Server 1337 TCP" dir=in action=allow protocol=TCP localport=1337
netsh advfirewall firewall add rule name="Matrix.MxProject.Web.Service 8025 TCP" dir=in action=allow protocol=TCP localport=8025
netsh advfirewall firewall add rule name="Matrix.Project.Server 1335 TCP" dir=in action=allow protocol=TCP localport=1335