Simulations and Computational Science
Publishing your Tools in nanoHUB
This set of resources will start you on the path to publishing your own simulation tools on nanoHUB.
Here is a list of environments currently available in nanoHUB.
Overview of the main types of nanoHUB Tools (Rappture, Jupyter, and Jupyter on Rappture)
This series of web pages introduces different types of nanoHUB simulation tool and guides you through the steps to publish your tool in nanoHUB.
Developing Tools for nanoHUB.org
By Michael McLennan (2008)
This single presentation explains the benefits of running code on nanoHUB vs on a local computer, and gives pointers to getting started. Although some of the details of this 2008 presentation are dated, the basic message is timeless, and a fundamental reason for nanoHUB’s popularity. If you want to publish one of your own simulation tools on nanoHUB, the next step is to go through the NCN Tool Development Workshop - Creating and Deploying Scientific Tools.
NCN Tool Development Workshop: Creating and Deploying Scientific Tools (2019)
This course is on publishing tools in nanoHUB.
nanohub.org 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/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 course shows you exactly how to do that. It shows you how to use a “workspace” to forge new tools. It describes Rappture, the Rapid APPlication infrastrucTURE, a toolkit within the workspaces 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 nanoHUB or any other HUBzero-powered site, so a large community of users can access it through their web browser. 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.
Rappture Bootcamp: Building and Deploying Tools (2012)
This earlier course on building tools has more lecture videos and downloadable material about Rappture tools. Jupyter tools are not included.
nanohub.org (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 the NCN Rappture Bootcamp at Purdue (May 22-24, 2012), 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.