I often wonder how I find myself in situations like this. On my day off I find myself behind my desk doing something which is not my responsibility, nor am I getting paid to do it.
If you say A, you also have to be willing to say B and C. This is what my parents told me when I was young so when I promissed Bugsy and Jesper to look into making the Business Central Base Application smaller I decided I may as well make it into a decent project.
Pages: 1 2
Commissions is much smaller, but should be a separate app as well so it can be replaced easily.
Look forward to hearing more about this project.
Didn’t Bill Gates originally think that we needed a standard G/L that many other apps could use?
LikeLike
How do you solve the issue that there are extensions that are overlapping, like extended text management. that allows to handle texts per document type (in separate tables) or commissions which which may be used from service and sales.
Does this mean, that we need additional or different apps for every of the separate (base) app module- combination?
Where does this end, if you split up base app into multiple apps?
LikeLike
The only solution i currently know is not to break up BassApp. But that means slow develpoment.
My solution would be a solution you would/can not accept: Use C/AL. There you don’t have the problem with with the large base-app in most cases.
And a real usefull solution requires also C/AL: Conditional Compile. If whole source is uploaded into the tennant, and compiler is also integrated, you are able to compile an object after a module is installed. Then you are able to use a compiler directive like “#IFEXIST(OBJECT::”WhatEver”)…#END” and a property at variables or functions “IgnoreIfNotExist”=True.
But conditonal compile also requires also a large amount of tests, because you have to test also every combination of installed apps.
BTW: The problem why breaking up the base app is not a good idea, is the same why breaking up large ISV- solutions is not a good idea. They have to many dependenies through the modules.
LikeLike