[ 
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)

Reply via email to