Can we have better formatted emails for the Business Central extension update / upgrade notification emails? Currently Microsoft sends emails with an unformatted JSON body containing all of the extension issues found trying to upgrade. Our customers receive these emails and disregard them because they can't read them. It would be nice if the emails first processed the JSON structure through a formatter so they are readable. It would also help our support staff so they don't have to always have to format each email manually. For example, our customer received this:
[ { "ExtensionId": "3f1e76e6-34f1-4764-9c82-85e9ea48f1b4", "ExtensionName": "Tipalti Import Export", "ExtensionPublisher": "Velosio", "ExtensionVersion": "1.0.3.97", "PublishedAs": "Tenant", "Messages": [ "src/Pages/PayeeSyncErrorListVEL.Page.al (154,48) - Error AL0433: Table 'IRS 1099 Form-Box' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0.", "src/Reports/PayeesImportVEL.Report.al (529,32) - Error AL0433: Table 'IRS 1099 Form-Box' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0.", "src/Pages/PayeeSyncErrorListVEL.Page.al (156,48) - Error AL0118: The name '\"IRS 1099 Form-Box\"' does not exist in the current context.", "src/Reports/PayeesImportVEL.Report.al (478,29) - Error AL0433: Field 'IRS 1099 Code' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0." ] }, { "ExtensionId": "c80efcbf-e23f-4862-b291-0ddd348a40f7", "ExtensionName": "Vendor Misc Customizations", "ExtensionPublisher": "Velosio", "ExtensionVersion": "23.0.0.0", "PublishedAs": "Tenant", "Messages": [ "Source/PageExt 60520 Vendor Ledger Entries.al (5,18) - Error AL0270: The control '\"IRS 1099 Amount\"' is not found in the target 'Vendor Ledger Entries'" ] }, { "ExtensionId": "2aaf1ebc-3e54-4144-9744-aaf06cdad23c", "ExtensionName": "Item Ledger Attachments Ext", "ExtensionPublisher": "Velosio", "ExtensionVersion": "23.0.0.0", "PublishedAs": "Tenant", "Messages": [ "Source/CodeUnit 60500 Document Attachment Subscriber.al (3,46) - Error AL0118: The name '\"Document Attachment Factbox\"' does not exist in the current context.", "Source/PageExt 60500 Item Ledger Entries.al (7,40) - Error AL0185: Page 'Document Attachment Factbox' is missing", "Source/PageExt 60500 Item Ledger Entries.al (11,31) - Error AL0171: The property value '\"Table ID\" = const(Database::\"Item Ledger Entry\"), \"No.\" = field(\"Document No.\")' on property 'SubPageLink' is not valid." ] }, { "ExtensionId": "28147d06-0a3b-4116-ac5b-4940eb992950", "ExtensionName": "ALProject1", "ExtensionPublisher": "Default Publisher", "ExtensionVersion": "1.2.0.0", "PublishedAs": "Tenant", "Messages": [ "initial_setup_periodic_reimport.al (24021,47) - Error AL0433: Field 'Coupled to Dataverse' is removed. Reason: Field Service is moved to Field Service Integration app.. Tag: 28.0." ] } ]
If would be nice if it was formatted like this:
============================================================
BUSINESS CENTRAL v28 – EXTENSION COMPATIBILITY ERRORS
============================================================
------------------------------------------------------------
1. Tipalti Import Export
------------------------------------------------------------
Publisher: Velosio
Version: 1.0.3.97
Published As: Tenant
Extension ID: 3f1e76e6-34f1-4764-9c82-85e9ea48f1b4
Errors (4):
[1] src/Pages/PayeeSyncErrorListVEL.Page.al (154,48)
AL0433: Table 'IRS 1099 Form-Box' is removed.
Reason: Moved to IRS Forms App. (Tag: 28.0)
[2] src/Reports/PayeesImportVEL.Report.al (529,32)
AL0433: Table 'IRS 1099 Form-Box' is removed.
Reason: Moved to IRS Forms App. (Tag: 28.0)
[3] src/Pages/PayeeSyncErrorListVEL.Page.al (156,48)
AL0118: The name '"IRS 1099 Form-Box"' does not exist
in the current context.
[4] src/Reports/PayeesImportVEL.Report.al (478,29)
AL0433: Field 'IRS 1099 Code' is removed.
Reason: Moved to IRS Forms App. (Tag: 28.0)
------------------------------------------------------------
2. Vendor Misc Customizations
------------------------------------------------------------
Publisher: Velosio
Version: 23.0.0.0
Published As: Tenant
Extension ID: c80efcbf-e23f-4862-b291-0ddd348a40f7
Errors (1):
[1] Source/PageExt 60520 Vendor Ledger Entries.al (5,18)
AL0270: The control '"IRS 1099 Amount"' is not found
in the target 'Vendor Ledger Entries'.
------------------------------------------------------------
3. Item Ledger Attachments Ext
------------------------------------------------------------
Publisher: Velosio
Version: 23.0.0.0
Published As: Tenant
Extension ID: 2aaf1ebc-3e54-4144-9744-aaf06cdad23c
Errors (3):
[1] Source/CodeUnit 60500 Document Attachment Subscriber.al (3,46)
AL0118: The name '"Document Attachment Factbox"' does not
exist in the current context.
[2] Source/PageExt 60500 Item Ledger Entries.al (7,40)
AL0185: Page 'Document Attachment Factbox' is missing.
[3] Source/PageExt 60500 Item Ledger Entries.al (11,31)
AL0171: The property value '"Table ID" = const(Database::
"Item Ledger Entry"), "No." = field("Document No.")' on
property 'SubPageLink' is not valid.
------------------------------------------------------------
4. ALProject1
------------------------------------------------------------
Publisher: Default Publisher
Version: 1.2.0.0
Published As: Tenant
Extension ID: 28147d06-0a3b-4116-ac5b-4940eb992950
Errors (1):
[1] initial_setup_periodic_reimport.al (24021,47)
AL0433: Field 'Coupled to Dataverse' is removed.
Reason: Field Service moved to Field Service Integration
app. (Tag: 28.0)
============================================================
SUMMARY: 4 extensions | 9 total errors
============================================================
Or even something like this:
[
{
"ExtensionId": "3f1e76e6-34f1-4764-9c82-85e9ea48f1b4",
"ExtensionName": "Tipalti Import Export",
"ExtensionPublisher": "Velosio",
"ExtensionVersion": "1.0.3.97",
"PublishedAs": "Tenant",
"Messages": [
"src/Pages/PayeeSyncErrorListVEL.Page.al (154,48) - Error AL0433: Table 'IRS 1099 Form-Box' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0.",
"src/Reports/PayeesImportVEL.Report.al (529,32) - Error AL0433: Table 'IRS 1099 Form-Box' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0.",
"src/Pages/PayeeSyncErrorListVEL.Page.al (156,48) - Error AL0118: The name '\"IRS 1099 Form-Box\"' does not exist in the current context.",
"src/Reports/PayeesImportVEL.Report.al (478,29) - Error AL0433: Field 'IRS 1099 Code' is removed. Reason: Moved to IRS Forms App.. Tag: 28.0."
]
},
{
"ExtensionId": "c80efcbf-e23f-4862-b291-0ddd348a40f7",
"ExtensionName": "Vendor Misc Customizations",
"ExtensionPublisher": "Velosio",
"ExtensionVersion": "23.0.0.0",
"PublishedAs": "Tenant",
"Messages": [
"Source/PageExt 60520 Vendor Ledger Entries.al (5,18) - Error AL0270: The control '\"IRS 1099 Amount\"' is not found in the target 'Vendor Ledger Entries'"
]
},
{
"ExtensionId": "2aaf1ebc-3e54-4144-9744-aaf06cdad23c",
"ExtensionName": "Item Ledger Attachments Ext",
"ExtensionPublisher": "Velosio",
"ExtensionVersion": "23.0.0.0",
"PublishedAs": "Tenant",
"Messages": [
"Source/CodeUnit 60500 Document Attachment Subscriber.al (3,46) - Error AL0118: The name '\"Document Attachment Factbox\"' does not exist in the current context.",
"Source/PageExt 60500 Item Ledger Entries.al (7,40) - Error AL0185: Page 'Document Attachment Factbox' is missing",
"Source/PageExt 60500 Item Ledger Entries.al (11,31) - Error AL0171: The property value '\"Table ID\" = const(Database::\"Item Ledger Entry\"), \"No.\" = field(\"Document No.\")' on property 'SubPageLink' is not valid."
]
},
{
"ExtensionId": "28147d06-0a3b-4116-ac5b-4940eb992950",
"ExtensionName": "ALProject1",
"ExtensionPublisher": "Default Publisher",
"ExtensionVersion": "1.2.0.0",
"PublishedAs": "Tenant",
"Messages": [
"initial_setup_periodic_reimport.al (24021,47) - Error AL0433: Field 'Coupled to Dataverse' is removed. Reason: Field Service is moved to Field Service Integration app.. Tag: 28.0."
]
}
]
Just so it's somewhat readable.
