In January, I introduced my Admin Toolbox for Business Central in this blog post. It has been built for OnPrem installations and offers the following functionalities:
- Record Deletion Tool
- Viewing of license information
- Import of licenses
- Not out of the box information for consultants
- NEW: Publish App
In the meantime I have tested the Admin Toolbox for several customers. In the process, I noticed many more little things that I have improved. I also added new features to make it even more powerful. In the following I summarize the new changes. You can find the Admin Toolbox at this link on Github. The readme file in the project has been updated and contains the new changes.
New Feature: Publish App
In OnPrem installations, it is not possible to publish apps via the Extension Management Page by default. Therefore, the “normal” way is that you manually publish your app on the server via Powershell or have release agents installed on the server which do that.
That’s why I added a new PageAction to the toolbox that lets you publish apps. The functionality builds on Waldo’s hack from this blogpost (Waldo’s blog seems to be a real treasury for stuff like this ;-)).
Waldo’s hack enables the external deployer for the server instance so that apps can be published. Therefore, it is necessary to install the external deployer on the server once with four steps before you can publish apps with the toolbox.
The steps are very easy and can be found here.
When you click on “Publish App”, you will also be informed that the External Deployer must be installed in order to publish apps. If you select the option “Learn how to install the external deployer”, the instructions from the repository readme will open in a new tab. If you click “Continue publishing app (a new tab will be opened)”, the normal “Upload and Deploy Extension” dialog opens.
Note: If you have not installed the External Deployer before and try to publish an app, you will get the following information:
New Feature: Select Table to Run (Fast Tab: Information)
A new function “Table Selector” has been added to the Fast Tab Information. This allows a table to be selected via an Assist Edit.
The table can then be called up via a link.
In addition, the “License Permission” table has been added:
The links were fixed. There were some problems that the links did not work in Docker containers.
All improvements and innovations are summarized here.
Update Tables When Page Is Opened First Time
Until now, the tables overview in the Admin Toolbox was empty when the user opened it for the first time. Only after executing the “Insert/Update Tables” function, the tables of the database were loaded into the overview. To make it easier for users to get started, the “Insert/Update Tables” function is executed automatically when the page is opened for the first time. It checks if there are records in the “Record Deletion” table and if not, it triggers the update. In addition, a progress dialog is now displayed when updating the tables to inform the user about the current progress.
Tables Are Now a Subpage
In the previous version, the table “Record Deletion” was the Source Table of the main page. For this reason there was no possibility to focus or zoom the view of the tables. The tables are now displayed in a subpage. This allows to activate the focus mode. The Source Table of the main page is from now on Integer.
Removed Visibility Option Field and SaveValues True
Previously, an option field was used to control which areas should be displayed in the toolbox. This has proven to be impractical. Therefore, the option field has been removed. Instead, the Fasttabs for the individual areas can be opened and closed normally. The settings are saved because the SaveValues property in the page is set to true from now on.
Improved Record Suggestion Functions
When proposing unlicensed partner or custom records, the code contained references to tables of the German localization (Database:: “Delivery Reminder Header”, Database:: “Phys. Invt. Diff. List Buffer”). This caused the repository not to compile correctly. The places were fixed and replaced with the concrete table IDs. Thanks go to Ruben who pointed this out to me and created a pull request.
The use of the function only makes sense if a customer license has been imported. Therefore, from now on, the function checks whether a developer or customer license is imported. The user is offered the option of importing a different license if he has not currently imported the correct one.
Removed Repository for Consultant Apps
In the previous version there was a repository with precompiled apps for consultants to use the apps independently in projects. This proved to be too difficult for me to maintain and therefore the repository was deleted.