Installation
There are two ways to run the webhook connector:
- In a Docker container
- As a Windows service
Hosting
Windows Service
The best course of action it to use the installation center to deploy the webhook connector.
Docker
Arguably the easiest way to instantiate the webhook connector is by running it in a Docker container. The image is available on Docker Hub.
To get the image locally, run the following command:
docker pull dimesoftware/dimescheduler-webhook
To start a container, run the following command:
docker run -it -d dimesoftware/dimescheduler-webhook:initial "ServiceBusSettings__ConnectionStrings__0__Value"="{CONNSTRING}" "ServiceBusSettings__ConnectionStrings__1__Value"="{CONNSTRING}"
See the next section for the explanation of the parameters and which values you should use in the placeholders.
Configuration
The service bus connectivity ensures the link between Dime.Scheduler and its plugins. Every modification to an appointment is published to the service bus, which in turn broadcasts the message to the subscribed plugins.
The configuration of the service bus is done in the "ServiceBusSettings" element of the appsettings.json
file. In essence, most of the values need to correspond to the configuration of Dime.Scheduler and the service bus. This is necessary in order to let these separate applications talk to each other.
The default communication mechanism is SQL. This setup assumes the plugins are installed on the same machine as the planning application.
"ServiceBusSettings": {
"PersistenceType": "SQL",
"TransportType": "SQL",
"TransportTransactionMode": "TransactionScope",
"EndPointName": "Dime.Scheduler.Exchange",
...
}
If you want to use the defaults, this is all you need to do. However, if you use Azure Service Bus or any other medium as the communication mechanism, you need to supply additional information like connection strings:
"ConnectionStrings": [
{
"Name": "Persistence",
"Value": "Endpoint=sb://dstestsb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=nwz1HwDizTs/qPi4W0zn87E36lk+JqAfwb+w+/4NihE="
},
{
"Name": "Transport",
"Value": "Endpoint=sb://dstestsb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=nwz1HwDizTs/qPi4W0zn87E36lk+JqAfwb+w+/4NihE="
}
]