Business Central 2022 wave 2 (BC21) new features: Easily access setup pages for new apps (How to add primary setup object)

Dynamics 365 Business Central

Hi, Readers.
The preview environment for Dynamics 365 Business Central 2022 release wave 2 (BC21) is available. Learn more: Link.

I will continue to test and share some new features that I hope will be helpful.

Easily access setup pages for new apps:

Business value:

We provide easy access to an app’s setup page from the Extensions Management page so you can use apps faster in Business Central, both large vertical add-ons and smaller productivity apps.

Feature details:

In earlier release waves, users told us they couldn’t figure out what to do next after they installed an app. They also said they didn’t know where to find any setup pages. In this release wave, we add an option to run a setup page directly from the Extensions Management page if the app has specified a setup page. The developer of the app should provide a reference to the setup page in the app manifest, so that Business Central knows which page to run for the specific app.

In practical terms, we add two new features:

・An ability to get an overview of setup pages brought by an app, if the app registers those in the Guided Experience Item table.

・A new action on the Extensions Management page that runs the page that the developer specified.

In advance, these two new features are very heavily related to Onboard users to your app.

Let’s see more details.

  • An ability to get an overview of setup pages brought by an app, if the app registers those in the Guided Experience Item table.

For this I actually do not understand very well, the following are just my thoughts, please contact me if what I mentioned does not have anything to do with this.

In Business Central 2022 wave 2 (BC21), the setup page will be displayed automatically when the app installation completes. We can find this description below.

In App installation | MS Docs:

When installing AppSource apps through the user interface, a wizard appears that initiates the installation of the app. This wizard will give the user an option to wait for installation to complete and let the user run the primary setup of the app. This works in two steps: First, the user is presented with a page that shows the installation status for the app. When the app installation completes the user is given the option to run the setup brought by the app. If a primary setup is specified as described above, this setup will be run. The same will happen if only one setup object is added by the app. If multiple setup objects are added and no primary is specified, the user will be presented with the list of setup options provided by the app and can run each desired setup from there.

Let me do a test: I uninstalled the Shopify Connector extension and reinstalled it in BC21 Preview environment.

But it seems to only work for AppSource Extension.

The installation guidance to find the primary setup only works for AppSource apps. However, you should still provide Guided Experience Items for the setup objects belonging to your app if it is a Per Tenant Extension. The user will still enjoy easy access to those objects via Extensions Management.

  • A new action on the Extensions Management page that runs the page that the developer specified.

This is easier to understand, Microsoft added a new “Set up” action on the Extension Management page.

We can easily open the settings page defined in the app.

So the next question is, how to define this settings page in our app? If you have not done anything additional, the following message will be displayed when you click “Set up”.

This app doesn’t require set-up.

Well, this is also mentioned in Onboard users to your app.

Once you have added your app’s setup object to Guided Experience Item, a user can easily find it when on the Extensions Management page. An action and a context menu action, Set up this app will open the primary setup object.

And Microsoft provides reference code.😁
This is actually a way to add the your setup page to the Assisted Setup page.

Let me do a simple test.
First I created a simple navigation page.

Then add the settings page using the method provided by Microsoft above.

The key method:

After installing the app, we can find it on the Assisted Setup page.

If a video link is included, it will also appear in Product Videos.

Finally, after choosing Set up on the Extension Management page, you can open the defined settings page.

Test Video:

1. The Boolean parameter utilized by the IsPrimarySetup variable in the above example becomes available in 2022 release wave 2. Start preparing already now.

2. There can only be one primary object for the app in Guided Experience. It is your responsibility as an app publisher to make sure that only one exists. For example, if your app is changing the primary setup object over time, you must handle this as part of the upgrade and remove the designation of the primary setup before you add a new one.

3. You can also directly refer to the practice of Shopify Connecter.
codeunit 30201 “Shpfy Guided Experience”:

4. My test source sode:

codeunit 50100 "My App Guided Experience"
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Guided Experience", 'OnRegisterAssistedSetup', '', false, false)]
    local procedure InsertIntoAssistedSetupOnRegisterAssistedSetup()
        GuidedExperience: Codeunit "Guided Experience";
        AssistedSetupGroup: Enum "Assisted Setup Group";
        VideoCategory: Enum "Video Category";
        SetupShortTitle: text[50];
        SetupTitle: text[50];
        SetupDescription: text[50];
        IsPrimarySetup: boolean;
        IsPrimarySetup := true;
        SetupTitle := 'My App Setup Title';
        SetupShortTitle := 'My App Setup ShortTitle';
        SetupDescription := 'My App Setup SetupDescription';
        GuidedExperience.InsertAssistedSetup(SetupTitle, SetupShortTitle, SetupDescription, 5, ObjectType::Page, Page::"My App Setup Wizard", AssistedSetupGroup::ReadyForBusiness,
                                            '', VideoCategory::ReadyForBusiness, '', IsPrimarySetup);

Update info from Søren: More details


Hope this will help.

Thanks for reading.



Copied title and URL