Difference between revisions of "Developer documentation"

From WormBaseWiki
Jump to navigationJump to search
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
This page contains information pertinent to employees of WormBase.  
 
This page contains information pertinent to employees of WormBase.  
 +
 +
= Navigating and Editing the Developer Documentation =
 +
 +
 +
 +
== [[:Category:Web Dev| Web Dev Category Hierarchy (Under Construction)]] ==
 +
 +
'''You will be able to navigate the Developer Documentation by browsing through the [[:Category:Web Dev| Web Dev Category Hierarchy (Under Construction)]] above, which is under construction right now. In the mean time, please browse through this page or search for information that you need.'''
 +
 +
<categorytree mode=pages showcount="on" hideroot="on" depth=4 >Web Dev</categorytree>
 +
 +
== How to Contribute to the Documentation ==
 +
If you'd like to help out adding to the documentation, that's great! Here is some general good practice that will help keeping the documentation organized, navigable and up to date.
 +
* Ensure a page is tagged with a category, when you add or edit a page. You can browse through our [[:Category:Web Dev| high level categories]] and locate the '''most specific category''' that describes your page.
 +
<blockquote> For example, include the following code at the bottom of a page will make the page appear under the category [[:Category: Getting Started (Web Dev)]] :
 +
 +
<code><nowiki>
 +
[[Category: Getting Started (Web Dev)]]
 +
</nowiki></code>
 +
 +
</blockquote>
 +
 +
* '''Update''', deprecate or remove old documentation when appropriate.
 +
 +
* Any documents that contain potentially '''sensitive information''' belong on Google Docs (Contact Todd for details). This might reasonably include anything that reveals information about '''our systems or architecture'''.
 +
 +
* Additional guidelines on [[Documentation and Communication Standards]]
 +
 +
* '''Other ideas?''' Please update the wiki here!
  
 
= New Employee Orientation =
 
= New Employee Orientation =
 
* [https://docs.google.com/document/d/1E37IgK1gsaw6ZXa3cYFz2HPVPuB__KmNs5tErO6VXDY/pub New Employee Orientation] -- ''Getting started at WormBase, for employees at any location. Read this first.''
 
* [https://docs.google.com/document/d/1E37IgK1gsaw6ZXa3cYFz2HPVPuB__KmNs5tErO6VXDY/pub New Employee Orientation] -- ''Getting started at WormBase, for employees at any location. Read this first.''
 
* [https://docs.google.com/document/d/1Xm1aQTm7zXapfirgD1PP7KWNjPlXHNw_iaLLAVvZ-Gg/pub Webdev team/OICR Orientation] -- ''For new employees of the web development team at OICR.''
 
* [https://docs.google.com/document/d/1Xm1aQTm7zXapfirgD1PP7KWNjPlXHNw_iaLLAVvZ-Gg/pub Webdev team/OICR Orientation] -- ''For new employees of the web development team at OICR.''
 +
*[[Co-op Documentation]]
  
 
= Project Management =
 
= Project Management =
Line 13: Line 43:
 
*[[Conference call agendas and minutes| Conference call agendas and minutes (WebDev team)]]
 
*[[Conference call agendas and minutes| Conference call agendas and minutes (WebDev team)]]
 
*[[Project meeting agendas and minutes]]
 
*[[Project meeting agendas and minutes]]
*[[WormMine development status]]
 
 
*[[InterMine Strategy Meetings]]
 
*[[InterMine Strategy Meetings]]
  
Line 19: Line 48:
  
 
''We use the distributed source code management system git.  Projects are hosted on [http://github.org/WormBase Github].''
 
''We use the distributed source code management system git.  Projects are hosted on [http://github.org/WormBase Github].''
 
[[WormBase Source Code|How-To create, check out, and manage our repositories]]
 
  
 
*[http://github.org/WormBase/website website] - ''The WormBase web application (public)''
 
*[http://github.org/WormBase/website website] - ''The WormBase web application (public)''
Line 33: Line 60:
 
*[[Feature WishList]]
 
*[[Feature WishList]]
  
 +
= The Web Application =
 +
 +
* [[Website:Application overview|Application overview]] - ''An overview of the web application, including MVC structure, request flow, caching, etc''
 +
* [[Website:Configuration|Configuration]] -- ''Application and view configuration: formatting and standards''
 +
* [[Website:WormBase::API|WormBase::API]] -- ''The WormBase data model, maintained external to the web application''
 +
* [[Website:View| View]] -- ''Templating system, commom template elements, javascript, and CSS''
 +
* [[Website:Model| Model]] -- ''The web application model; thin, glued to the external Model''
 +
* [[Website:Controller| Controller]] -- ''Overview of controller files and actions''
 +
* Genome Browsing
 +
** [[Website:GBrowse Set-up on dev.wormbase.org|GBrowse Set-up on dev.wormbase.org]] -- "Updating/rolling-back GBrowse installations on a per user basis"
 +
** [[Website:Genome Browser Survey|Genome Browser Survey]] -- "Community survey for evaluating use cases and required functionality of a WormBase genome browser"
 +
* Visualization
 +
** [[Website:Visualization Library Assessment]] -- "Assessment of several visualization options for integration in the Website"
 +
** [[Website:Visualization with ggplot2 of the R-Project]] -- "Installation, set-up, and other information about the R-project based visualization"
 +
 +
* [[Website:WormMine| WormMine]] -- ''How to install, update, and maintain the InterMine instance at WormBase''
 +
** [[Website:WormMine Builds]] -- Summary stats of WormMine builds
 +
*[[Website:Contribute_from_GitHub|Contribute from Github]]
 +
 +
== The Mobile Website ==
 +
* [[Website:Mobile| Mobile]] -- ''Overview of the mobile website''
 +
* [[Website:MobileRouter| Router]] -- ''A definition of the possible routes of the mobile website''
 +
* [[Website:MobileModels| Models]] -- ''Details about the models''
 +
* [[Website:MobileCollections| Collections]] -- ''Details about the collections''
 +
* [[Website:MobileViews| Views]] -- ''Details about the views''
 +
* [[Website:MobileWidgets| Widgets Porting]] -- ''Details about the porting of widgets in the mobile website/app''
 
= Data Model and Data Development =
 
= Data Model and Data Development =
  
Line 59: Line 112:
 
== Help us maintain the site ==
 
== Help us maintain the site ==
 
*[[Website:Contribute from GitHub|Contribute from GitHub]]
 
*[[Website:Contribute from GitHub|Contribute from GitHub]]
 
= The Web Application =
 
 
* [[Website:Application overview|Application overview]] - ''An overview of the web application, including MVC structure, request flow, caching, etc''
 
* [[Website:Configuration|Configuration]] -- ''Application and view configuration: formatting and standards''
 
* [[Website:WormBase::API|WormBase::API]] -- ''The WormBase data model, maintained external to the web application''
 
* [[Website:View| View]] -- ''Templating system, commom template elements, javascript, and CSS''
 
* [[Website:Model| Model]] -- ''The web application model; thin, glued to the external Model''
 
* [[Website:Controller| Controller]] -- ''Overview of controller files and actions''
 
* Genome Browsing
 
** [[Website:GBrowse Set-up on dev.wormbase.org|GBrowse Set-up on dev.wormbase.org]] -- "Updating/rolling-back GBrowse installations on a per user basis"
 
** [[Website:Genome Browser Survey|Genome Browser Survey]] -- "Community survey for evaluating use cases and required functionality of a WormBase genome browser"
 
* Visualization
 
** [[Website:Visualization Library Assessment]] -- "Assessment of several visualization options for integration in the Website"
 
** [[Website:Visualization with ggplot2 of the R-Project]] -- "Installation, set-up, and other information about the R-project based visualization"
 
 
* [[Website:WormMine| WormMine]] -- ''How to install, update, and maintain the InterMine instance at WormBase''
 
** [[Website:WormMine Builds]] -- Summary stats of WormMine builds
 
*[[Website:Contribute_from_GitHub|Contribute from Github]]
 
 
== The Mobile Website ==
 
* [[Website:Mobile| Mobile]] -- ''Overview of the mobile website''
 
* [[Website:MobileRouter| Router]] -- ''A definition of the possible routes of the mobile website''
 
* [[Website:MobileModels| Models]] -- ''Details about the models''
 
* [[Website:MobileCollections| Collections]] -- ''Details about the collections''
 
* [[Website:MobileViews| Views]] -- ''Details about the views''
 
* [[Website:MobileWidgets| Widgets Porting]] -- ''Details about the porting of widgets in the mobile website/app''
 
  
 
= Information for third party developers =
 
= Information for third party developers =

Latest revision as of 18:25, 18 June 2014

This page contains information pertinent to employees of WormBase.

Navigating and Editing the Developer Documentation

Web Dev Category Hierarchy (Under Construction)

You will be able to navigate the Developer Documentation by browsing through the Web Dev Category Hierarchy (Under Construction) above, which is under construction right now. In the mean time, please browse through this page or search for information that you need.

<categorytree mode=pages showcount="on" hideroot="on" depth=4 >Web Dev</categorytree>

How to Contribute to the Documentation

If you'd like to help out adding to the documentation, that's great! Here is some general good practice that will help keeping the documentation organized, navigable and up to date.

  • Ensure a page is tagged with a category, when you add or edit a page. You can browse through our high level categories and locate the most specific category that describes your page.

For example, include the following code at the bottom of a page will make the page appear under the category Category: Getting Started (Web Dev) :

[[Category: Getting Started (Web Dev)]]

  • Update, deprecate or remove old documentation when appropriate.
  • Any documents that contain potentially sensitive information belong on Google Docs (Contact Todd for details). This might reasonably include anything that reveals information about our systems or architecture.
  • Other ideas? Please update the wiki here!

New Employee Orientation

Project Management

Conference call agendas/minutes

Source Code Repositories

We use the distributed source code management system git. Projects are hosted on Github.

Recommended reading (learning git):

General Documentation

The Web Application

The Mobile Website

  • Mobile -- Overview of the mobile website
  • Router -- A definition of the possible routes of the mobile website
  • Models -- Details about the models
  • Collections -- Details about the collections
  • Views -- Details about the views
  • Widgets Porting -- Details about the porting of widgets in the mobile website/app

Data Model and Data Development

Development Guidelines

Testing

Help us maintain the site

Information for third party developers

Administration

Architecture

Software Platform

Hardware Platform

Software Life Cycle

Measuring Application Performance


Routine Administration Tasks

Monitoring and Crises Management

Frozen Releases

Deprecated Documentation

The good word gone bad. Cruft. Lint. Maybe useful. Probably not.

Rearchitecture

Load balancing and Failover

Administration

Frozen Releases as Virtual Machines