From 4fc18169bd0c7379b68e14b84c5974d79cbbf8fa Mon Sep 17 00:00:00 2001 From: Nico Passlick Date: Mon, 17 Aug 2020 16:04:08 +0200 Subject: [PATCH 1/4] Changes to README --- .github/FUNDING.yml | 2 +- .github/RESOURCES/logo.png | Bin 0 -> 9024 bytes .github/RESOURCES/passlickdev.png | Bin 0 -> 3349 bytes CODEOWNERS | 8 ++ README.md | 131 ++++++++++++++++++++++++++++++ 5 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 .github/RESOURCES/logo.png create mode 100644 .github/RESOURCES/passlickdev.png create mode 100644 CODEOWNERS create mode 100644 README.md diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 2fdf14b..12a9fb1 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username -custom: ['paypal.me/passlick'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +custom: ['https://passlickdev.com/redirect?id=4002'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/RESOURCES/logo.png b/.github/RESOURCES/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcccb10072f977402a64745b1e88360d54c731b GIT binary patch literal 9024 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 QNeqgzyoOvA#60}}0MAYsdjJ3c literal 0 HcmV?d00001 diff --git a/.github/RESOURCES/passlickdev.png b/.github/RESOURCES/passlickdev.png new file mode 100644 index 0000000000000000000000000000000000000000..380e806360c1864f256afbc804b00e2d144da7eb GIT binary patch literal 3349 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
+ +

+ +

+

WWU Learnweb Notifier Service

+ +
+ +
+

+ Download Binaries  –  + Technology  –  + Setup & Installation  –  + Licensing  –  + Donate +

+
+
+ +The Learnweb Notifier Service monitors your Learnweb courses and notifies you when new content is available. The service is compatible with [Learnweb](https://www.uni-muenster.de/LearnWeb/learnweb2/) of the WWU University of Münster, which is based on [Moodle](https://moodle.org/). Completely written in C# on the platform-independent .NET Core environment. Developed by Passlick Development. + +
+ +## Technology + +### General +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. + +### Modules + +The service is divided into separate modules. The purpose of the individual modules is explained below. + +#### LearnwebNotifier.Library +The library is the core of the service. It provides basic functionality for the service, like the retrieval of Learnweb courses or the parsing of activities. + +#### LearnwebNotifier.Test +This module provides unit tests and test resources for the service and can be used to test the service. + +#### LearnwebNotifier.Push +This module implements the library and provides a universal worker service that regularly checks courses and sends push notifications using Pushover. + +### Requirements for Courses +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! + +### Client Notifications (Push) +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. + +### Course Activities +The service retrieves activities from courses and notifies you of new activities. Below you will find the types of activities currently supported. + +#### Supported Activities +Every first-level activity in courses, for example ... +* New/updated file in course +* New/updated link in course +* New/updated assignment in course +* Deletion of files/folders/... +* ... + +#### Non-Supported Activities +Second-level activities, for example ... +* Activities inside folders +* Assignment upload confirmations +* Forum posts and updates (covered by Learnweb notifications) +* ... + +## Setup & Installation (Push) +> 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 + +### System Requirements +* OS: Linux (e.g. Debian) +The service can run on virtually any host. For example, you can use a vServer instance or a Raspberry Pi! +* RAM: ~50 MB +* Environment: .NET Core 3.1 runtime, Docker (optional) + + + +### Setup Pushover +1. Go to [Pushover](https://pushover.net/) and create an account, if not already existing +2. You have to register an application to receive notifications; just follow [this documentation](https://pushover.net/api#registration) to do so +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 +4. Download the Pushover App on your desired devices and log-in with your account + +### Install with Docker +> Support for Docker coming soon! Please install manually + +### Manual Installation +We recommend installing the service with Docker, but the service can also be installed manually. Just follow the steps below. + +#### Install .NET Core +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. + +```bash +sudo apt-get update +sudo apt-get install apt-transport-https +sudo apt-get update +sudo apt-get install dotnet-runtime-3.1 +``` + +#### Copy Binaries + +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. + +#### Run the Service + +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! + +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. + + + + + +## Licensing + +Copyright (c) 2020 Passlick Development. All rights reserved. + +Licensed under the **GNU General Public License v3.0** (the "License"); you may not use this file except in compliance with the License. + +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. + +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! + + +
+
+

+

+ +

+
\ No newline at end of file From 5b18561df4e5a6adfeff69c472cff7a4d4a7ed4a Mon Sep 17 00:00:00 2001 From: Nico Passlick Date: Fri, 21 Aug 2020 14:33:52 +0200 Subject: [PATCH 2/4] Changes to README --- README.md | 79 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 966122d..c65f016 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ Download Binaries  –  Technology  –  Setup & Installation  –  + Configuration  –  Licensing  –  + Passlick Development  –  Donate


@@ -27,6 +29,8 @@ The Learnweb Notifier Service monitors your Learnweb courses and notifies ### General 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. +
+ ### Modules 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 This module provides unit tests and test resources for the service and can be used to test the service. #### LearnwebNotifier.Push -This module implements the library and provides a universal worker service that regularly checks courses and sends push notifications using Pushover. +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. + +
### Requirements for Courses -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! +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! + +
### Client Notifications (Push) -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. +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. + +
### Course Activities The service retrieves activities from courses and notifies you of new activities. Below you will find the types of activities currently supported. @@ -57,15 +67,19 @@ Every first-level activity in courses, for example ... * Deletion of files/folders/... * ... -#### Non-Supported Activities +#### Currently Non-Supported Activities Second-level activities, for example ... * Activities inside folders * Assignment upload confirmations * Forum posts and updates (covered by Learnweb notifications) * ... -## Setup & Installation (Push) -> 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 +
+ +## Setup & Installation +>:rocket: The following installation instructions focus on the installation of the LearnwebNotifier.Push module + +>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 ### System Requirements * OS: Linux (e.g. Debian) @@ -73,22 +87,26 @@ The service can run on virtually any host. For example, you can use a vServer in * RAM: ~50 MB * Environment: .NET Core 3.1 runtime, Docker (optional) - +
### Setup Pushover 1. Go to [Pushover](https://pushover.net/) and create an account, if not already existing 2. You have to register an application to receive notifications; just follow [this documentation](https://pushover.net/api#registration) to do so -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 -4. Download the Pushover App on your desired devices and log-in with your account +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 +4. Download the Pushover app on your desired devices and log-in with your account + +
### Install with Docker -> Support for Docker coming soon! Please install manually +>:rocket: Support for Docker coming soon! Please install manually + +
### Manual Installation We recommend installing the service with Docker, but the service can also be installed manually. Just follow the steps below. #### Install .NET Core -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. +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. ```bash sudo apt-get update @@ -97,19 +115,47 @@ sudo apt-get update sudo apt-get install dotnet-runtime-3.1 ``` -#### Copy Binaries +#### Download Binary -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. +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. #### Run the Service -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! +>:warning: Please run the service as a non-root user! + +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! + +```bash +./lwnotif-push +``` 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. +
+ +### Configuration + +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. + +#### Assistant Execution +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. +```bash +./lwnotif-push --config +``` + +#### Optional Settings + +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. +##### Refresh Interval +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). + +##### Sentry Integration +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. + +
## Licensing @@ -119,13 +165,12 @@ Licensed under the **GNU General Public License v3.0** (the "License"); you may 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. -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! - +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!



- +


\ No newline at end of file From 9cd8969f803149fefda762c5127881ff86f3137b Mon Sep 17 00:00:00 2001 From: Nico Passlick Date: Fri, 21 Aug 2020 14:40:28 +0200 Subject: [PATCH 3/4] Changes to README --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index c65f016..61a56b3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

- +

WWU Learnweb Notifier Service

@@ -14,7 +14,6 @@ Setup & Installation  –  Configuration  –  Licensing  –  - Passlick Development  –  Donate


From c55be0af90c5bd599baa8e515bdc38859ba934fe Mon Sep 17 00:00:00 2001 From: Nico Passlick Date: Fri, 21 Aug 2020 14:41:41 +0200 Subject: [PATCH 4/4] Changes to README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 61a56b3..b0a220c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

- +

WWU Learnweb Notifier Service