HodorNV / ALOps

ALOps
59 stars 24 forks source link

[Feature Request] ALOpsAppLicenseCheck: check if subscription license is about to expire #765

Open DanielGoehler opened 6 months ago

DanielGoehler commented 6 months ago

Is your feature request related to a problem? Please describe. Currently, there is no automated warning system in ALOps to notify users when a Business Central subscription license is about to expire. Since Microsoft now requires that subscription licenses be updated at least every six months, it is crucial to have a proactive alert system in place. Additionally, the term for expiration and the date format can be language-specific (e.g., "Abl.Dtm." in German), which adds complexity to the manual monitoring process.

Describe the solution you'd like I would like ALOps to include a feature that automatically warns users when a Business Central subscription license is nearing its expiration date. This warning system should:

Describe alternatives you've considered An alternative approach would involve setting up a manual reminder system to check subscription licenses periodically, but this is prone to human error and not scalable. Another option could be using third-party monitoring tools, but integrating this functionality directly into ALOps would provide a more seamless and user-friendly solution.

Additional context Incorporating this feature would greatly enhance the management of Business Central subscription licenses by providing timely warnings before expiration, thus ensuring compliance with Microsoft's licensing requirements. This proactive approach would prevent potential service disruptions and reduce the administrative burden on partners. The announcement can be found here: https://businesscenter.mbs.microsoft.com/#contentdetail/spanews1

Example of a German BC 22 CustomerLicence (.bclicense):

Microsoft Software License Information
Copyright (C) 2007-2022 Microsoft Corporation. All rights reserved
****************************************************************************
VOICE Kundenaccount     : xxx
Lizenziert für          : xxx
                          xxx

                          xxx
                          xxx
                          xxx
                          Germany

Produkt Linie           : Microsoft Dynamics 365 Business Central on premises Subscription
Produkt-Edition         : Premium
Produkt-Version         : 22
Land                    : Germany
Sprache                 : German
Erstellungsdatum        : 15.05.2024 02:10:26 (-07:00)
Abl.Dtm.                : 12.12.2024
Erstes Registrierungsdatum : 13 May 2024
****************************************************************************
Name                                                                  Anzahl
----------------------------------------------------------------- ----------
Country Code: Germany                                                      1
Dyn365 Business Central Codeunits (100)                                  100
Dyn365 Business Central Codeunits (each)                                  20
Dyn365 Business Central Pages (100)                                      200
Dyn365 Business Central Premium                                           25
Dyn365 Business Central Queries (100)                                    100
Dyn365 Business Central Reports (100)                                    200
Dyn365 Business Central Tables (10)                                       60
Dyn365 Business Central XML Ports (100)                                  100

****************************************************************************

Example of a German BC 14 CustomerLicence (.flf):

Microsoft Software License Information
Copyright (C) 2007-2022 Microsoft Corporation. All rights reserved
****************************************************************************
VOICE Kundenaccount     : xxx
Lizenziert fr          : xxx
                          xxx

                          xxx
                          xxx
                          xxx
                          Germany

Produkt Linie           : Microsoft Dynamics 365 Business Central on premises Subscription
Produkt-Edition         : Essentials
Produkt-Version         : 14
Land                    : Germany
Sprache                 : German
Erstellungsdatum        : 04.04.2024 00:56:19 (-07:00)
Abl.Dtm.                : 26.10.2024
Erstes Registrierungsdatum : 27 September 2019
****************************************************************************
Name                                                                  Anzahl
----------------------------------------------------------------- ----------
Country Code: Germany                                                      1
Dyn365 Business Central Codeunits (100)                                  100
Dyn365 Business Central Codeunits (each)                                  10
Dyn365 Business Central Essentials                                        80
Dyn365 Business Central Pages (100)                                      100
Dyn365 Business Central Queries (100)                                    100
Dyn365 Business Central Reports (100)                                    100
Dyn365 Business Central Reports (each)                                   100
Dyn365 Business Central Tables (10)                                       50
Dyn365 Business Central Team Members                                      12
Dyn365 Business Central XML Ports (100)                                  100

****************************************************************************
waldo1001 commented 5 months ago

We don't have a license like that - but would you be able to (privately - admin@hodor.be ) send us a license (flf & bclicense - may be expired, no problem).

Problem is: we don't have any, and it could be language-dependent, so we need to test it.

DanielGoehler commented 5 months ago

@waldo1001 I have sent you the email.

waldo1001 commented 2 months ago

We did a fix for this.

Use parameters 'expiry_text' (text at beginning of line), 'expiry_dateformat' (format to use for parsing), 'expiry_dayswarning' (daycount for generating warning)

Example:

...
expiry_text: "Abl.Dtm."
expiry_dateformat: "dd.MM.yyyy"
expiry_dayswarning: 30
...