2021/12/1 Improved Custom Actions: Breaking Change

Summary

In the Kleeen IDE you can, create actions that have a custom modal to display to the user. In the past, these actions were stored in a more complex folder structure that made reuse and coding more difficult.

Building a custom actionBuilding a custom action

Building a custom action

You can also associate a custom modal with the add action that Kleeen added by default.

Associating a custom modalAssociating a custom modal

Associating a custom modal

Before the Change

Before this change custom modals were generated on the custom module inside the cloud project apps/cloud/src/app/modules/custom and by workflow in the components folder /explore-marimba/components. The file name was based on the id and looked like /action-a-v-jk-dy-ao-2-qe-d-3-j-9-b-4-jv-mrt.js. Since the custom modal was based on the path where the action was used, there were many custom modals (one per workflow).

Content of the custom modal

The images below show the folder structure using the old method.

complex component name and pathcomplex component name and path

complex component name and path

Complex folder structure to find custom modals componentsComplex folder structure to find custom modals components

Complex folder structure to find custom modals components

After the Change

Now we are writing those actions in a new library called “end-product” libs/end-product where the code is exported with better folder/file structure (end-product/frontend/things/src/marimba) and naming (play-modal.js). The images below show that folder structure.

Content of custom modal with better naming.Content of custom modal with better naming.

Content of custom modal with better naming.

Simplified folder structureSimplified folder structure

Simplified folder structure

Miigrating actions with custom modals

To resolve the issues with this change, move the custom code in the old generated file to the new one manually. Based on the new structure file the custom modal should be inside end-product/frontend/things/{theNameOfTheThing}. Also, all the old files referring to custom modals (those started with the prefix action) inside the custom module apps/cloud/src/app/modules/custom can be deleted without issues.

If you have any questions about this change please contact us at [email protected].