Reader small image

You're reading from  Mastering Microsoft Dynamics 365 Business Central

Product typeBook
Published inDec 2019
PublisherPackt
ISBN-139781789951257
Edition1st Edition
Right arrow
Authors (2):
Stefano Demiliani
Stefano Demiliani
author image
Stefano Demiliani

Stefano Demiliani is a Microsoft MVP on Business Applications and Azure, MCT, Microsoft Certified Solution Developer (MCSD), Azure Certified Architect, and an expert in other Microsoft related technologies. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (mainly focused on ERP and serverless applications). He has worked with Packt Publishing on many IT books related to Azure cloud applications and Dynamics 365 Business Central and is a frequent speaker at IT conferences around Europe. In his free time Stefano is also a runner and a cyclist.
Read more about Stefano Demiliani

Duilio Tacconi
Duilio Tacconi
author image
Duilio Tacconi

Duilio Tacconi is a Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central Escalation Engineer at Microsoft EMEA Customer Support & Services (CSS). He joined Microsoft in 2008 after working in a customer IT department with a focus on system administration and development. Despite graduating with the highest score in Agricultural Science in 1996, he is in the ERP circuit since 1998 as developer and system implementer for several companies with Microsoft and non-Microsoft technologies. Currently, he is a subject matter expert in EMEA for RDLC Report development and one of Microsoft EMEA CSS reference for Managed Service for Partners (MSfP). Three times IronMan finisher, Duilio lives in Cernusco Sul Naviglio (Italy) with his beloved wife Laura and his 2 years old son Leonardo.
Read more about Duilio Tacconi

View More author details
Right arrow

Installing and Upgrading Extensions

Acquiring the Installed status for an extension is a four-step procedure: publish, synchronize, upgrade (if and where needed), and install. In this chapter, we will cover each of these steps in detail.

Installing a simple or even a complex extension with the most exotic code artifacts might turn out to be an easy task compared to its maintenance. The maintenance of an extension is done through the upgrade process of the extension. An upgrade may be needed because of the introduction of a new feature, bug fixes or, quite frequently with SaaS, because of dependency changes from the base app.

Throughout this chapter, we will explore both basic extension installation and complex dependency upgrades in order to help AL developers have a better understanding of how to review their SaaSified private IPs.

With a continuous upgrade...

Deploying extensions

Like in any other programming language, the terminology is very important. It is vital to clearly understand and distinguish the different deployment phases and statuses for the extension in order to target the appropriate troubleshooting, where necessary.

Depending on the development life cycle and deployment, extensions fall into two categories:

  • Per tenant extensions (PTE): This resembles the old-school development, tailored per customer. Development is typically performed per tenant in a sandbox that contains a copy of the production configuration and data. The CSP partner and/or its reseller, together with the customer, manage the development and deployment the life cycle.
    Despite the fact that this is, historically, the most common scenario for on-premises ERP development, partners are encouraged to create their own standard extension to be deployed...

Deploying the main extension

To make it very simple, we will create a brand new table (Tab50105.NewTable.al) with a few fields in it: 

table 50105 "NewTable"
{
DataClassification = ToBeClassified;
fields
{
field(1;"Entry No."; Integer)
{
DataClassification = ToBeClassified;
}
field(2;"Description"; Text [30] )
{
DataClassification = ToBeClassified;
}
field(3; "Posting Date"; Date)
{
DataClassification = ToBeClassified;
}
field(4; "Open"; Boolean)
{
DataClassification = ToBeClassified;
}
}
keys
{
key(PK; "Entry No.")
{
Clustered = true;
}
}
}

Then, we create a table extension (Tab-Ext50105.NewTableExtension.al) that extends the...

Deploying a new version of the main extension

Again, in order to make it very simple, we will create a second version of the main extension where one field, Catalogue No., will change its data type from integer to text 30. This is a data type conversion that constitutes a breaking change in the data schema. The second version of the extension must then cope with the following:

  • Increase (bump) the extension version: Change the app.json file version field as follows:
     "version": "2.0.0.0",

Summary

In this chapter, we took a close look at the various options for deploying an extension targeted at Dynamics 365 Business Central sandbox or production. We have also covered all four stages of extension deployment in detail: publish, synchronize, data upgrade, and installation. 

This chapter closes the development section, and now you're ready to start working with extensions on real-world projects (you know how to create extensions, how to deploy them, and how to extend them).

In the next chapter, we'll begin a brand new section that looks at debugging and testing extensions. The final chapter relates to source code management and its life cycle.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Mastering Microsoft Dynamics 365 Business Central
Published in: Dec 2019Publisher: PacktISBN-13: 9781789951257
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (2)

author image
Stefano Demiliani

Stefano Demiliani is a Microsoft MVP on Business Applications and Azure, MCT, Microsoft Certified Solution Developer (MCSD), Azure Certified Architect, and an expert in other Microsoft related technologies. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (mainly focused on ERP and serverless applications). He has worked with Packt Publishing on many IT books related to Azure cloud applications and Dynamics 365 Business Central and is a frequent speaker at IT conferences around Europe. In his free time Stefano is also a runner and a cyclist.
Read more about Stefano Demiliani

author image
Duilio Tacconi

Duilio Tacconi is a Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central Escalation Engineer at Microsoft EMEA Customer Support & Services (CSS). He joined Microsoft in 2008 after working in a customer IT department with a focus on system administration and development. Despite graduating with the highest score in Agricultural Science in 1996, he is in the ERP circuit since 1998 as developer and system implementer for several companies with Microsoft and non-Microsoft technologies. Currently, he is a subject matter expert in EMEA for RDLC Report development and one of Microsoft EMEA CSS reference for Managed Service for Partners (MSfP). Three times IronMan finisher, Duilio lives in Cernusco Sul Naviglio (Italy) with his beloved wife Laura and his 2 years old son Leonardo.
Read more about Duilio Tacconi