Developer Information
Note: This guide is a work in progress. Please send any comments to ag-info@mcs.anl.gov.
Most of the Access Grid is written in Python, so familiarity with Python is assumed beyond this point.
Communication between developers is very important, whether you're working on changes to the core AG toolkit, or on auxiliary applications. This is a collaborative community, and many of the available development opportunities are well-known; involving other people in discussion of your work could yield improvements in concept, design, or implementation, and you may find collaborators willing to help with coding.
Mostly, we communicate using the following media:
Mostly we follow the Python coding standards. Additional items that need to be expressed include:
To view the code repository using your web browser, click here.
We use Subversion for version control. Clients are available for all the major platforms, typically in both command-line and GUI variants.
The relevant bit of information you need to access the Access Grid Subversion repository is the SVN url:
https://svn.ci.uchicago.edu/svn/accessgrid
To check out the most recent code (the development trunk) using a command-line client, the command would be:
svn co https://svn.ci.uchicago.edu/svn/accessgrid/trunk AccessGrid
To check out the most recent code, including all of the current dependencies, the command line would be:
svn co https://svn.ci.uchicago.edu/svn/accessgrid/build/macosx
or
svn co https://svn.ci.uchicago.edu/svn/accessgrid/build/win32
The easiest way to get all the dependencies in place is to install the Access Grid toolkit on your machine. On top of an installed toolkit, the following steps will create a working development environment.
To install ZSI, in the ZSI directory:
python setup.py install
set PYTHONPATH=C:\AccessGrid
export PYTHONPATH=/home/$USER/AccessGrid
. /Applications/AccessGridToolkit3.app/Contents/Resources/setupenv.sh
export PYTHONPATH=/Users/$USER/AccessGrid
python tools/bootstrap.py
With the environment set up, you can begin running Access Grid applications from your development environment.
python bin/VenueClient.py
python bin/VenueServer.py
A good introduction to working with the Access Grid code is given in the developer tutorial, including numerous examples of standalone code, shared applications, and node services.
If you have code you'd like to contribute to the project, or an application you'd like to have considered for inclusion in the core toolkit, follow this process:
Your code will undergo review and discussion, with some possible iterations on the approach and implementation details (more benefits to discussing your project more publicly and earlier). When this is complete, the code will be committed to the repository and included in the next release.
If you frequently contribute content, it may be best to apply for an account for the AG subversion repository so you can commit code directly. To find out more about getting a developer account, write to us at ag-info@mcs.anl.gov.
Generated documentation for the Access Grid code is available online by software version
The dependency libraries can change between versions, so the list is given for each version