Github user Leemoonsoo commented on the issue:

    https://github.com/apache/zeppelin/pull/1176
  
    Thanks @cloverhearts for the contribution and the descriptions.
    And sorry for giving some negative feedbacks here.
    
    **Workflow definition**
    I'm not sure about workflow definition shares dynamic form syntax `${ ... 
}`.
    I think it's not a good idea access two completely different feature with 
one syntax.
    
    **Alternative approach**
    Current approach does create new syntax for workflow creation. And 
WorkflowManager, WorkflowJob, and so on. 
    
    I think there is much simpler way achieve the same goal, with more 
flexible/powerful workflow control while keeping usage simple and easy.
    
    Currently, 
[z.run(PARAGRAPH_ID)](https://github.com/apache/zeppelin/blob/master/spark/src/main/java/org/apache/zeppelin/spark/ZeppelinContext.java#L291)
 in spark interpreter allows run other paragraph in the same notebook. 
    
    Simply extend this method, from
    ```
    z.run(PARAGRAPH_ID)   # run paragraph in current notebook
    ```
    to
    ```
    z.run(PARAGRAPH_ID)   # run paragraph in any notebook
    z.run(NOTE_ID)        # run all paragraphs in the notebook
    ```
    will achieve the same goal without introducing new syntax or 
WorkflowManager.
    Then you can just define workflow in scala programming language in spark 
interpreter. e.g.
    
    ```
    z.run("Paragraph1")
    z.run("Paragraph2")
    if (somecondition) {
       z.run("Paragraph3")
    } else {
       z.run("Note2")
    }
    ```
    Which is more flexible. 
    
    And note that, `z.run()` feature can be implemented not only in 
SparkInterpreter but also in any other interpreter. Therefore, other 
interpreter may provide different interface (python, etc) to access this 
feature. And if we really want new syntax, it's even possible to create 
`%workflow` interpreter and provide custom syntax or some gui using 
AngularDisplay system to define and run workflow.
    
    So, i think just improving `z.run()` provides more flexible, modular, 
easier solution.
    
    What do you think?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to