Creating a tool

From WormBaseWiki
Jump to: navigation, search
Widget Loading
Tool Loading

Lets add a blank tool to WormBase, I shall call you "lineage"

Add it to configuration

In wormbase.conf

  • Search for

 ######################################
 #
 # Tools.
 #
 ###################################### 

  • Add:

 <lineage>
 	title = Cell Lineage
 	display = both
 	display_in_dropdown yes
 </lineage>

under <tools>

Add it to the model

Still in wormbase.conf

  • Find Model::WormBaseAPI/args/tool
  • add lineage directly under tool

Create the controller

  • Create lineage.pm in lib/WormBase/API/Service/tree.pm
package WormBase::API::Service::lineage;

# necessary because "new" function called
use Moose;

# what is returned to the view when action "index" is called
sub index{
	return {
		test => 'data from controller'
	};
}

1;

Create the view

  • Create lineage directory in root/templates/tools, create index.tt2 template inside.
<h1>Cell lineage browser</h1>

<p>Browse the cell lineage with cytoscape</p>

<p>[% test %]</p>

Test

  • Navigate to <url>/tools/lineage/index

The index action in the lineage tool matches lineage/index.tt2 by name, passed value test is available to it.