= Rappture Documentation = This page contains reference documentation for the Rappture toolkit. Make sure you understand the big picture ([wiki:whatIsRappture What Is Rappture?]) before you get in too deep here. == Rappture Tutorials == The following tutorials teach the basic concepts behind Rappture and take you through several examples in Python, Fortran, and other languages: * [http://hubzero.org/resources/381 HUBbub 2011: Creating and Deploying Scientific Tools] (short course) * [http://nanohub.org/resources/14671 NCN Software Boot Camp 2012] (longer version) == Rappture Examples == There are lots of examples included in the Rappture code distribution. You can [source:trunk/examples/ 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: * [wiki:rappture_xml_elements Rappture GUI XML Elements] == Rappture APIs == The second step is to access the inputs/outputs within your tool via the Rappture library. Pick your favorite programming language: * [wiki:rappture_ccpp_api Rappture-C/C++ API] * [wiki:rappture_fortran_api Rappture-Fortran API] * [wiki:rappture_python_api Rappture-Python API] * [wiki:rappture_tcl_api Rappture-Tcl API] * [wiki:rappture_matlab_api Rappture-Matlab / Rappture-Octave API] * [wiki:rappture_perl_api Rappture-Perl API] * [wiki:rappture_ruby_api Rappture-Ruby API] * [wiki:rappture_java_api Rappture-Java API] * [wiki:rappture_r_api Rappture-R API] == Building Rappture (Linux and MacOS X) == * [wiki:rappture_installation_hardway Compiling] Rappture Runtime (dependencies) and Rappture (toolkit libraries) * [wiki:nanoVisCompile Compiling] nanoVis == File Download/Upload == Rappture has a unique mechanism for [wiki:FileDownloadUpload 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. [wiki:FileDownloadUpload 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 [wiki:rappture_core Rappture Core Object Design]. Work-In-Progress: * [wiki:nanoVis nanoVis] * [wiki:rappture_vis_obj Rappture visualization objects (old)] * [wiki:rappture_qserver Rappture queue server] * [wiki:pqg Publication Quality Graphs] * [wiki:params How the pass parameters to tools] * [wiki:dbchoice Use databases from Rappture] * [wiki:renderserverstodo TODO list for Hubzero renderservers] == Coming Soon: Rappture Services == * [wiki:services Services proposal]