Home | Download/Install | Documentation | Packages | Screenshots | News | Forum/Mailing-lists | Contact | GForge

Coding sprint summaries

5th coding sprint

Date : 16, 17,18 01/07


  • Christophe Pradal
  • Romain Fernandez
  • Nicolas Dones
  • Christian Fournier
  • Szymon Stoma
  • Fredereic Theveny
  • David Da Silva
  • Jerome Chopard
  • Frederic Boudon
  • Samuel Dufour-Kowalski

Works list:

  • Presentation of recent OpenAlea development.
  • Presentation of model to integrate (Fractalysis, Merrysim/Merryan/…, PyCaribu)
  • Environment Installation
  • Partial code review
  • Definition of different level of interface (UI, GUI, CLI)
  • Specification of the Node and Factory interface
  • Adaptation of Core to these new interfaces
  • Display category in Visualea
  • Integration of different packages (Fractalysis, Merrystem…)
  • PlantGL refactoring
  • Core improvement and bugs fix
  • Default widget generator correction and improvement
  • Work on RATP/F2PY

Whish & feature list:

  • defining categories to share nodes
  • methodology for visualisation nodes
  • high level API of the basic components for command line end user
  • generate script and GUI
  • save a session (dataflow)
  • generic way to save objects (simple or result of simulation)
  • documentation of how to integrate a package in the GUI
  • design improvement of the default widget and of visualea
Some results

4th coding sprint

Date : 09/11/06


  • Christophe Pradal
  • Samuel Dufour-Kowalski

Definition and creation of the openalea package. This package contains a script create_config.py which create a config file. Here is an instance of a config.py generated.

namespace= 'openalea'
version= '0.0.2'
prefix_dir= r'/usr/local/openalea'
lib_dir= r'/usr/local/openalea/lib'
include_dir= r'/usr/local/openalea/include'
bin_dir= r'/usr/local/openalea/bin'

This script will be use by other package installer in order to know where to install shared library and others files.

3nd coding sprint

Date : 22/06/06 - 23/060/06


  • Frédéric Théveny
  • Christophe Pradal
  • Samuel Dufour-Kowalski

Template package

Preparation for the integration of the Pydrop package.

2nd coding sprint

Date: 08/03/06 - 10/03/06


  • Florence Chaubert,
  • Nicolas Donès,
  • Christophe Pradal,
  • Colin Smith,
  • Frédéric Théveny

Summary of Concepts

  • Package
    • Node factories
    • Widget factories
    • Description of the contents
  • Package Manager
    • Allows the loading and registration of packages
    • Supplies the list of available packages
  • Node
    • Callable object
    • Defined, typed inputs and outputs
  • Widgets
    • Graphic representation of a node
  • Application
    • A collection of widgets
  • Workflow
    • Directed acyclic (this may change in the future) graph of nodes with entry and exit points
    • A workflow can have several entry and exit points
    • The state of each node is saved in the workflow

Package Installation Process

Main issue: We need a tranformation stage to take a package from its distribution form to a form that is compiled and can be copied into the OpenALEA package pool.

A package should copy its files into OpenALEA at the following locations (assuming a root directory of ALEA).





include files


python files




resource files


a usage example


package tests


It is the responsibility of the package developer to put the outputs of the package compilation in the correct intermediary places such that they can be copied into OpenALEA by the function package.install.

By convention the intermediary organisation should be (assuming a root directory of PKG, usually the package name)





include files


python files




resource files


a usage example


package tests


To Do

  • GUI
    • Finish the port to PyQt 4 (dependant on the completion of PyQt 4, it is still in development)
      • the Canvas
      • Workflow management
      • the Package Manager interface
      • the python shell
  • Package & Package Manager
    • Finish the package installation code
      • Need to get the installation tests working
    • Verfication of the dependencies
  • OpenALEA Configuration
    • Where OpenALEA is installed
  • Need to create some example scenarios to test the use of OpenALEA
    • Need to write some packages that do simple things
    • Test the workflow with packages

1st codind Sprint

Date: 7/11/05 - 10/11/05


  • Pierre Barbier de Reuille,
  • Loïc Calvino,
  • David DaSilva,
  • Nicolas Donès,
  • Christophe Pradal,
  • Szymon Stoma,
  • Frédéric Théveny



Python Interpreter

  1. PyCute (should be changed)

Workspaces (visual programming)

  • Canvas + CanvasItems
    1. Connection between CanvasItems
    2. Link deletion
    3. CanvasItems movement capability

Software Bus

  • Packages (menu)
    1. Name, Short description, System name, Visible Status
  • Node (only for visible packages)
    1. package sorting (Name, Short description, System name, Long Description, Loaded status, Installation status)
    2. category sorting (2 levels ?)
  • Object
  1. Name and type of instanciated objects
  • Applications (only for visible packages)
  1. ?


  • A Separated windows per application
  • Communication via software bus (drag & drop)



  1. Node network (DAG)
  2. Communication between nodes
  3. Workflow evaluation (semi-lazy)

Package Manager

  1. Available Package list
  2. Registration process
  3. Installation process
  4. Depedencies management


  1. Legal informations, Name, System name, Short and Long description, Version
  2. Directories
  3. Available Nodes
  4. Available Widgets
  5. Available Applications


  1. Legal informations, Name, System name, Short and Long description, Version
  2. Typed Inputs and Outputs
  3. Callable object
  4. Subset of Inputs for the GUI –> parameters


- Cross review and integration - Some packages - Having a 'import alea' working with packages from regular interpretor - Simple scenario - Documentation


  1. Finish nodes visualization
  2. Create objects visualization
  3. Create applications visualization
  4. Continue the workspace
  5. Interaction between differents parts (drag and drop)

—→ Problem PyQt3 does not exist on Windows, PyQt4 coming ?


  1. Finish Package Manager implementation
    • Stable API
    • Installation process
    • Dependencies management
  2. Settings implementation
  3. Signaling system
  4. Data Store implementation


  1. Finish and improve lazy evaluation implementation
  2. Integration with main window –> API
  3. Node definition and API
  4. Type system

The next coding Sprint should take place in beginning 2006 and before we should :

  • Finish the kernel Package Manager and Data Store parts without signal system
  • Console mode Integration and scenario definition
documentation/core/coding_sprint_summaries.txt · Last modified: 2013/12/04 15:59 by user   Back to top
INRIA GForge RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki