I think that today everyone of you knows that with Dynamics 365 Business Central we have the following rules for Object IDs:
There is however a rule regarding Object IDs that I see it’s not well known (or understood) from partners: CFMD range. I think there’s quite a confusion on this topic nowadays.
Many partners have actually their ISV solutions for Microsoft Dynamics NAV and they’re moving these solutions to AL and extensions for Dynamics 365 Business Central. Regarding ISV solutions (addons), Microsoft says that:
Many partners are then creating their new ISV application (released as AL extension) by using the same CFMD range as today with NAV 2018.
This is great (we can reuse our reserved object range and we don’t have to renumber all our objects), but actually there’s a big problem that starts appearing when using the SaaS version of Dynamics 365 Business Central.
The scenario is the following: I’m a partner and I’m moving my ISV C/AL solution to AL and Extensions. I’m developing it with my CFMD range because I want to go to AppSource in the next months. Today I have the X% of the addon functionalities available as extensions and ready to be used.
A customer signs a contract with me for Dynamics 365 Business Central SaaS. Starting with the “blank paper” is not what I want and I would like to deploy the functionalities I have ready NOW as extensions to this customer’s tenant (per-tenant extensions). Can I use the CFMD range (and so using the code I’ve available now)?
NO!! You cannot use your CFMD range with a per-tenant extension. If you want to use your CFMD range, you’re forced to go to AppSource. No more CFMD ranges deployed directly to a customer!
What happens now? You’ve essentially two choices:
This seems quite obvious, but CFMD range management is an always more emerging problems at partner’s side.