Documentation: Difference between revisions

From Cheaha
Jump to navigation Jump to search
(→‎Developer Guide: Add link to data management framework)
(Link to informaiton security guide)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Docs is a an open documentation platform for UAB built on the [[wikipedia:MediaWiki|Mediawiki]] engine, the same wiki engine that powers [[wikipedia:|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.
Docs is a an open documentation platform for UAB built on the [[wikipedia:MediaWiki|Mediawiki]] engine, the same wiki engine that powers [[wikipedia:|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.  Please see the notes on [[Editing Docs]] for information on how to contribute to this wiki.


Caveat Emptor: Some of information is of historical nature. We are actively reviewing and tagging outdated content to ensure it is updated.
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 [http://apps.uabgrid.uab.edu/login authenticate using an identity of your choice] and respect the copyright of original material by following  the [http://en.wikipedia.org/wiki/Wikipedia:List_of_guidelines#Content|contribution guidelines used by Wikipedia].  All material contributed to docs is governed by the [http://creativecommons.org/licenses/by-sa/3.0/us/ 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.
<pre>
  [[My new page]]
</pre>
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 [[wikipedia:Wikipedia:List_of_guidelines#Editing|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 [[wikipedia:wiki|wiki]] is constructed as follows:
<pre>
[[wikipedia:Wiki|wiki]]
</pre>
The vertical bar separator is used to provide text that matches your page content rather than the raw content of the link name.


= FAQ =
= FAQ =
Line 64: Line 47:
** 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.
** 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]]
*** Cross Platform LAMP stack [[XAMPP]]
**** [[MediawikiDev]]
*** OpenSUSE LAMP stack [http://en.opensuse.org/SDB:Linux_Apache_MySQL_PHP]. 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.   
*** OpenSUSE LAMP stack [http://en.opensuse.org/SDB:Linux_Apache_MySQL_PHP]. 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]]
*** [[API]]
Line 95: Line 79:
* Managing Permissions
* Managing Permissions
** [[File Access Control]]
** [[File Access Control]]
= Information Security Guide =
A nascent [[Information Security Guide]] is under development.  The current information provides perspective on the priniciples and perspective guiding that effort.

Latest revision as of 16:37, 24 May 2013

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. Please see the notes on Editing Docs for information on how to contribute to this wiki.

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

FAQ

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

Information Security Guide

A nascent Information Security Guide is under development. The current information provides perspective on the priniciples and perspective guiding that effort.