From Cheaha
Revision as of 20:31, 25 January 2012 by (talk | contribs) (→‎Developer Guide: add MediawikiDev link below Cross Platform LAMP stack)
Jump to navigation Jump to search

Attention: Research Computing Documentation has Moved

Please use the new documentation url for all Research Computing documentation needs.

As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.

Thank you,

The Research Computing Team

Docs is a an open documentation platform for UAB built on the Mediawiki engine, the same wiki engine that powers Wikipedia. Content contributions to docs are welcome and encouraged. The breadth, depth, and value of our documentation is directly attributable to those who participate in its development.

Caveat Emptor: Some of information is of historical nature. We are actively reviewing and tagging outdated content to ensure it is updated.

Editing Docs

The only requirements to contribute content to Docs is to authenticate using an identity of your choice and respect the copyright of original material by following the guidelines used by Wikipedia. All material contributed to docs is governed by the Creative Commons Attribution and Share-Alike license referenced at the bottom of each page.

To create a new page, simply edit an existing page and add a reference to your new page by writing the new page's name inside double square brackets, as shown in the following example. Save your edit to the existing page along with a meaningful comment in the Summary text box noting the creation of a link to a new page. After saving this edit, you will see a link to your new page (in red). Follow that link to begin adding content to your new page.

  [[My new page]]

Editing and refining content is as important as original contribution. The wiki model encourages capturing the natural evolution of knowledge. When editing content, please be sure to also make a note of the change in the Summary text box at the bottom of the edit window, eg. "spell check" for minor spelling corrections or "improve readability" for refining activities. If you intend to make major improvements or changes to content, please coordinate those changes with other editors of the content by engaging in a dialog on the pages' "Discussion" tab or by directly contacting the primary contributors for the page as identified on the "View History" tab. Again, the Wikipedia community practices provides value guidance on how to edit pages.

Interwiki links provide convenient shortcuts to the content in other wikis. One of the most useful interwiki link is "wikipedia" which creates links to articles in Wikipedia itself. These interwiki links can provide valuable background for material you are covering in docs. For example, when document an application you can reference the Wikipedia page for associated content relevant to your domain. To create an interwiki link, use the double square bracket convention as you would to link to another local page and simply prefix the Wikipedia article name with "wikipedia:". For example, this link to the Wikipedia article on wiki is constructed as follows:


The vertical bar separator is used to provide text that matches your page content rather than the raw content of the link name.


User Guide

Developer Guide

The research computing system includes a collection of libraries designed to address a variety of needs. The libraries you use and how you interact with them, depends on which aspect of the system you want to leverage. It is possible to work exclusively with one library, using only it's default interface. More evolved tool users might leverage many different libraries and combine them in novel ways to create new applications or additional services. Nonetheless, even simple scripts that only tune a default feature are often the most appreciated.

Our goal is to get you started developing, a.k.a. creating, as quickly as possible. You will eventually want to become familiar with the system model so you can organize your work accordingly.

Generally speaking, as a developer, you will find yourself working in one of two areas of the system. You are either building scripts to support data analysis or virtual experiments using the compute library or you are working on web accessible libraries or applications. The compute library, a.k.a. the cluster Cheaha and all the tools it makes available, is very mature and is used autonomously by most developers today. Web accessible resources are at the leading edge of our research computing platform.

Developers building web accessible libraries and applications, typically, work closely with the core team since this part of the platform is under heavy construction and requires a higher level of coordination between team members.

The following guides provide a rough introduction to the environment.

  • Developer Tools
    • Web -- As with all web development, you need to have an environment where you can run a web application and interact with it via a web browser. For most applications, this requires some light weight web server that will run you code and expose an HTTP interface to your browser. Most web applications have some basic instructions for getting the application set up in a personal development environment. You can use these to get started.
      • Cross Platform LAMP stack XAMPP
      • OpenSUSE LAMP stack [1]. Note: if this is a private dev environment, don't bother opening up the firewall as described. You don't need it since a local web browser will be able to access everything by default.
      • API
    • Command-line -- The command line environment accessible via SSH to Cheaha provides a full service Linux environment where you can build any code that you need. Familiar command line tools are available and more can be discovered with the `module avail` command.
  • Identity Management
  • Data Management
  • Application Frameworks

Administrator Guide