MatrixProject Services 3.0

Let op:
De pagina beschrijft de oudere 3.0 versie. Voor de actuelere 4.0 versie ga naar 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 3.0 MatrixKozijn Project 3.0.

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

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.

MxPConfigurationTool

Opbouw MatrixProject Services

MatrixProject bestaat uit verschillende services.

De onderstaande afbeelding geeft een schematisch overzicht:

MatrixProject Services 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 NodeJs service wordt als een Windows service geregistreerd tijdens de installatie via 'node-windows'.

Configuratie

Standaard draait deze service op poort 1337.

De config.json in de map van de service configureert 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@127.0.0.1:27017/file-storage",
    "jwtPrivateKey": "bXg0ZXZlcg==",
        "migrate": {
            "direction": "up"
        }
  }
}

De configuratie bevat twee sectie. 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.
    Bij het gebruik van een "\" dient de door een "\" vooraf gegaan te worden om het teken te 'escapen'.
  • 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 met inlogt op de site van de service (http://iphost:port) dan wordt men doorverwezen naar een pagina die het laatste log toont.

Ook kunnen de logs eenvoudig bekeken 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.

NodeJS

Matrix.Drive en Matrix.MxProject.WorkStation.Web maken gebruik van NodeJS om de javascript server te draaien.
Zie ook: https://nodejs.org/

Minimaal vereist is 12.18.3 NodeJS kan door de setup van MatrixProject gedownload en geïnstalleerd worden.

De standaard installatie locatie is: %programfiles%\NodeJS

Matrix.MxProject.Web.Service

Service voor het afhandelen van verzoeken van de MatrixProject website (Matrix.MxProject.Web).

Configuratie

Standaard draait deze service op poort 8025.

In het bestand Matrix.MxProject.Web.Service.exe.config kan de configuratie opgegeven worden:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="license_server" value="127.0.0.1" />
    <add key="license_code" value="99999999" />
    <add key="user_database_connection" value="Data Source=127.0.0.1\MATRIX;Initial Catalog=MatrixKozijn;User ID=admin;Application Name=MxP" />
    <add key="timeout" value="600" />
    <add key="baseAddress" value="http://localhost:8025/Web/service" />
  </appSettings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Wijzig eventueel waardes in de appSettings sectie voor aangepaste 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

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.MxProject.Web

Matrix.MxProject.Web is een NodeJS server die een website voor onderdelen van MatrixProject beschikbaar stelt.

De NodeJs service wordt als een Windows service geregistreerd tijdens de installatie via 'node-windows'.

Configuratie

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

De poort en host kan eventueel in config.json in de map van de service aangepast worden.

{
  "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.Web 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.Web 1335 TCP" dir=in action=allow protocol=TCP localport=1335