Hi,
I´m new to the world of NAV and BC. I´ve worked with several package management tools (NuGet, npm, pip) before and just started playing around with extensions for BC.
I discovered that methods from extension A can only be called in extension B if A depends on B.
Fields, methods and record data is only visible to depending extensions as fa as I understood.
My goal is to have independant extensions that can "communicate" (trigger function calls, work with record data etc.).
Maybe publisher and subscriber events could help with that.
Also I discovered that if you want to update an extension A and you have another extension B that depends on it, you have to re-install both of them.
How do you plan to work with that? Is it reasonable and how will deployments look like in the future?
What do you think? Any ideas on how to solve these issues?
I´d like read your thoughts and concepts about the BC365 dependency management so far.
Cheers,
Brainbug
Comments
I would suggest you take a look at these articles from Gunnar, I think they will help.
https://dynamics.is/?p=3170
https://dynamics.is/?p=3209
I have not tried these myself, but it seems like a great concept for avoiding dependencies.
- Use interface extension
- Design as an API
Check below link for details :
https://redandbundle.com/2018/12/06/slaying-the-behemoth-extension-design-principles/