This GUI is an advanced editor for OpenMOLE experiment description through OpenMOLE scripts. It allows editing, managing and running them.
    The way to write these experiments is fully explained in the 
main documentation of OpenMOLE.
    We focus here on the way to manage them in the application.
    
    Basically, in OpenMOLE GUI, you can store, editing files, run and monitor experiments, store authentication credentials for distributed computation.
    The application runs in a browser (Firefox, Chrome, Opera, etc). The First time you run it, you are asked for a
    password to encrypt your settings (server port, authentication credentials, etc). Your settings data (so not your projects, which are never
    wiped out) are preserved so long your password do not change.
    For now OpenMOLE GUI looks like a web application but still run as a heavy client one. This should change in version 8 or 9.
    
    
 
    Clicking on the main red button 
New project in the menu bar offers 3 choices:
    
Empty project
    Selecting thi option creates a new script file called 
newProject.oms in the current folder and open the (empty) file for edition.
    
From market place
    Selecting this option pops up a dialog containing all the running projects contained in our Market Place.
    The Market Place is a collection of projects built by users and offer different aspects of experiments that can be run on the
    OpenMOLE platform with a large variety of programming codes, exploration methods. The sources can be found 
here.
    Just select one of the market entries and click on the 
Dowload button to import it in the current folder.
    
From existing model sources
    The model wizard is a tool designed to quickly import your Model.
    It both uploads your model archive and prepares the OpenMOLE script for you.
    The wizard automatically distinguishes your model's programming language among JVM, Netlogo or native codes.
    Then it detects the potential inputs and outputs. For each input/output, the wizard generates a variable with a relevant name if possible.
    At the end of the import process, the should run your script without you having to do anything!
    
    To import your model, click on the 
Your Model. A dialog box pops up. Set your model path in it.
    The system should now display the programming language, a list of detected inputs / outputs and the command to launch your code.
    In most cases, you are almost done. Just press the 
Build button at the bottom: the wizard dialog disappears and the OpenMOLE script is generated in the wordDirectory with your uploaded code!
    However, you may sometimes want to make some modifications if you observe the system did not correctly detect your code, its inputs/outputs or its launching command.
    
    
 
    
    For each input / output, three actions can be triggered using the icons located on the same line:
    
        - 
           removes the current input/output
- 
            duplicates the current input/output, so that it is both defined as input and output
- 
            or switches an input to output and vice-versa.
    The launching command uses the names of the previously defined input / output variables.
    It is reactive: if the name of the input/output changes, the launching command is updated with the corresponding name.
    For the native codes (C, C++, Python, R, ...), the following syntax is required (automatically used): i{${}}.
    
    The Netlogo applications working with the .nls extension should be previously archived. The system will extract the archives
    and deal with the extensions as resources of the task (displayed in the resources tab)
    A seed variable (for the Netlogo random genarator) is automatically generated and passed to the Netlogo Generator through the Netlogo Task.
    
  The OpenMOLE application essentially handles files: your model files, your model inputs our outputs, and the OpenMOLE scripts,
  where you describe your experiment.
  
  We distinguish multiple kinds of resources:
    
        - 
            oms (for Open Mole Script) is a file describing an OpenMOLE experiment according to the OpenMOLE language
- 
            external code used in OpenMOLE scripts. Codes written in some specific programming languages (Java, Scala, Netlogo, R, Python, ...) can be edited in the application.
             However, they will not be compiled.
- 
            other external resources used as input for a model are editable in the application (CSV files, text files, ...), while binary files like images cannot be modified.
    These files are managed in a file system located in the left sidebar. This side bar offers basic tools for managing files
    
    
 
    
    The current directory is shown at the top in the folder navigation area. When the folder hierarchy is too deep to fit in the bar, it will be replaced by "...".
    Clicking on one folder of the stack sets it as the current folder. In the image above, the current directory is for example 
Pi Computation.
    
    The tool area at the top concerns the current folder and provides with
    
        - 
            filtering this folder by number of entries or by names. It is especially recommended for folders containing a large number of files.
- 
            file or folder creation in the current folder.
- 
            copying files. Clicking this icon make entering in a blue multi-selection mode. Each file selected turns to green.
            The copy button on top permits to copy all of them. Then a paste button appears and just waits for being pressed from any other folder you go to.
- 
            deleting files. Clicking this icon make entering in a blue multi-selection mode. Each file selected turns to green.
            The red Delete button on top permits to wipe them out.
- 
            checking for plugins in the current folder.
- 
            uploading a file from your local machine to the current folder
- 
            refreshing the content of the current folder
    Then, each file on each line has a settings button permitting for 
cloning the current file, 
downloading it, 
editing its name or 
removing it.
    
Play and monitor executions
        When a .oms file is edited, a 
Play button appears in the top right corner to start the execution of the workflow.
        Once the workflow has been started, the execution panel appears, listing information for each execution on a separate row.
        At any time this execution panel can be closed (without aborting the current runnings) and re-opened by clicking on the
        
running icon
         
         
        
        The different statuses of the executions are:
        
            - 
                running: some jobs are running
- 
                success: the execution has successfully finished
- 
                failed: the execution has failed: click on this state to see the errors
- 
                canceled: the execution has been canceled (by means of the button)
    
        In OpenMOLE, the computation load can be delegated to remote 
environments.
        When clicking on the 
authentication icon, panel appears with the list (initially empty)
        of all the defined authentications.  To add one authentication, click on 
New button.
        The currently supported authentications are:
            
                - 
                    SSH authentication with login and password (any environment accessed by means of SSH).
 Set the remote host name and your login on this machine (for example john on blueberry.org),
                     as well as your password. Once saved, the authentication will be added to your list (by example: john@blueberry.org)
- 
                    SSH authentication with SSH private key (any environment accessed by means of SSH).
 Enter the same three settings as for the SSH Password. Now add your SSH private key by clicking on No certificate.
                    A random name will be associated to your key. Once saved, the authentication will be added to your list (by example: john@blueberry.org)
- 
                    Grid certificate (.p12) for Grid Computing
 It only requires your EGI certificate file and the associated password. Click on No certificate to select your certificate file. It will be renamed to egi.p12. Note that only one EGI certificate is required (you will not need any other one!)
 
        
        An authentication can be removed by clicking on the 
trash bin icon.
        An existing authentication can also be edited by clicking on the name of an authentication in the list.
        
        Each time an authentication is added, a check is made on the mentioned environment (for the EGI ones, a list of VOs to be checked can be set in the EGI authentication settings).
        If it fails, a red label appears. When clicking on it, the error stack appears.
    
        New features can be dynamically inserted in the OpenMOLE platform through plugins.
        Advanced users build their own plugins to express concepts that might not be present (yet) in OpenMOLE. In OpenMOLE, plugins take the form of jar files.
        It can also be a JVM based model provided as a plugin. The way to build plugins in OpenMOLE is full described 
here
        
        To add a plugin, open the 
plugin management panel.
        You can upload a new plugin by clicking on the blue top right-hand corner and selecting the corresponding jar file.
        Once uploaded, the plugin appears in the list.
        
        
