Business Central System App is Open Source! Contribute, don’t be shy…

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

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.