In a collaborative environment, it can be helpful to be able to have multiple users work on the same assets or to create copies of good quality work to serve as templates for others.
|D s product|
This section provides an overview of sharing principles, limitations, and approaches.
NOTE: You can share connections, too. See Share Connections below.
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:
- 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.
|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: A flow's samples are not necessarily available to all users who have been shared the flow. In some cases, if a user who has been shared a flow does not have access to a recipe's sample, the user may have to collect a separate sample to view data or edit the recipe associated with the sample. To enable universal access to shared samples, you can use either of the following permissions schemes:
- The default output directories for any user can be accessed by any other user. This configuration must be managed in the base storage layer.
- When the sample is executed, an individual user must set his or her default output directory to a location that shared users of the flow can access.
Send a copy of the flow to another user
Send a copy of the flow to yourself
- 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
Reference and output objects
- The original imported dataset(s)
When you open your flow, you must swap in imported datasets to replace any missing or inaccessible ones. See Flow View Page.
- 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.
NOTE: When a flow containing parameters is copied, any changes to parameter values in the copied flow also affect parameters in the original flow.
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.
When initially created, a connection is private. It is accessible only to the user who created. it.
Through the Connections page, you can share your connections with other platform users:
- Share connection with individual users: You can share your connection with specified users of the platform.
- You can also share connections that have been shared with you.
- Make connection public: Public connections are available for use by all users.
NOTE: Sharing of connections is not supported through the command line interface.
When shared, private connections can be shared with or without credentials. If credentials are not shared, new users of the shared connection must supply their own credentials. Those credentials must be permitted access if access to any datasets previously imported through the connection is required.
NOTE: Password values for credentials are always masked in the user interface.
NOTE: For SSO connections, credentials are never shared. Instead, the Kerberos principal of the user with whom the connection is shared is used to connect. That principal must have the appropriate permissions to access the data.
For more information, see Connections Page.
Sharing connections through flows:
When a flow is shared, any connections associated with it are automatically shared to the specified users. If the connection is configured to do so, credentials are included, so that the new users can immediately begin using the flow.
For more information, see Flow View Page.