This page contains reference documentation for the Rappture toolkit. Make sure you understand the big picture (What Is Rappture?) before you get in too deep here.
The following tutorials teach the basic concepts behind Rappture and take you through several examples in Python, Fortran, and other languages:
- HUBbub 2011: Creating and Deploying Scientific Tools (short course)
- NCN Software Boot Camp 2012 (longer version)
There are lots of examples included in the Rappture code distribution. You can browse these online. Or, you might copy them into your working directory within a nanoHUB workspace as follows:
% cp -r /apps/rappture/current/examples .
Rappture GUI Elements
The first step in building a Rappture application is to describe the inputs and outputs for your tool:
The second step is to access the inputs/outputs within your tool via the Rappture library. Pick your favorite programming language:
- Rappture-C/C++ API
- Rappture-Fortran API
- Rappture-Python API
- Rappture-Tcl API
- Rappture-Matlab / Rappture-Octave API
- Rappture-Perl API
- Rappture-Ruby API
- Rappture-Java API
- Rappture-R API
These utilities are installed along with Rappture to help process run.xml files:
Building Rappture (Linux and MacOS X)
- Compiling Rappture Runtime (dependencies) and Rappture (toolkit libraries)
Rappture has a unique mechanism for file download/upload when applications are running within a Web browser. The application itself acts as a Web server, and a filexfer "helper" applet is sent to the client's browser. Read more...
Passing Parameters from URL
This page describes how to pass parameters to tools on the hub. Read more...
Proposed Rappture Map XML Elements
This page describes a proposed map object for rappture. Read more...
Proposed Dataset XML Element
This page describes a proposed dataset object for rappture. Read more...
Running Windows tools in WINE
This page describes problems running windows tools in WINE Read more...
Coming Soon: Rappture 2.0
We're working on a complete redesign of Rappture, combining the XML description and the code that accesses this descriptiong, making it easier to integrate Rappture into your applications. Here are some notes on the Rappture Core Object Design.
- Release Notes
- Publication Quality Graphs
- How the pass parameters to tools
- Use databases from Rappture
- TODO list for Hubzero renderservers
- Roadmap for map rendering in Rappture