Developer Notes: Packaging Changes to the Base Packs

Version 3.0 of FlowActionsBasePack will shortly be available. It is still a managed package, but the namespace of 3.0 and all subsequent versions of FlowActionsBasePack is ‘usf3’ instead of ‘usf’.

Version 3.0.6 of Flow Screen Components Base Pack is being released at the same time. It requires Version 3.0 of FlowActionsBasePack. 9 files that made calls to the usf namespace had their names changed so they can call the usf3 namespace. for example, the component fsc_fieldSelector has been replaced with fsc_fieldSelector3. As a result you will see some dual files, like this:

This means that although the 3.0.6 version of Flow Screen Components Base Pack replaced fsc_fieldSelector with fsc_fieldSelector3, your copy of fsc_fieldSelector was not deleted because something is using it.

We’re encouraging all extension developers to use the latest versions of FlowActionsBasePack and FlowScreenComponentsBasePack as dependencies. If you have calls to ActionBasePack classes, you’ll need to do a find and replace to replace your ‘usf_’ with ‘usf3_’ and if you’re calling one of the screen components like this:

<c-fsc_field-selector
                    if:false={renderFlowCombobox}
                    name="fieldField
</c-fsc_field-selector>

….you’ll want to call the new version instead:

<c-fsc_field-selector-3
                    if:false={renderFlowCombobox}
                    name="fieldField
</c-fsc_field-selector-3>

If you have any questions or issues, this post is a good place to post them.

Why the extra messiness and the namespace change? The simple answer is that I broke the packaging upgradeability because I wasn’t careful enough. The changes made here ensure that everyone will be able to upgrade to this new v3.0 generation and other changes ensure that package upgradability can’t be broken in the future.

We’ll gradually upgrade all of the extensions to use V3 and above, and once that’s done, it will be possible to delete the old duplicate files and the old usf namespace classes if you wish.