Finding an Easter Egg in the Extensions?

If was just taking a closer look at the different standard Extensions, coming with Dynamics 365 Business Central. They have become much more interesting, now that our Danish localization's are shipped as Extensions.

When taking a look from inside the client, then we get this view:

It's listing the Danish localization and other extensions.

I then used PowerShell and use Get-NavContainerAppInfo to see the actual list of Extensions in my container.

PS C:\Windows\system32> Get-NavContainerAppInfo -containerName N12-21229-findk | format-table -Property Name, Publisher, ExtensionType, Scope

Name                                    Publisher ExtensionType Scope 
----                                    --------- ------------- ----- 
Payment and Reconciliation Formats (DK) Microsoft ModernDev     Global
_Exclude_Late Payment Predictor_        Microsoft ModernDev     Global
Microsoft Pay                           Microsoft ModernDev     Global
_Exclude_ClientAddIns_                  Microsoft ModernDev     Global
Tax File Formats (DK)                   Microsoft ModernDev     Global
WorldPay Payments Standard              Microsoft ModernDev     Global
PayPal Payments Standard                Microsoft ModernDev     Global
Essential Business Headlines            Microsoft ModernDev     Global
OIOUBL                                  Microsoft ModernDev     Global
_Exclude_AnonymizedDataSharing_         Microsoft ModernDev     Global
Sales and Inventory Forecast            Microsoft ModernDev     Global
Payroll Data Import Definitions (DK)    Microsoft ModernDev     Global
C5 2012 Data Migration                  Microsoft ModernDev     Global

I first noticed this a couple of months ago after NAV 2018 was released and didn’t really think about it until now. It's not in the "regular" NAV, only BC.

Besides all the Extensions we can see in the Danish BC version, then there are three Extensions all starting with _Excluded_.

Three hidden extensions?

I’m pretty sure that we all can think what an extension called something like _Excluded_AnonymizedDataSharing_ could be, most apps have some kind of data sharing. I’m sure it’s harmless, but I really would like to see the source code for this extension. I would like to tell my customers, exactly what is running on their data. I am sure all customers and partners agrees.

The actual Extension .app files are also included in the Docker container, so it’s not that they are trying to do a lot to hide anything. Have not tried to debug the system to see what it’s actually doing, unless that part is also excluded.

The NAV 2018 releases used to have the source code, at least for some of the extensions on the DVD. But I would really like to see the source code for all the Extensions I recommend to my clients. When it comes to some of the Danish localization's, access to the source code is very important, as Microsoft’s way to do it often is different from the way many customers use it.

You can hide your extensions too

Yes, you can use the same “trick” if you have Extensions your customers/users should not be able to see. Or remove. Because that is really the only reason I can see, why they would want hide some extensions from the list in the client.

And for that purpose, then I can think of a couple of usages of this, especially with global implementations. Extensions which even the local admin/managers should not be able to remove.

It’s very simple to do.

When you name your extension, just make it’s name start with _Excluded_YouExtensionName.

Easy to test if you use the build-in designer. You will notice that it will no longer be visible in the client. But if you list the actual extensions installed with PowerShell, then it will include your _Excluded_YouExtensionName extension

The remaining question is now, how can I download the source code for the extension I just have been hiding? Or can I somehow make it visible again?

May you have a nice Easter, go find some eggs with your Kids, if you have any!  If that is not something you "observe", then please still have a nice weekend, when you come to it. 

Comment List