Difference between revisions of "Developer documentation"

From WormBaseWiki
Jump to navigationJump to search
Line 126: Line 126:
 
* [[Cronjobs|Cronjobs]]
 
* [[Cronjobs|Cronjobs]]
 
* [[Creating_a_Google_Sitemap|Creating a Google Sitemap]]
 
* [[Creating_a_Google_Sitemap|Creating a Google Sitemap]]
*[[Managing Perl Libraries]] - ''Managing Perl libraries across projects and architectures''
+
* [[Managing Perl Libraries]] - ''Managing Perl libraries across projects and architectures''
*[[Managing GBrowse]] - ''Quick HowTo for managing GBrowse in development and production environments''
+
* [[Managing GBrowse]] - ''Quick HowTo for managing GBrowse in development and production environments''
*[[Log file management and analysis|Log file management and analysis]] - ''rotating and analyzing logs.''
+
* [[Log file management and analysis|Log file management and analysis]] - ''rotating and analyzing logs.''
 
* [[Site_statistics|Site statistics]]
 
* [[Site_statistics|Site statistics]]
 +
 +
=== Updates ===
 +
* [[Updating The Development Server]] - ''Updating the development server with a new release of the database''
 +
* [[Updating The Production Servers]] - ''Updating production environments with a new release of the database''
 +
* [[Building WormMart|Building WormMart]] - ''How to convert a WormBase AceDB database into WormMart''
  
 
=== Load balancing and Failover  ===
 
=== Load balancing and Failover  ===
Line 143: Line 148:
 
=== Frozen Releases ===
 
=== Frozen Releases ===
 
*[[Building Frozen Releases]] - ''The most current documentation on how to build a frozen release''
 
*[[Building Frozen Releases]] - ''The most current documentation on how to build a frozen release''
== Updates ==
 
*[[Updating The Development Server]] - ''Updating the development server with a new release of the database''
 
*[[Building WormMart|Building WormMart]] - ''How to convert a WormBase AceDB database into WormMart''
 
  
 
== Developer Tools ==
 
== Developer Tools ==

Revision as of 16:17, 21 July 2010

This page contains information pertinent to employees of WormBase.

Project Management

Web Site Documentation

Development Milestones

July 14 - July 30th

  • Coding standards and best practices for CSS, Javascript, API in place
  • Release new pages to production powered by the new architecture (classic view only)

July 30th - August 31st

  • http://wiki.wormbase.org/index.php/AceOjbect_Redesign_Page
  • Finish API development of critical classes
  • Finish migration of prominent CGI-based pages to new architecture and release into production (classic view only)
  • Solidify look-and-feel of new site: site map, browsing paths, design patterns, navigation

September 1st

  • Begin beta testing of new site to invited parties

October 1st - November 1st

  • Begin public beta testing of new site
  • Launch UI and general surveys.

November 1st - December 1st

  • Address survey issues
  • Test, test, test

December 1st

  • Go Live with new site

Division of Labor

Duties, current as of July 2010.

  • Configuration Czar -- View and application configuration
  • View
    • CSS Czar
    • Javascript Czar
    • Template Czar -- define and document shared elements, keep template directory organized, enforce standards
    • Searches Czar
    • External URLs
  • Controller
  • WormBase::API Czar -- document shared API methods; enforce coding standards
  • Testing Czar (View)
  • Testing Czar (API)
  • Profiling Czar

Measuring Progress

Coding standards and Best Practices

Testing

  • Unit testing
  • System Testing
  • Validation (HTML/CSS/XML)
  • Security
  • Accessibility
  • Usability
  • Browser compatability
  • Performance and stress testing

Software platform

Configuration

WormBase::API

View

  • Template Overview -- a quick tutorial on the templating system
  • Common template elements -- how to include common elements like references and species in a page
  • Things to document: evidence handling, linking entities, external URLs, searches

Model

Controller

Hardware platform

--

Administration

Routine Administration Tasks

Updates

Load balancing and Failover

Monitoring and Crises Management

Frozen Releases

Developer Tools


Source Code Repositories

We use the distributed source code management system Mercurial. Projects are hosted on BitBucket.

How-To create, check out, and manage our repositories

Deprecated Documentation

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

Frozen Releases as Virtual Machines