As a CDAP user, I want to be able to Edit, Duplicate, Export and Delete a pipeline. All these commands are organized under "Action" in both the pipeline list view and the pipeline details view
A user can edit a deployed or a running pipeline, by selecting "Edit" from the "Actions" popover.
Selecting "edit" creates a new version of the pipeline which is opened in Studio.
- A pipeline can be edited only by one user at the time.
- When a deployed pipeline is being edited the pipelines is "locked", meaning: other users cannot edit it and will see the "edit" link as grayed out.
- The pipeline is "unlocked" when the new version is deployed or when the studio view of that pipeline is closed.
- An edited pipeline can be saved as a draft.
- Drafts of existing pipeline are saved under "Draft Pipelines"
- There can only be one Draft of any pipeline. The system needs to be able to detect that there is an existing draft. If a user clicks edit again, a modal is displayed prompting the user to either delete the existing draft or open the existing pipeline in the studio.
- If a pipeline is currently running, a label is displayed in the studio " You are creating a new version of an existing pipeline"
This function is the same as "clone", with the following enhancements:
- A user can duplicate not only current versions but also previous versions of an existing pipeline.
- If the user selects Duplicate from the list view, the latest version of the pipeline is duplicated
- if the user selects Duplicate from the details view, the version displayed is the version that is duplicated.
This function is the same as the current "Export", with the following enhancements:
- A user can export not only current versions but also previous versions of an existing pipeline.
- If the user selects Export from the list view, the latest version of the pipeline is exported
- if the user selects Export from the details view, the version displayed is the version that is exported.
- Delete is a global action. It deletes the pipeline and all its versions
- A confirmation modal is displayed when the user selects "Delete"
Title: "Are you sure you want to delete this pipeline?"
Body: "You are going to delete the pipeline and all its versions"
CTA: [Yes, Delete] [No, Keep the pipeline]
- A user cannot delete a pipeline that is currently running