What is the Power Platform Catalog?
Microsoft released the Power Platform Catalog on May 23, 2023, as a preview feature. It is a component and template library where Makers can submit their components to be used in any of the environments within the tenant. This was a much-anticipated release for me to be used for enterprise-level theming and componentry.
After initially spending the time to document the steps for Submitting and Installing catalog items, the questions everyone had were: “how does updating work” and “is it worth it?”
How do you submit and install Catalog Items?
Installing a catalog item requires a managed solution zip file and a submission.json file that holds additional information for naming the catalog item, adding a support contact, and business justification. In short, this process requires running the submit command with the pac cli, then approving the request within the Power Platform Catalog Manager model-driven app. Once approved, the catalog item can be installed in any environment using the pac cli as well.
Does updating the catalog item work?
At present, there is no update command available.
Currently, the documentation shows the procedure for updating an existing Catalog item is to use the submit command but edit the submission.json operation field to “Update” or “CreateOrUpdate.”
After trying both the “CreateOrUpdate” and “Update” operations, I did not see a difference between them. Both operations lead to a new submission in the Catalog Manager with the same catalog ID as the existing Catalog item.
Using either operation, the ‘Superseded by’ column value remains blank in the submission.
The audit trail is also blank when updating a catalog item. There are no indications an update has occurred after running either operation. It seems to replace the existing catalog item rather than recognizing this as an update and merging the submission.
Once the Submission Update is approved, it would be nice to send an alert or notification of some kind:
“This Component is used in the following environments: XXXX. Would you like to push the updated solution?”
The catalog also does not notify the environments that a catalog item has been updated.
How do you update to the newest solution in the environments?
You must manually install the solution again to push the updates, which means going back to the cli, finding the environment URL, and catalog ID.
pac catalog install -tu https://<your org>.crm.dynamics.com/ -cid ContosoConferencesCustomConnector
When installing the catalog item that has been updated, the explorer does recognize that this is an updated solution and will replace the existing solution zip. So, there is a form of auditing that can be seen within the solution explorer but not within the catalog manager.
Is it worth it?
At the point of this blog, I think the Catalog is a fantastic concept with opportunities for improvement.
A few recommendations:
- Allow submissions to be created within the Power Platform Catalog Manager to enhance the user experience without the need to learn command line actions to create and update catalog items.
- Citizen developers may find the learning curve difficult when providing required catalog actions using the pac cli.
- The current catalog preview resembles a .zip file library more than a catalog of components. Components should be globally referenced and not require the need for citizen developers to install the solution files manually into each environment.
- Version Notes functionality should be available for solutions stored in the directory.
- There is no way to apply notes to the catalog items, including highlights or providing deprecations or risks when performing component updates currently.
- Power Automate flows should be utilized to inform requestors and users who installed catalog components when a component update is completed.
- Since the items are all stored in Dataverse, custom flows can be made to fix the notification concerns, grabbing the user who requested the catalog item install and sending them an email when the catalog item for that ID has been modified.
Allowing components to be easily accessible and integrated into the Power Platform would be a great service offering for enterprise-wide adoption. I would love to see a roadmap for feature development for the catalog since this could be a game changer for user experience in the power platform.
Having a way to store and access custom PCFs, Component Libraries, and Templates can lead to universal theming and consistency. This can help reduce the time for developers since they do not need to remake the same components repeatedly. One navigation bar, for example, could be made and then used universally by just installing that component in the desired environment(s). The current learning curve and lack of features leave much to be desired with the catalog.