HUBzero lets you access simulation tools online via an ordinary web browser. Where do the tools come from? From you—hundreds of you throughout the world who are developing simulation and modeling tools for your hub. Anyone can upload their own code onto a hub and publish a tool for a limited group of colleagues or for the entire world to use. The code can be kept protected or given out as open source.
This tutorial, presented at HUBbub 2011, shows you exactly how to do that. It describes Rappture, the Rapid APPlication infrastrucTURE, a toolkit within HUBzero that makes it easy to develop graphical user interfaces for scientific modeling tools. Use the Rappture Builder to drag and drop objects that define your interface. The Builder will generate code for a variety of languages, including C/C++, Fortran, MATLAB, Octave, Python, Perl, Java, Ruby, and Tcl. The resulting application is easy to deploy on any HUBzero-powered site, so a large community of users can access it through their web browser. HUBzero guides you through the deployment process. Learn how to contribute and publish a new tool, starting with a tool registration form, going through the process of uploading code into a Subversion repository, developing and testing your code within a workspace, and finally, approving and publishing your tool. Learn how to use the Rappture Regression Tester to verify that your tool is functioning correctly as you publish each new version your code.
Researchers should cite this work as follows:
|Lecture Number/Topic||Online Lecture||Video||Lecture Notes||Supplemental Material||Suggested Exercises|
|Introducing the Rappture Toolkit||View||Notes||Slides Handout
|This talk provides an overview of Rappture and shows how to create tools in minutes by using the new Rappture builder.
|What's Under the Hood?||View||Notes||Slides Handout
|This talk shows how Rappture invokes your tool, passes in input values, and extracts output results. It takes a close look at the XML language that Rappture uses to describe your tool.
|More Rappture Objects||View||Notes||Slides Handout
|This talk shows how to create more complex arrangements of controls. Use the group object to group related input elements. Use the phase object to create separate panels of controls. Use the...
|Advanced Visualization||View||Notes||Slides Handout
|This talk shows how to generate complex outputs and leverage Rappture's built-in visualization capabilities. Use mesh and field objects to create contour plots and surface plots. Use the...
|Regression Testing||View||Notes||Slides Handout
|This talk describes the new Rappture Regression Tester tool, which executes a series of tests that you define to verify the correct operation of your tool. Use this tool as you fix bugs and...
|Uploading and Publishing New Tools||Notes||Uploading and Publishing New Tools
|This tutorial shows you exactly how to do publish a new tool, starting with the tool registration form, taking you through the process of uploading code into a Subversion repository, developing...
|HUB2CAC to access Matlab clusters||View|
|Do you have a computationally intensive Matlab tool? HUB2CAC can
simplify the work needed so your tool can benefit from Matlab
clusters, in particular Cornell's CAC. With only a few items in...