inPoint.CloudSync
inPoint.CloudSync is a service to synchronize documents saved in Microsoft Office 365 or Microsoft Teams with a counterpart archived in inPoint.
Configuration
For installing the msi have a look at the installation documentation.
The settings are defined in the file appsettings.json. All these settings are automatically filled by the setup.
Default: "C:\Program Files (x86)\HS Europe\inPoint.CloudSync\appsettings.json"
Full Sample
{
"O365": {
"Instance": "[O365_INSTANCE]",
"Tenant": "[O365_TENANT]",
"ClientId": "[O365_CLIENTID]",
"ClientSecret": "[O365_CLIENTSECRET]",
"ClientCertificate": "[O365_CLIENTCERT]",
"NotificationUrl": "[O365_NOTIFICATIONURL]"
},
"Urls": {
//"inPointCloudSync": "[CLOUDSYNCURL]",//default is to read from central registry (override only when needed)
//"inPointIdentity": "[IDENTITYURL]", //default is to read from central registry (override only when needed)
//"inPointCore": "[COREURL]" //default is to read from central registry (override only when needed)
},
"Host": {
"Certificates": {
"Default": {
"Path": "[CERTPATH]",
"Password": "[CERTPASSWORD]",
"Subject": "[CERTSUBJECT]",
"Store": "[CERTSTORE]",
"Location": "[CERTLOCATION]"
}
}
},
"Serilog": {
// https://github.com/serilog/serilog/wiki/Configuration-Basics
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"WriteTo": [
{
// https://github.com/serilog/serilog-sinks-file
"Name": "File",
"Args": {
"path": "c:\\temp\\inPoint.CloudSync_.log",
"fileSizeLimitBytes": 1000000000,
"retainedFileCountLimit": 21,
"rollingInterval": "Day",
"buffered": true,
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message}{NewLine}{Exception}"
}
}
]
}
}
O365 - Connect to Office 365
This section defines how the service will connect to Microsoft Azure AD (Microsoft O365 or Microsoft Teams). See the Connect to Office 365 in the installation documentation.
Instance
The instance of Azure AD.
Default: https://login.microsoftonline.com/{0}
Tenant
The tenant in Azure AD. This is a guid similar to this sample 5529cdf5-e60e-4945-9ad0-e13a5a6be8cb
. It' visible in the Application Details in Azure AD as well.
ClientId
The application ID of inPoint.CloudSync from registering it in Azure AD. It' visible in the Application Details in Azure AD as well.
ClientSecret
The client secret or password generated in Azure AD. If using ClientSecret, the value for ClientCertificate must be empty!
ClientCertificate
The client certificated in Azure AD, which has to be generated or installed on the server first. If using ClientCertificate, the value for ClientSecret must be empty!
NotificationUrl
If the server itself is not reachable from the internet, it's required to use some kind of proxy or forward to allow notifications from Microsoft to reach inPoint.CloudSync. The configured URL must forward all request to the installed service with the path /api/notification
at the end.
Urls - Connect to inPoint
This section defines how the service exposes itself and how it will connect to inPoint. See the Connect to inPoint in the installation documentation.
All the Urls can be empty, because they can be read from the registry.
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\HS Europe\Config\Urls
inPointCloudSync
This is the URL which the service will be using for itself.
inPointIdentity
The url to inPoint.Identity.
inPointCore
The url to inPoint.Core.
Host - SSL-Certificate
This section configures the ssl-certificate which is used for hosting the service. It can be configured using an certificate in the file-system or in the list of the user or computer certificates. See how to Configure the web-service in the installation documentation. For more details about certificates read here!
Serilog - Logging
inPoint.CloudSync uses a comprehensive structured logging system. The default is to log only warnings and errors to 'c:\temp\inPoint.CloudSync_YYYMMDD.log' (where 'YYYMMDD' is the current date).
For more details look at Serilog and the File sink
Logging levels
The MinimumLevel
configures the logging levels for all inPoint.Core systems;
Default
are the inPoint.Core application logsMicrosoft
are the internal Microsoft ASP.NET logsSystem
are the internal Microsoft .NET logs
Usually changing the Default
level (application logging) should be enough.
Available logging levels:
Level | Usage |
---|---|
Verbose | Verbose is the noisiest level, rarely (if ever) enabled for a production app. |
Debug | Debug is used for internal system events that are not necessarily observable from the outside, but useful when determining how something happened. |
Information | Information events describe things happening in the system that correspond to its responsibilities and functions. Generally these are the observable actions the system can perform. |
Warning | When service is degraded, endangered, or may be behaving outside of its expected parameters, Warning level events are used. |
Error | When functionality is unavailable or expectations broken, an Error event is used. |
Fatal | The most critical level, Fatal events demand immediate attention. |
Setting the logging level
When you need to analyse an issue you should:
- raise the MinimulLevel/Default from
Warning
toDebug
- change the WriteTo/RollingFile/buffered to
false
in order to immediately save to the log file (otherwise it's buffered and you'll have to stop the Service to see the latest logs)
NOTE: do not forget to restore to their original values as these settings will negatively impact performance!