With the recent Wave II release of Business Central we also got the first wave of Open Source in our beloved NAV/BC product.
This means that rather than making customization for one specific customer or ISV you can now have this pushed back into the product and stay there forever.
Today I did my first Pull Request and I wanted to share how I did that.
What did I need?
With reports, especially documents that go out, translations are key. In the next release of our ForNAV extension we wanted to add a new feature where you can translate invoices by simply adding captions to a table or import them from an Excel sheet or Azure Blob Container file.
With translations there are rules that allow you to inherrit languages from related languages if they are related. For example Flamish (NLB) can be inherrited from Dutch (NLD).
Especially in Europe this drastically reduces the number of translations and you only have to manage exceptions where terminology is different. (Trust me, this is the case with Flamish and Dutch).
DotNET
I actually only need one line of DotNET code
CultureInfo.CultureInfo(LanguageId).Parent.LCID
Normally you are not allowed to do DotNET, but System App has target set to OnPrem so simple usages of DotNET are actually allowed. (I hope).
Fork & Clone
The first step is to log into GitHub and Fork the Microsoft ALAppExtensions project and clone this to your Visual Studio Code
Branch & Publish
Then you do the change. Remember Microsoft has this two-layer model where your real code is in the implementation.
Pull Request & License
The final step, or at least where I am now, is to do a pull request and sign the license.
After this you need a code review and this is what I am waiting for right now.

1 Comment