We’re learning a great deal as we go about how to create reusable packs of classes and components to speed flow extensibility.
Building on that, we’re introducing two new Flow ‘BasePacks’ that will replace the original FlowBaseComponents. There will be one for Actions and one for ScreenComponents. This is being done because there are really good reasons to put the Actions in a Managed Package but it’s currently impossible to create libraries of LWC’s in Managed Packages and access those LWC’s from an LWC that isn’t in the same namespace. Splitting them up does the trick.
The existing FlowBaseComponents will continue to work indefinitely, but will not be enhanced in the next year, and we do not recommend the use of it as a prerequisite in new development. The existing FlowBaseComponents package version 1.3.4 will remain available for use with components that require it. We’re going to be encouraging extension developers to make use of these new base packs, going forward, and don’t plan to enhance FlowBaseComponents
Going forward, we’re breaking FlowBaseComponents into two packages:
FlowActionsBasePack will be made available as a managed package. This makes it easier to install (details below).
FlowScreenComponentsBasePack will be made available as an unlocked package. This is necessary because Lightning Web Components can’t use custom libraries yet if they’re managed (and thus have their own namespace).
Note that FlowScreenComponentsBasePack requires that FlowActionsBasePack already has been installed, because some of the base screen components make calls to some of the base actions.
FlowScreenComponents BasePack requires the presence of FlowActions BasePack, because some of the screen components inside of it rely on Apex classes that are included in FlowActions BasePack. So you’ll need to install FlowActions BasePack first.
Problems This Change Addresses
- Your org will no longer attempt to run the Apex tests used to test the Apex Classes when you try to install the base actions. This sometimes causes install errors when a test class tries to create a record but doesn’t provide all the required fields
- The hundreds of thousands of characters of Apex code in the base actions will no longer be counted against your org limits