diff --git a/for-administrators/readme/license-management.md b/for-administrators/readme/license-management.md index 944885cd..dc0bca46 100644 --- a/for-administrators/readme/license-management.md +++ b/for-administrators/readme/license-management.md @@ -18,15 +18,28 @@ For more information on licenses, please refer to [fylr Licenses](../../license- ### Expiration Warnings & Notifications -The licensing system includes an automated warning service to prevent disruption to your fylr instance. +The licensing system includes an automated warning service to prevent disruption to your fylr instance. The mails cover the full lifecycle of a license; see [fylr version expiration](../../license-management.md#fylr-version-expiration) for the underlying rules. #### Automatic Emails -Warnings are sent via email at the following intervals before the license expires: +Four kinds of mail are sent. All dates are formatted as DD.MM.YYYY. -* **30 Days** -* **5 Days** -* **1 Day** +**Subscription licenses** + +* **Paid period ending soon** — sent before the license's end date, at: + * **30 days** + * **7 days** + * **1 day** +* **Grace period ending** — sent during the two-month grace period that follows the end date, at: + * **Weekly**, starting eight weeks before grace end (8, 7, 6, 5, 4, 3, 2 weeks) + * **Daily** during the last week before grace end (7, 6, 5, 4, 3, 2, 1 days) +* **License expired** — sent once the grace period is over and the instance has switched to limited functionality. + +**Buy licenses** + +* **Binary too new** — sent when a fylr binary released after the license's end date is deployed. Such a binary will not run; install a binary released on or before the end date. + +#### Recipients By default, notifications are sent to the **Administrator Email(s)** defined in **Base Configuration** > **Email.** Additional recipients can be added to the license provided by programmfabrik. diff --git a/license-management.md b/license-management.md index ab422728..316ea12d 100644 --- a/license-management.md +++ b/license-management.md @@ -67,26 +67,44 @@ The license check works offline, the license management does not include any onl ## fylr version expiration -A fylr version can expire for two reasons: +How a fylr instance expires depends on the license type. Subscription and buy licenses follow different rules. -* The license has an expiration date set -* The binary of the fylr version is older than 1 year +### Subscription licenses -In case of expiration fylr runs with a limited functionality (see below). Please contact our team to help you, if you find yourself in that situation. +A subscription license is purely time-based. It carries an end date (`valid.to`); the age of the running binary is **not** taken into account. -This limitation does not apply if all of the following applies: +* Until the end date, the instance runs normally. +* After the end date, the instance enters a two-month [grace period](license-management.md#grace-period-subscription-only) and keeps working. +* After the grace period, the license is fully expired and fylr runs with limited functionality (see [fylr with an invalid or no license](license-management.md#fylr-with-an-invalid-or-no-license)). -* the license is of type _buy_ -* the fylr binary was released before the license expire date +### Buy licenses -For _subscription licences_, the creation date of the binary plus one year—or the license end date—defines how long fylr can be used. +A buy license is unlimited in time, but only entitles you to run binaries released up to the license's end date: -For _buy licenses_, there is also an end date, but it works differently: this date is not the end of the license itself, but a cutoff date for the creation of binaries. Binaries created before the license end date will continue to work indefinitely, while binaries created after that date will not. +* A fylr binary **released on or before** the license's end date runs indefinitely, even years after the end date. +* A fylr binary **released after** the license's end date is refused as "too new" — the instance will not run with such a binary. You either need to fall back to an older binary or to renew the contract that grants you updates. + +### Grace period (subscription only) + +After a subscription's end date a two-month grace period begins, during which the instance stays fully usable. This gives you time to renew the contract and upload the new license without interrupting operation. + +The end of the grace period (`grace_to` = end date plus two calendar months) is shown in the [license management](for-administrators/readme/license-management.md) next to the end date, so administrators can see the technical cut-off at a glance. {% hint style="info" %} -Administrators (configured in the base config email section) will receive an email warning 30, 5 and 1 day prior to the expiration. +The grace period applies to subscription licenses only. Buy licenses are unlimited in time and have no grace period; their separate rule about the binary release date applies instead. {% endhint %} +### Expiration warning mails + +The administrators configured in the base config email section, and any contact addresses included in the license, are notified by email at four points in a license's lifecycle. All dates in these mails are formatted as DD.MM.YYYY. + +* **Paid period ending soon** — subscription, before the end date. +* **Grace period ending** — subscription, after the end date and during the two-month grace period. +* **License expired** — subscription, once the grace period is over. The instance now runs with limited functionality. +* **Binary too new** — buy, sent when a fylr binary released after the license's end date is deployed. The instance will not run until a binary released on or before the end date is installed. + +For the exact warning intervals see [Expiration Warnings & Notifications](for-administrators/readme/license-management.md#expiration-warnings-and-notifications). + ## fylr with an invalid or no license If you don't have a license key at all, or don't have a valid license key, you can start a fylr instance, nevertheless.