This section provides an overview of sharing principles, limitations, and approaches.For more information on how to share a flow or send a copy of it, see Share Flow Dialog.
In the collaborative approach, two or more users can work on the same flow. When a flow is shared, all flow objects are shared, including:
NOTE: A dataset that is created with parameters cannot be modified by a collaborator. It can only be modified by the owner.
- Job results
NOTE: Sharing of data is managed at the flow level. You cannot share individual recipes or datasets from within a flow.
NOTE: You cannot share a flow with yourself.
All collaborators have access to the above objects, as long as they have permissions to the underlying sources. See below.
Example collaboration methods:
- Distribute the work on a flow with multiple recipes among team members for faster throughput.
- Pass recipes to others for commenting, editing, and general review.
- When stuck, share the flow with the team expert to provide guidance.
Creator or designated owner of the flow. Owners have full permissions.
NOTE: There can be only one owner of a flow.
|Collaborator||A user with whom a flow has been shared. Collaborators have a reduced set of permissions. See below.|
Underlying datasets: Sharing a flow does not change the permissions to the underlying data. If a user with whom a flow has been shared does not have access to the data on the datastore, the user cannot work with the flow's datasets.
- Datasets that are accessed through private connections cannot be shared.
- Stricter permissions sets on the datastore can adversely affect users' ability to access shared flows.
Sharing samples: Samples are not shared when a flow is shared. Users that have been shared a flow must create their own samples.When flows are shared with you, you can access them through the Shared with Me tab in the Flows page. In addition to accessing the flow based on your set of permissions, you can also:
Send a copy of the flow to another user
- Remove access for yourself to the shared flow
See Flows Page.
- Use the imported and recipes as sources in other flows accessible to the collaborator.
- Add new imported datasets.
- Remove existing imported datasets.
- Change the source of datasets.
- Edit dataset names and descriptions.
- Add new recipes.
- Edit the existing recipes, including multi-dataset operations such as union or join.
- Delete recipes.
- Copy recipes within the shared flow.
- Move recipes to the shared flow.
- Move recipes out of the shared flow.
- Run jobs.
Collaborators do not have the following permissions on a flow shared with them:
- Delete the flow
- Edit the details of the flow
- Remove the flow owner's access to the flow
- Delete imported datasets
- Modify imported datasets or change their scope via custom SQL
Owners and collaborators have the same permissions to edit recipes in the shared flow. In the Edit History, edits appear under the usernames of the individual contributors.
NOTE : Multiple editors cannot make changes to the same recipe at the same time.
NOTE: When a column is hidden from a dataset, it is hidden for all users.
Tip: You can review the history of changes to a recipe through the Edit History for a recipe. See Recipe Panel.
You can remove sharing access to a flow. When a flow is no longer shared, the collaborator:
- Cannot see the flow or its objects
- Cannot access them, if the user knows the location of the objects
NOTE: If a dataset from a shared flow is referenced in another flow, when sharing access is removed from the flow, the referenced dataset is still available in the other flow.
As needed, you can send a copy of a flow to one or more users. Each user with whom you send the flow has an independent version of the flow. Changes made in copies of flows do not affect the original flow, and vice-versa. Examples:
- You have a recurring set of recipe steps that you wish to apply across multiple sources. You send a copy of a flow with an example dataset, so that other users on your team can use the same, consistent approach to start working with their sources.
- Another user wants to conduct some experimental changes to a flow but does not want to affect the production version of it.
When a flow is sent to another user, all objects in the flow are copied and passed to the other user, including:
- Flow definition
- Recipes in the flow
The original imported dataset(s)
- The source of the flow is written in the description of its copy. If that value is changed, you cannot determine through the GUI if the flow was sent or not.
- In the Edit History panel, all edits made prior to the flow being sent to the current user appear as a single edit.
- Samples are not shared.
- Output objects are not included in the shared copy.
- Reference datasets are not included in the shared copy.
When you create a copy, you can optionally create copies of the imported datasets with the copied flow. Implications:
|Did not copy imported datasets||Did copy imported datasets|
When you open your flow, you must swap in imported datasets to replace any missing or inaccessible ones. See Flow View Page.
NOTE: If recipes and imported datasets are removed from the source flow, they disappear from the sent version. This is a known issue.
|Copied flow contains independent imported dataset objects|
When a flow containing parameters is copied, any changes to parameter values in the copied flow also affect parameters in the original flow. As a workaround, you can export and import the flow into the same system and replace the datasets in the imported flow.
|Parameter values in the flow copy are set independently.|
The users to whom copies are sent are owners of those copies. They have full permissions over the flow and its datasets.
The new owner of the copied flow has full editing permissions on the recipes. They can share or send copies of the flow to other users as needed.