Build Shareable UDFs
Users can share the user-defined functions (UDF) across their Pipelines and Projects.
Across Pipelines
Any UDF defined in a Pipeline is defined at the Project level by default. So, it is accessible to all Pipelines in the Project immediately. As a user opens a Pipeline, the UDFs are also copied to the Code of that Pipeline. They would also see the same changes reflected in the uncommitted changes for their Pipeline.
Please see this video for an example
Please note that UDF code is only copied to Code for that Pipeline once the Pipeline is opened. So, if a user has edited or added UDF in a Pipeline, you might see uncommitted changes for another Pipeline whenever you open it.
Across Projects
Once a Project (let's call it BaseProject) is added as a Dependency to another Project (let's call it AppProject), all Project-level UDFs from BaseProject are available in all Pipelines of AppProject.
For example:
Please note that all these UDF are ready only in AppProject and can only be edited in BaseProject
Also, if a User has UDFs coming from two different Projects with conflicting definitions, they will see an error diagnostics in the UDF screen as below.
If a UDF is modified or a new UDF is added in BaseProject, these changes will only reflect in AppProject after the user Releases the BaseProject again, and updates dependency in AppProject