[ https://issues.apache.org/jira/browse/AMBARI-17994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yusaku Sako updated AMBARI-17994: --------------------------------- Description: (was: Wireframes: https://drive.google.com/a/hortonworks.com/file/d/0B2pU6s94KiSsMzh6MDBrNm8wcDQ/view?usp=sharing Build the workflow creation Ambari View. The Workflow Designer is a full screen form allows importing existing workflows (currently supports Oozie) and creating new workflows. The Workflow Designer provides a graphical user interface for building workflows and generating the appropriate XML that can be executed by Oozie. In the future, other workflow managers may be supported, so the designer should be developed to allow pluggable workflow engines and the ability to save workflows in a variety of formats. Workflow design consists of three main functions: * Name and instantiate a workflow * Define the workflow * Define the workflow settings These three functions are described below. *1. Name and instantiate a workflow* Each workflow must be identified by a unique name. The name cannot contain colons (:). Each workflow may have a description which consists of a text field. !NameWorkflow1.png|thumbnail! Once the form is completed, the user can press the Next button or the Design Workflow Top Menu Item to proceed to defining the workflow. If an invalid name is entered, an error notification is displayed: !NameError.png|thumbnail! When Next is selected from the Name Workflow function or the Design Workflow Top Menu Item is clicked, the Design Workflow form is displayed. !The Design Workflow form opens on a simple workflow diagram consisting of three nodes: two Control Nodes, start and end, labeled Prepare Workflow and Completed, respectively and a placeholder for an new Node. Hovering over the placeholder wiill display the Add Node Menu. Clicking any action or control function from the Add Node Menu will add a new Node to the diagram. Once the first Node is added, two additional placeholder nodes are added to the diagram, one above the new Node and one below it. As additional nodes are added to the diagram, the system adds placeholder nodes to ensure there is always a placeholder above and below each node to facilitate adding new functionality anywhere in the workflow. Once a node is added the user enters a name for the node. Names are used as Tags by Transitions to control the operation of the workflow. After a node is named, clicking on the node allows the details of the node to be specified Each type of Action or Control requires specific inputs and outputs although all nodes share some common attributes. Input should be minimized wherever possible. Also, input should be validated by some combination of the following: Paths and files: should be selectable from a pop-up form of the File Browser view. If a path that does not exist is specified, a "create/destroy on run" radio button should appear. Properties: properties should be validated either via an Ambari repository or other source. If a property does not exist, the user should be prompted to see if it is a user defined property. If it is a valid property, the current value of the property to should automatically be displayed. Arguments: a repository should be created for valid arguments and combinations of arguments for each command supported by the workflow engine. When creating an action, only valid arguments and combinations of arguments can be entered. Other fields: where possible, RegEx validation should be used to ensure proper formatting of such entries are URIs, email addresses, etc. .All Action nodes can specify an SLA. The SLA consists of the expected start time for the action, the expected end time, the nominal runtime and the maximum duration. Start time is entered as specified in function 3 Defining the Workflow Settings, either by keying in the start time our using the Time Wizard. The SA also specifies the upstream applications that the action is dependent upon and includes the conditions that will trigger an alert such as missed start time, missed end time or missed duration along with the email addresses, in a comma separated list, of those to be notified and the message to be sent. In addition, all Nodes must specify Transitions. Transitions control what Node is to be executed when the current Node completes. Each node specifies two transitions. The OK Transition indicates the node to jump to if the current node completes successfully. The Kill Transition indicates the node to jump to in the event the current node fails. Transitions are specified via a dropdown box that lists all the nodes defined in the workflow except the start node. Once the workflow is completed, the user can press the Next button or the Workflow Settings Top Menu Item to proceed to defining the workflow settings. Workflow designer maintains version control of all workflows edited via the designer. *Validations on Save* If the Workflow is saved in Draft form, no checks are performed. Otherwise, the following validations are performed: The Variables defined are checked against the variables specified in the Job XML. If specified variables have not been defined, a notification is displayed with a list of the undefined variables. Once the workflow is completed, the user can press the Next button or the Workflow Settings Top Menu Item to proceed to defining the workflow settings. Workflow designer maintains version control of all workflows edited via the designer. At the top and to the left of the form are menu bars with iconic buttons that perform functions related to workflow creation and modification. The picture below describes the various buttons. https://hortonworks.jira.com/secure/attachment/80895/Slide1.jpg https://hortonworks.jira.com/secure/attachment/80895/Slide2.jpg On the left side menu, are two icons indicating libraries. These will be not be visible in the MVP as we do not have plans to implement a repository for Erie. When the user mouses over the menu buttons, the text shown in the image above are displayed as tool tips. The main body of the form consists of three node workflow template. The Start Node is represented by a Begin icon, a circle around a right facing triangle. The Stop Node is represented by a Stop icon, a circle around a solid square. A placeholder is positioned between the Stop and Start nodes. The placeholder is shown as a plus (+) sign inside a solid circle. This is the only node that behaves as a hotspot. When the user hovers over or clicks a placeholder, the Action menu is displayed. In this MVP, Workflow Designer supports only Hive, Pig, Spark, Sqoop, Shell, Parallel Branches, and Kill. Parallel Branches supports creation of both fork and decision nodes https://hortonworks.jira.com/secure/attachment/80901/MVPMenu.png In addition to the information contained in individual Jira's, follow the guidance in the User Experience - User Interface Development Guidelines: https://docs.google.com/a/hortonworks.com/spreadsheets/d/1VYz7MDTp19R9r44VnLIwJlgJo84qMCq8l6NzSVBFshg/edit?usp=sharing ) > Workflow Designer > ----------------- > > Key: AMBARI-17994 > URL: https://issues.apache.org/jira/browse/AMBARI-17994 > Project: Ambari > Issue Type: New Feature > Components: ambari-views > Reporter: Christine > Fix For: 2.4.0 > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)