Author: derek Date: Sun Nov 12 16:40:53 2006 New Revision: 173 Modified: sofaswitch/trunk/callflow/docs/description.dxy Log: Add descriptive overview documentation. Modified: sofaswitch/trunk/callflow/docs/description.dxy ============================================================================== --- sofaswitch/trunk/callflow/docs/description.dxy (original) +++ sofaswitch/trunk/callflow/docs/description.dxy Sun Nov 12 16:40:53 2006 @@ -2,11 +2,41 @@ \section secIntro Introduction -We describe the operation of this utilitiy with a series of examples and -associated description. The first part of this document describes the -generation of the graph with the gui, and the second part describes the -running of the graph. +The language chosen to control the SofaSwitch utilties is Python. It is +reasonably tidy language, cross platform, straightforward syntax and does not +have the dependency hell of perl. Sadly nothing is easy, and it takes +considerable effort to write Python scripts to control SofaSwitch utilities. A +graphical approach is preferable. +In this chapter of this manual, we describe CallFlow, how it works, what it +does, and how to get the most result for the minimum of effort. We note that +the user will be exposed to some Python. It is straightforward, and there are +plenty of examples to show you how to write the Python. + +\section secOverview Overview of CallFlow operation +Various items are selected from the tool bar, and placed on the screen. These +are connected together. Once the flow diagram is completed, it is compiled. +Two files are generated. +\li a graph file, which describes the items + on the screen, their internal settings ,and how they are connected. +\li a python file, which contains python documentation and python code to run + any graph file, and one line which invokes the reading of the generated + graph file. + +Prior to execution of the python file, it is expected the server and relevant +SofaSwitch applications are running Separately, in a console, the user will +invoke Python on the python file, and the desired actions happen. + +Each python file invokes the handling of variables for all items on the screen +within one "Controller" class. Should a separate graph be required to +simultaneously, it will be run within a second instance of the "Controller" +class. Thus, all graphs are kept totally separate. Should the user wish to +communicate between different executing graphs, thread safe structures such as +databases should be used. + +\section secPython Python internals +One difficulty + \section secHelloWorld Hello World example Perhaps the simplest example of a graph you can create is the standard "Hello World" example, shown here. @@ -85,10 +115,16 @@ select a region on the screen (left down, move to the opposite corner, left up), shift button down, and drag. +When selecting an item on the screen - it will be drawn with a large red cross +on it. - - - +All items on the screen have associated settings. One such setting is the tool +tip displayed when the mouse is idle above an icon for 2 seconds. Items such +as the for loop structure have additional settings - the start&increment +operations, and the termination condition. You may adjust these settings by +right mouse clicking on an item and adjusting the displayed setting. Some find +it helpful to display in the tooltip of the forloop information about the +number of loops that should be executed.
participants (1)
-
SofaSWITCH SVN