Difference between revisions of "Co-op Documentation"

From WormBaseWiki
Jump to navigationJump to search
(Created page with '==Tools== The following are some of the tools with which many major aspects of WormBase are developed. ===Perl=== There is significant documentation on getting started with Perl.…')
 
Line 42: Line 42:
 
#Retrieves data for corresponding fields from API methods (/lib/WormBase/API/Object/[Class].pm)
 
#Retrieves data for corresponding fields from API methods (/lib/WormBase/API/Object/[Class].pm)
 
#Sends data to the template to be used in rendering the widget (/root/templates/classes/[Class]/[Widget].tt2)
 
#Sends data to the template to be used in rendering the widget (/root/templates/classes/[Class]/[Widget].tt2)
[[File:WidgetDataLoading.png|Widget Loading]]
+
[[File:DataWidgetLoading.png|Widget Loading]]
 +
 
 
==Other==
 
==Other==
 
*[WormBase dir]/root/templates/config/main contains useful macros such as get_url
 
*[WormBase dir]/root/templates/config/main contains useful macros such as get_url

Revision as of 16:22, 17 January 2012

Tools

The following are some of the tools with which many major aspects of WormBase are developed.

Perl

There is significant documentation on getting started with Perl. One starting point is

Catalyst

Catalyst is the web development framework used to develop WormBase. To get started, read

  • The Definitive Guide to Catalyst

Git

Git is a version control system used for collaboration and backup in the development process.

Given that we have modified two files a.txt and b.txt but do not wish to keep the changes made to b.txt

git status
git checkout b.txt
git add a.txt
git commit -m “Added change1 and change2 to a.txt”
git push

If we have did not have the most recent version, then we will run into an issue when trying to push. In this case we can:

git fetch
git merge
git push

Note: pull is similar to using fetch + merge

Other

  • Cytoscape Web
    • Cytoscape
    • Plugin generally used for pathway analysis
    • This plugin is used in the Interactions widget on the Gene page ([WormBase dir]/root/templates/classes/gene/interactions.tt2)
    • Installed in [WormBase dir]/root/js/jquery/plugins/

General Concepts

Widget Data Loading

REST Controller:

  1. Catches internal url (/rest/widget/...)
  2. Determines the class and widget from the url
  3. From class and widget, determines which fields are required from the configuration file (wormbase.conf)
  4. Retrieves data for corresponding fields from API methods (/lib/WormBase/API/Object/[Class].pm)
  5. Sends data to the template to be used in rendering the widget (/root/templates/classes/[Class]/[Widget].tt2)

Widget Loading

Other

  • [WormBase dir]/root/templates/config/main contains useful macros such as get_url