In a way – I’m not going to tell anything new here. Microsoft has been adding apps to your environment for many years already. It’s just that a recent discussion on Twitter basically led to a general – let’s say – “feeling”, that made me decide to share my view on the matter as well :-).
When you are in BC SaaS, your environment is getting upgraded automatically once per month (on average). Together with these updates come new “features”. Some features are part of the base app, but others are part of a (new) app. Some of these apps get installed automatically in your production environment.
This month, there has been quite a fuss about the a newly pushed (by force) app since 20.1: the Shopify app.
Most people are NOT using Shopify – so why is it installed by force by Microsoft behind our backs? Should this be allowed? And are there other apps like that?
What kind of apps is Microsoft installing?
For this to answer, we kind of like have to look into the list of apps that are installed by Microsoft without us realizing it. Now, for me, that is easy, because I am a BC SaaS customer myself, so I looked into my production environment, and looked into the Extension Management page. And look at this (Belgian Locatlization):
30 installed Microsoft extensions for version 20.1 that I did NOT install myself consciously. When we look into it, I can identify these kind of apps:
- Essential apps: such as System and Base App
- Redesigned functionality: typically apps that are a result of a refactoring from an old functionality. E.g.: the email functionality
- Apps that I can only describe as “Nice to haves“. Such as .. uhm .. most of them: Shopify, intelligent Cloud, migration apps, … .
- Totally useless apps: why does the Contoso Coffee Demo Dataset apps need to be pushed to my production environment? Just imagine a user accidentally generates the demo data .. 🙈.
And that indicates already my view on this as well, I guess ;-). No – I think Microsoft should not use the Business Central production environments as a place to advertise new functionalities. They should find other channels to do so.. .
And I do wonder if they thougth about the pitfalls as well.. . I mean: they ARE adding objects, code, subscribers, .. to the database. Which kind of means it influences performance AND business logic. Let’s look into code to see what I mean. I quickly put aside 20 of the 30 apps which I think are useless for me, and started to scan the code.
The result is that I seem to have:
- 44 subscribers from apps that I don’t need, like:
- Universal Print: OnDocumentPrintReady influences every single print-job, and always needs to check if printer is a universal printer … .
- Shopify App: OnBeforeGetSalesHeader on the SalesLine. I can only guess this happens a lot – and I can only hope that other PTE’s are not subscribing to this one, because this subscriber is going to handle the event as well. This could be a direct interference with some PTS-code, or other ISV extensions that is introduct
- 13 new table-extensions including one on the Sales Header, which in general is already a highly modified table. Adding table extension on these kind of tables should be avoided, especially by apps that are useless to you .. .
So .. yeah .. what can I say .. . I don’t really think Microsoft should be pushing “nice to haves” and things that have nothing to do with my business, automatically to my production environment.
And this was the general feeling in the twitter thread as well. A grasp:
And there is more – a LOT more … ;-).
Can you disable these “forced installations of apps”?
No. Microsoft pushes apps whenever and whichever they like. For the time being, you’ll need to manually look at them, and uninstall what you don’t need. Heck – may be we should create some kind of AppSource App “Prod Environment Cleanup App” that scans the installed apps and uninstalls them when necessary ;-). 🤔😉
Can I get rid of them?
Of course you can. At the moment, I don’t know if they will “stay away”, but from the “Extension Management” page, you can uninstall the apps you don’t need:
And I would even recommend doing this and keep your list as clean as at all possible 🤷♂️.
After I finished my blogpost, I noticed Erik Hougaard also did a video about this topic. You can find it here: Is Business Central turning into Bloatware? The more views on the matter, the better!
I also opened a poll to gather your feedback (you can find it on the right in the desktop-version of this blog).
Who reads the desktop version nowadays though?
In my Opininion we have to differ a little bit
1) if the App includes functionality which is moved out of base or system apps -> yes
2) if the App provides APIs for the PowerPlattform -> yes
3) if the App provides functionality which covers new laws -> yes
In every other case I think Microsoft should not install apps. I’m also not a fan about that Microsoft is adding table extensions to there own tables. It’s very difficult to keep large systems fast.
I totally agree with you.. thanks!
And MS as well, by the way. This Shopify-thing was by accident ..