🔨 Integracija in konfiguracija

Vrste uporabnikov in vloge

Uporabniki

Vrsta Opis
None Prijava v sistem ni mogoča
User Uporabniki, katerim je omogočena interaktivna prijava v sistem
Service Storitve, ki komunicirajo z aplikacijo preko HTTP. Interaktivna prijava v sistem ni mogoča. Storitve pošljejo informacijo o prijavi ob vsakem zahtevku v obliki Basic ali Negotiate avtorizacijskega zaglavja
Application Aplikacija VegeLine, ki vzpostavi začetno varno povezavo s strežnikom.

Vloge

Vloga Opis
None Brez kakršnikoli pravic
View Pravice za ogled podatkov
Modify Pravice za spreminjanje podatkov
Admin Pravice za upravljanje sistema preko namizne in nadzorniške aplikacije

Statična konfiguracija VegeLine

Pred prvim zagonom je potrebno strežniški sistem VegeLine pravilno konfigurirati. Konfiguracija se nahaja v poti “C:\isuv\system\config\” in sicer v glavni datoteki isuv.config.json. V naslednjih tabelah so opisani konfiguracijski parametri.

❗ Vse spremenljivke so občutljive na velike in majhne črke! Bodite pozorni pri spreminjanju ali posodabljanju kofiguracije.

Osnovna konfiguracija

Nastavitev Privzeta vrednost Tip Obvezen Zaloga vrednosti Opis
LogLevel “INFO” string “TRACE”,“INFO”,“WARN”,“ERROR” Nivo beleženja v datoteke .log. V primeru iskanja napak uporabite TRACE, v nasprotnem primeru pa INFO
LogShowFile false bool Izpis datoteke izvorne kode, v kateri je prišlo do zapisa v log
LogShowLine true bool Izpis vrstice datoteke izvorne kode, v kateri je prišlo do zapisa v log
LogShowFunction true bool Izpis funkcije programa v kateri je prišlo do zapisa v log
DataRoot “D:/isuv/data” pot Pot na datotečnem sistemu do podatkov, ki jih producira sistem VegeLine
WorkRoot “D:/isuv/work” pot Pot na datotečnem sistemu do odlaganja začasnih podatkov, ki se samodejno odstranijo po koncu delovanja programa
IsuvDatabase url MSSQL Server Connection string do podatkovne baze, kot ga vidi strežnik VegeLine
IsuvRemoteDatabase url MSSQL Server Connection string do podatkovne baze, kot ga vidi namizna aplikacija VegeLine
DatabaseDriver “Driver={ODBC Driver 17 for SQL Server}” string ODBC Driver za povezavo do baze MSSQL
DeploymentTier “PROD” string “LOCL”,“DEV”,“TEST”,“PROD” Okolje delovanja aplikacije. TEST=Testno okolje, PROD=Produkcijsko okolje
ProxyUrl https://vegeline.eles.si/services" url Proxy naslov strežniških storitev. Potrebno za pravilno generiranje povezav storitev WMS
ManagementAppBaseEndpoint “/” string Bazični naslov nadzorniške spletne aplikacije
ManagementAppUrl https://vegeline.eles.si/management/" url Naslov nadzorniške spletne aplikacije
DocumentationUrl https://vegeline.eles.si/docs/" url Naslov spletne strani dokumentacije VegeLine
WfsXmlNamespace http://sheme.eles.si/vegeline/2022/veg" url Imenska pot za veg, ki se uporablja pri storitvah WFS.
SecurityPackage “Negotiate” string “Negotiate”, “Kerberos”, “NTLM” Varnostni paket za avtentikacijo uporabnikov
BasicAuthentication true bool Uporaba osnovne HTTP avtentikacije
NegotiateAuthentication false bool Uporaba avtentikacije Negotiate
IdentityProviders array Konfiguracija ponudnikov identitet uporabnikov za sistem VegeLine
MxConnection object Konfiguracija dostopa do storitev MXTVEGETACIJA
EmailNotifier object Konfiguracija obveščanja uporabnikov v primeru napak
LidarDataSources array Konfiguracija podatkovnih virov snemanja lidar

Ponudniki identitet

Sistem VegeLine podpira različne ponudnike identitet za postavitev sistema v različna okolja. IdentityProviders je spremenljivka tipa polje (array), v katerem so navedeni različni ponudniki identitet. Vsebina ponudnika identitete se razlikuje glede na vrsto. Možen je vnos več ponudnikov istega tipa. V spodnji tabeli so opisane skupne lastnosti vseh ponudnikov.

Nastavitev Privzeta vrednost Tip Obvezen Zaloga vrednosti Opis
name string Ime ponudnika identitete. To ime se prikaže v obeh aplikacijah in mora bit unikatno
type string “Internal”, “ActiveDirectory”, “Windows” Vrsta ponudnika identitete
enabled true bool Omogoči uporabo ponudnika identitete

Ponudnik identitete: type=“Internal”

Interni ponudnik identitete, ki omogoča enostavno uporavljanje s statičnimi uporabniki sistema in se jih skonfigurira kar znotraj konfiguracijske datoteke. V objekt internalIdentityProvider vstavite seznam uporabniških računov accounts, kot prikazuje spodnji primer:

{
    "name": "Administratorji",
    "type": "Internal",
    "enabled": true,
    "internalIdentityProvider": {
        "accounts": [
            {
            "uid": "F3306CCB-5924-4073-ADD2-CAF9EBAABEA2",
            "loginName": "admin",
            "fullName": "Skrbnik VegeLine",
            "email": "",
            "passwordSha256": "<geslo>",
            "userRole": "Admin",
            "userType": "User"
            }
        ]
    }
}
Nastavitev Privzeta vrednost Tip Obvezen Zaloga vrednosti Opis
uid GUID Unikatni ID v obliki “4e107281-2514-4efa-bc63-89b3fb6919d5”
loginName string Uporabniško ime za prijavo
fullName string Ime in priimek uporabnika
email string E-pošta uporabnika. Za pošiljanje obvestil
passwordSha256 string Geslo uporabnika kot ključ SHA-256
userRole string “None”, “View”, “Modify”, “Admin” Nabor pravic uporabnika. Več informacij najdete v Vloge
userType string “None”, “User”, “Service”, “Application” Nabor pravic uporabnika. Več informacij najdete v Uporabniki
🗒️ Nov GUID lahko enostavno zgenerirate v powershell s spodnjim ukazom
New-Guid

Izpis:

Guid
----
4e107281-2514-4efa-bc63-89b3fb6919d5
🗒️ Interni ponudniki se uporabljajo zgolj za povezovanje s sistemi, ki ne podpirajo kompliciranih avtorizacijskih mehanizmov (na primer: spletne storitve, kot je MXTVEGETACIJA in ostali HTTP API-ji)

Ponudnik identitete: type=“ActiveDirectory”

Ponudnik identitete ActiveDirectory, ki preko protokola LDAP dostopa do informacij domenskih uporabnikov. , ki omogoča enostavno uporavljanje s statičnimi uporabniki sistema in se jih skonfigurira kar znotraj konfiguracijske datoteke. V objekt activeDirectoryIdentityProvider skonfigurirate dostop do AD in podate filter za iskanje uporabnikov, ko je prikazano spodaj:

{
    "name": "Aktivni imenik",
    "type": "ActiveDirectory",
    "enabled": true,
    "activeDirectoryIdentityProvider": {
        "searchBase": "LDAP://SRV-DC3.Eles.si/DC=Eles,DC=si",
        "searchFilter": "(memberOf=CN=VEGELINE - Uporabniki,OU=VEGETACIJA,OU=resource,OU=ELES_Skupine,DC=Eles,DC=si)",
        "serviceUser": null,
        "servicePassword": null
    }
}
Nastavitev Privzeta vrednost Tip Obvezen Opis
searchBase string Naslov LDAP do aktivnega imenika
searchFilter null string Filter za iskanje uporabnikov. Če je null, potem je dostop omogočem vsem uporabnikom domene. Privzete pravice uporabnikov so “View”
serviceUser null string Uporabniški račun za dostop do AD v kolikor se sistem VegeLine izvaja pod nedomenskim uporabnikom. V primeru izvajanja VegeLine pod domenskim uporabnikom ali SYSTEM pustite to polje null
servicePassword null string Geslo uporabniškega računa za dostop do AD v kolikor se sistem VegeLine izvaja pod nedomenskim uporabnikom. V primeru izvajanja VegeLine pod domenskim uporabnikom ali SYSTEM pustite to polje null

Povezava z IBM Maximo (MxConnection)

Nastavitve dostopa do MXTVEGETACIJA v namen odpiranja delovnih nalogov in opravil posegov v vegetacijo in omejitev. Primer konfiguracije je prikazan spodaj in je del objekta MxConnection v okolju PROD:

{
    "enabled": true,
    "server": "https://podpora.eles.si",
    "oslcEndpoint": "/maximo/oslc/os/mxtvegetacija",
    "oslcDomainsEndpoint": "/maximo/oslc/os/mxtvegetacija/domains",
    "username": "<uporabnik>",
    "password": "<geslo>",
    "useFormBasedAuthentication": true
}
Nastavitev Privzeta vrednost Tip Obvezen Opis
enabled false bool Omogoči integracijo z MXTVEGETACIJA
server url Pot do strežnika MX
oslcEndpoint string Pot do vmesnika OSLC mxtvegetacija brez naslova strežnika
oslcDomainsEndpoint string Pot do vmesnika OSLC domen mxtvegetacijadomains brez naslova strežnika
username string Uporabniško ime s pravicami za dostop in vstavljanjem novih DN in opravil preko MXTVEGETACIJA
password string Geslo uporabnika s pravicami za dostop in vstavljanjem novih DN in opravil preko MXTVEGETACIJA
useFormBasedAuthentication bool Omogoči prijavo v IBM Maximo preko naslova namesto glave HTTP (Authenticate). Uporabniško ime in geslo se preneseta v URL preko parametrov j_username in j_password

Obveščanje v primeru napak (EmailNotifier)

Nastavitve poštnega predala za obveščanje uporabnikov v primeru napak v delovanju sistema VegeLine. Primer konfiguracije je prikazan spodaj in je del objekta EmailNotifier:

{
  "enabled": true,
  "ssl": false,
  "recipients": ["admin"],
  "senderMail": "vegeline@eles.si",
  "senderUsername": "",
  "senderPassword": "",
  "serverUrl": "smtp://relay.eles.si:25"
}

Za pošiljanje emailov se uporablja program curl.exe, ki je del operacijskega sistema.

Nastavitev Privzeta vrednost Tip Obvezen Opis
enabled true bool Omogoči pošiljanje obvestil
ssl true bool Omogoči SMTPS
recipients array Seznam uporabniških računov, ki prejmejo email
senderMail string Email naslov pošiljatelja
senderUsername string Uporabniški račun epoštnega predala iz katerega se pošilja pošta. Lahko je prazen niz
senderPassword string Geslo uporabnika epoštnega predala iz katerega se pošilja pošta. Lahko je prazen niz
serverUrl url Povezava SMTP do poštnega predala

Konfiguracija podatkovnih virov lidar (LidarDataSources)

Nastavitve podatkovnih virov snemanja lidar v obliki seznama. Primer konfiguracije najdemo spodaj.

[
  {
    "name": "Default",
    "type": "FileSystem",
    "rootPath": "C:\\isuv-dev\\data\\lidar",
    "scanRecursively": false,
    "readOnly": false,
    "enabled": true
  }
]
Nastavitev Privzeta vrednost Tip Obvezen Opis
name string Ime podatkovnega vira, ki se prikaže zraven posnetkov v aplikacijah. Ime mora bit enolično in se ne sme ponavljati pri ostalih podatkovnih virih.
type FileSystem string Vrsta podatkovnega vira. Trenutno je podprt samo FileSystem.
rootPath string Pot na datotečnem sistemu do imenika podatkov snemanj. Pot je lahko tudi skupna raba.
scanRecursively bool Vključi datoteke snemanj, ki so v podmapah
readOnly bool Označi podatkovni vir kot samo za branje. V tem primeru se spremembe podatkov snemanj vodijo v posebej mapi interno na sistemu, kjer je potrebno zagotoviti dovolj prostora.
enabled bool Omogoči uporabo podatkovnega vira

Primer celotne konfiguracije za PROD (brez gesel)

{
  "LogLevel": "INFO",
  "LogShowFile": false,
  "LogShowLine": true,
  "LogShowFunction": true,
  "DataRoot": "D:/isuv/data/",
  "WorkRoot": "D:/isuv/work/",
  "IsuvDatabase": "",
  "IsuvRemoteDatabase": "",
  "DatabaseDriver": "Driver={ODBC Driver 17 for SQL Server}",
  "DeploymentTier": "PROD",
  "ProxyUrl": "https://srv-vegetacija.eles.si/services",
  "ManagementAppBaseEndpoint": "/management/",
  "ManagementAppUrl": "https://srv-vegetacija.eles.si/management/",
  "DocumentationUrl": "https://srv-vegetacija.eles.si/docs/",
  "WfsXmlNamespace": "http://sheme.eles.si/vegeline/2022/veg",
  "SecurityPackage": "Negotiate",
  "BasicAuthentication": true,
  "NegotiateAuthentication": true,
  "IdentityProviders": [
    {
      "name": "Administratorji",
      "type": "Internal",
      "enabled": true,
      "internalIdentityProvider": {
        "accounts": [
          {
            "uid": "F3306CCB-5924-4073-ADD2-CAF9EBAABEA2",
            "loginName": "admin",
            "fullName": "Skrbnik VegeLine",
            "email": "",
            "passwordSha256": "3275cec913b9389c9e535d5cec369397d2795b2539f2fe9f0af210636fd4fa82",
            "userRole": "Admin",
            "userType": "User"
          }
        ]
      }
    },
    {
      "name": "Aktivni imenik",
      "type": "ActiveDirectory",
      "enabled": true,
      "activeDirectoryIdentityProvider": {
        "searchBase": "LDAP://SRV-DC3.Eles.si/DC=Eles,DC=si",
        "searchFilter": "(memberOf=CN=VEGELINE - Uporabniki,OU=VEGETACIJA,OU=resource,OU=ELES_Skupine,DC=Eles,DC=si)",
        "serviceUser": null,
        "servicePassword": null
      }
    },
    {
      "name": "Računi zunanjih storitev",
      "type": "Internal",
      "enabled": true,
      "internalIdentityProvider": {
        "accounts": [
          {
            "uid": "2c6c21f0-fcd7-407d-a8dd-92e157d33771",
            "loginName": "MXTVEGETACIJA",
            "fullName": "Storitve VegeLine za IBM Maximo",
            "email": "",
            "passwordSha256": "a5f47a3ed19ef3e78b4b81a74fc87f0146baa888b7f463c37df9b5be8d8e46b5",
            "userRole": "Modify",
            "userType": "Service"
          }
        ]
      }
    }
  ],
  "MxConnection": {
    "enabled": true,
    "server": "https://podpora.eles.si",
    "oslcEndpoint": "/maximo/oslc/os/mxtvegetacija",
    "oslcDomainsEndpoint": "/maximo/oslc/os/mxtvegetacija/domains",
    "username": "<uporabnik>",
    "password": "<geslo>",
    "useFormBasedAuthentication": true
  },
  "EmailNotifier": {
    "enabled": true,
    "ssl": false,
    "recipients": ["admin"],
    "senderMail": "vegeline@eles.si",
    "senderUsername": "",
    "senderPassword": "",
    "serverUrl": "smtp://relay.eles.si:25"
  },
  "LidarDataSources": [
    {
      "name": "Interni prostor",
      "type": "FileSystem",
      "rootPath": "C:\\isuv\\data\\lidar",
      "scanRecursively": false,
      "readOnly": false,
      "enabled": true
    },
    {
      "name": "LIDAR_2021",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2021",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    },
    {
      "name": "LIDAR_2020",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2020",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    },
    {
      "name": "LIDAR_2018",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2018",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    },
    {
      "name": "LIDAR_2017",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2017",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    },
    {
      "name": "LIDAR_2016",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2016",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    },
    {
      "name": "LIDAR_2013",
      "type": "FileSystem",
      "rootPath": "\\\\eles.si\\apl\\GMSpodatki\\LIDAR_2013",
      "scanRecursively": true,
      "readOnly": true,
      "enabled": true
    }
  ]
}

TaskScheduler

Za samodejo replikacijo podatkov je potrebno v upravitelja opravil vstavit vnos za aplikacijo. To storimo tako da v upravitelja opravil uvozimo konfiguracijo (xml), ki se nahaja pod “C:\isuv\taskscheduler\VegeLine Replicator.xml”. Rezultat je prikazan na sliki spodaj: