About
Authors
Information
Type: Digital Archive
License: LGPLv3
Timeline:
Institution: HUBzero Foundation (non-profit), Purdue University
Links
Example Project - nanohub.org
Associated Publication - nanohub.org
Motivation
From their about page:
Just Another Web Site? Why Not Use a WordPress Blog?
HUBzero includes a powerful content management system built to support scientific activities. Sure, users on a hub can write blog entries and participate in discussion groups, but they can do so much more. They can work together in projects, publish datasets and computational tools with Digital Object Identifiers (DOIs), and make these publications available for others to use—not as dusty downloads, but as live, interactive digital resources. Simulation/modeling tools published on a hub can be accessed with the click of a button. They run on cloud computing resources, campus clusters, and other national high-performance computing (HPC) facilities and serve up compelling visualizations.
Rubric
✔ - Yes
✗ - No
○ - Yes, but with concession
· - Inapplicable
? - Unknown
Infrastructure | ||
Self-Hosting | ✔ | You are expected to create hubs for your own institution or subfield. |
Provides Metadata | ✔ | |
Provides Hardware Diversity | ✗ | The infrastructure is mostly just either file hosting or a strictly Linux environment. There is no driven effort toward offering hardware resources. |
Dispatches Work to Cloud Machines | ❓ | |
Provides a Web Portal | ✔ | |
Provides Performance Monitoring | ✗ |
Capabilities | ||
Runs Code | ✔ | |
File Storage | ✔ | |
Collaboration Controls | ✔ | |
Provides Citations | ✔ | Citations are generated and presented on each tool's About page. |
Interactive Graphing | ✔ | Through their integrated tools, you can have interactive graphing and interactive tooling. |
Can Combine Objects Interactively | ❓ | |
Can Archive/Run GUI Tools | ✔ | Only artifacts compiled and prepared against their Rappture framework which has specific UI requirements. |
Can Hook to External Services | ❓ |
Access | ||
Public view of object | ✔ | |
Access Permissions for Editing | ✔ | |
Access Permissions for Reading | ✗ | |
Access Permissions for Anon Review | ✗ |
Provenance | ||
Search | ✔ | |
Globally Unique Identifiers for Projects | ✔ | DOIs. Interactive tools are also assigned DOIs. DOIs only assigned when published, however. Projects are only locally unique. |
Provides URL to Project / Data | ✔ |
Governance | ||
Open Source | ✗ | It is open source, and free software, yet it is difficult to gather the source as it isn't in a public location and the link to download it is broken. |
Allows Modification / Redistribution | ✔ | LGPLv3 or MIT |
Has a Free-to-Use Package | ✔ | |
Has a Student Package | ✔ | Gives some special privileges to grant-awarded research. |
Has a Paid Package | ✔ |
Walkthrough
Once you have an account on any of the HUBzero-based services (nanoHUB, etc) you can create a project. A project will be a place that one can post materials and files which you can then add other accounts or user groups to allow access and collaboration.
After you create a project, you will be assigned as its manager. You can add others as contributors to allow them read/write access. One of the capabilities of a project is using it as a file store.
You can upload any amount of files of any type to the project. Projects can have 2GB of storage, although you can request more if the project is a publicly funded endeavor.
HUBzero has mechanisms to support running interactive tools and simulations directly within the browser. Accounts can start 3 active sessions. Every account has 1GB of storage that is accessible and shared by all sessions. When browsing the available tools, you can simply click the "Launch Tool" and almost immediately use the software directly within the browser.
Infrastructure
Capabilities
HUBzero is able to execute simulations and run either very specifically designed applications using their UI framework Rappture or generic applications that can run within their Workspace environment.
With Rappture, you define your user interface with an XML document. You can then wire your application to the UI components using a library for your programming language. They support various languages such as Python, R, Java, and C. The actual application that runs will be a Java application which will call out to the rest of your program. They run the applications on the server and stream the video of the application through a javascript or Java-based VNC client.
Rappture is great for tools which are primarily command-line driven. The framework gives the ability to wrap such tools in a way that is consistent among other tools on the hub.
Their generic infrastructure is best illustrated by their Workspace tool which
simply runs a Linux environment and gives you a terminal. By using a importfile
command, you can upload files to your 1GB of storage space resident and shared
among all running interactive sessions.
There is no internet connection allowed within the widget unless it is approved. This can made testing and building components within the session a little difficult but improves the security of their system. However, it is not too difficult to just upload the packages you might want and build and install them directly.
Access
HUBzero accounts can be assigned to groups. These groups can be given ownership or access to resources stored in HUBzero.
Provenance
Governance
Strengths
To be discussed.
Breakdown
Weaknesses
To be discussed.
Breakdown
Unique Features
To be discussed.
Best-Practice Influences
To be discussed.
Digital Library Incorporation Issues
To be discussed.
Applied Use-cases
To be discussed.