You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -27,6 +29,8 @@ The <b>Learnweb Notifier Service</b> monitors your Learnweb courses and notifies
27
29
### General
28
30
Learnweb Notifier retrieves your Learnweb courses regularly and notifies you as soon as there is a new activity in the course, which eliminates tedious manual retrieval of courses for new content. The service runs as a server app on all common operating systems and can be deployed manually or as a Docker container. To run the service, a Learnweb SSO account of the University of Münster is required.
29
31
32
+
<br/>
33
+
30
34
### Modules
31
35
32
36
The service is divided into separate modules. The purpose of the individual modules is explained below.
@@ -38,13 +42,19 @@ The library is the core of the service. It provides basic functionality for the
38
42
This module provides unit tests and test resources for the service and can be used to test the service.
39
43
40
44
#### LearnwebNotifier.Push
41
-
This module implements the library and provides a universal worker service that regularly checks courses and sends push notifications using Pushover.
45
+
This module implements the library and provides a universal worker service that regularly checks courses and sends push notifications using Pushover. The following installation instructions focus on the installation of this module.
46
+
47
+
<br/>
42
48
43
49
### Requirements for Courses
44
-
To retrieve the latest activities of a course, the "Recent Activities" widget is used, which is usually embedded in the course page. In order for the service to be able to retrieve activities for a course, the widget must be embedded in the course page, otherwise the service will not work for the course!
50
+
To retrieve the latest activities of a course, the "Recent Activities" widget is used, which is usually embedded in the course page. In order for the service to be able to retrieve activities for a course, the widget must be embedded in the course page, otherwise, the service will not work for the course!
51
+
52
+
<br/>
45
53
46
54
### Client Notifications (Push)
47
-
In this current version, notifications of new activities are sent to your mobile phone as push notifications. This is currently implemented by [Pushover](https://pushover.net/), which is a push service for custom push messages on iOS, Android and desktop. To receive notifications in the current version, a pushover account and the correspondingly installed app is required. Please note that the Pushover service requires a one-time license payment of $5.00. A separate client for receiving and managing activities is planned for future versions of the Learnweb Notifier Service.
55
+
In this current version, notifications of new activities are sent to your mobile phone as push notifications. This is currently implemented using [Pushover](https://pushover.net/), which is a push service for custom push messages on iOS, Android, and Desktop. To receive notifications in the current version, a Pushover account and the correspondingly installed app is required. Please note that the Pushover service requires a one-time license payment of $5.00. A separate client for receiving and managing activities is planned for future versions of the Learnweb Notifier Service.
56
+
57
+
<br/>
48
58
49
59
### Course Activities
50
60
The service retrieves activities from courses and notifies you of new activities. Below you will find the types of activities currently supported.
@@ -57,38 +67,46 @@ Every first-level activity in courses, for example ...
57
67
* Deletion of files/folders/...
58
68
* ...
59
69
60
-
#### Non-Supported Activities
70
+
#### Currently Non-Supported Activities
61
71
Second-level activities, for example ...
62
72
* Activities inside folders
63
73
* Assignment upload confirmations
64
74
* Forum posts and updates (covered by Learnweb notifications)
65
75
* ...
66
76
67
-
## Setup & Installation (Push)
68
-
> Note: Since the service is mainly developed for Linux as a target system, the following installation instructions and software binaries are only available for Linux (using Debian 9 as an example) at this time
77
+
<br/>
78
+
79
+
## Setup & Installation
80
+
>:rocket: The following installation instructions focus on the installation of the LearnwebNotifier.Push module
81
+
82
+
>Note: Since the service is mainly developed for Linux as a target system, the following installation instructions and software binaries are only available for Linux (using Debian 9 as an example) at this time
69
83
70
84
### System Requirements
71
85
* OS: Linux (e.g. Debian)
72
86
The service can run on virtually any host. For example, you can use a vServer instance or a Raspberry Pi!
1. Go to [Pushover](https://pushover.net/) and create an account, if not already existing
80
94
2. You have to register an application to receive notifications; just follow [this documentation](https://pushover.net/api#registration) to do so
81
-
3. After you created an acount and registered an application, you will receive an `User Key` and `Application API Token`, which will be used later on
82
-
4. Download the Pushover App on your desired devices and log-in with your account
95
+
3. After you created an account and registered an application, you will receive a `User Key` and `Application API Token` which will be used later on
96
+
4. Download the Pushover app on your desired devices and log-in with your account
97
+
98
+
<br/>
83
99
84
100
### Install with Docker
85
-
> Support for Docker coming soon! Please install manually
101
+
>:rocket: Support for Docker coming soon! Please install manually
102
+
103
+
<br/>
86
104
87
105
### Manual Installation
88
106
We recommend installing the service with Docker, but the service can also be installed manually. Just follow the steps below.
89
107
90
108
#### Install .NET Core
91
-
The service requires .NET Core 3.1 runtime. Refer to [this documentation](https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-debian9) to learn how to install .NET Core on your system. Below is an example of installing the runtime on Debian 9. Execute the commands in the given order to install the runtime.
109
+
The service requires .NET Core 3.1 runtime. Refer to [this documentation](https://docs.microsoft.com/en-us/dotnet/core/install/linux) to learn how to install .NET Core on your system. Below is an example of installing the runtime on Debian 9. Execute the commands in the given order to install the runtime.
92
110
93
111
```bash
94
112
sudo apt-get update
@@ -97,19 +115,47 @@ sudo apt-get update
97
115
sudo apt-get install dotnet-runtime-3.1
98
116
```
99
117
100
-
#### Copy Binaries
118
+
#### Download Binary
101
119
102
-
Head over to the [Releases](https://github.com/passlickdev/learnweb-notifier/releases) and download the latest compiled version. Copy the whole content to a folder of your choice (e.g. your home directory) on your host system and make sure to do this as a non-root user.
120
+
Head over to the [Releases](https://github.com/passlickdev/learnweb-notifier/releases) and download the latest compiled version for your system. Copy the binary file to a folder of your choice (e.g. your home directory) on your host system.
103
121
104
122
#### Run the Service
105
123
106
-
Change into the directory in which you copied the binaries and run ``dotnet lwnotif-push.dll``. Follow the steps of the Configuration Assistant at the first start of the service to create a config file. After the setup routine, restart the service with the previous command. You are good to go!
124
+
>:warning: Please run the service as a non-root user!
125
+
126
+
Change into the directory in which you copied the binary file and execute the binary. Follow the steps of the assistant at the first start of the service to create a config file. After the setup routine, restart the service. You are good to go!
127
+
128
+
```bash
129
+
./lwnotif-push
130
+
```
107
131
108
132
It is recommended to run the service in a separate [screen](https://linuxize.com/post/how-to-use-linux-screen/) session. You can also set up the service as a systemd daemon after creating a config file.
109
133
134
+
<br/>
135
+
136
+
### Configuration
137
+
138
+
The assistant guides you through the setup of the service and creates a config file which is necessary to run the service. This file contains information about your Learnweb login, the monitored courses, and your Pushover data.
139
+
140
+
#### Assistant Execution
110
141
142
+
The assistant is executed if no config file is found (e.g. when the service is executed for the first time). If data needs to be changed, you can use the `--config` flag when starting the push service to force execution.
111
143
144
+
```bash
145
+
./lwnotif-push --config
146
+
```
147
+
148
+
#### Optional Settings
149
+
150
+
Some settings are not covered by the assistant. These settings can be configured using the config file located in the working directory of the push service.
112
151
152
+
##### Refresh Interval
153
+
The duration of the refresh interval can be configured by changing the `refresh` value in the section `service`. The value is specified in minutes (default is five minutes).
154
+
155
+
##### Sentry Integration
156
+
The push service supports log collection and error monitoring with Sentry. To activate Sentry, set the `activate` value to `true` and enter the Sentry DSN in `dsn` inside the `sentry` section.
157
+
158
+
<br/>
113
159
114
160
## Licensing
115
161
@@ -119,13 +165,12 @@ Licensed under the **GNU General Public License v3.0** (the "License"); you may
119
165
120
166
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the [LICENSE](./LICENSE) for the specific language governing permissions and limitations under the License.
121
167
122
-
This project is neither developed by the University of Münster, nor is it related to it. The software uses inofficial ways to retrieve the required data, which could lead to account suspensions. The software is used at your own risk!
123
-
168
+
This project is neither developed by the University of Münster nor is it related to it. The software uses inofficial ways to retrieve the required data, which could lead to account suspensions. The software is used at your own risk!
0 commit comments