Difference between revisions of "Developer documentation"
From WormBaseWiki
Jump to navigationJump to searchLine 15: | Line 15: | ||
= Web Site Documentation = | = Web Site Documentation = | ||
+ | |||
+ | * [[Using_private_development_sites|Installing the Web Application (legacy code) ]] - ''Here's how to install the classic WormBase web site for development purposes'' | ||
+ | *[[Installing the Web Application|Installing the Web Application]] - ''Here's how to install the WormBase web application -- including Catalyst -- on your system'' | ||
+ | *[[HOWTO migrate a CGI|HOWTO migrate a CGI]] - ''quick overview of how to migrate an existing CGI into a Model, Controller, and View. Sparse'' | ||
== Rearchitecture Design Stages== | == Rearchitecture Design Stages== | ||
Line 20: | Line 24: | ||
#[[Website:Design Specifications|Requirements analysis / Design Specifications]] | #[[Website:Design Specifications|Requirements analysis / Design Specifications]] | ||
# [[Website:Architecture outline|Architecture Outline]] | # [[Website:Architecture outline|Architecture Outline]] | ||
− | |||
− | |||
− | + | ||
+ | == Measuring Progress == | ||
* [[AceOjbect_Redesign_Page|AceDB classes -> API progress matrix]] | * [[AceOjbect_Redesign_Page|AceDB classes -> API progress matrix]] | ||
*[http://spreadsheets.google.com/ccc?key=pHvlNLMCZIv1KBoy8ZhbZXA&hl=en Migration matrix (GoogleDoc)] | *[http://spreadsheets.google.com/ccc?key=pHvlNLMCZIv1KBoy8ZhbZXA&hl=en Migration matrix (GoogleDoc)] | ||
− | == Coding standards == | + | == Coding standards and Best Practices == |
*[[Website:Data Structure| Data structure documentation]] | *[[Website:Data Structure| Data structure documentation]] | ||
*[[Developer_notes|Developer notes]] - ''Best practices, conventions, etc'' | *[[Developer_notes|Developer notes]] - ''Best practices, conventions, etc'' | ||
*[[Coding standards|Coding standards]] | *[[Coding standards|Coding standards]] | ||
+ | *[[Formal_development_strategy|Formal development strategy]] - ''An overview of the development process at WormBase'' | ||
== Testing == | == Testing == | ||
Line 46: | Line 50: | ||
*[[Application overview|Application overview]] - ''A quick tour through the software platform'' | *[[Application overview|Application overview]] - ''A quick tour through the software platform'' | ||
− | |||
− | |||
− | |||
=== Configuration === | === Configuration === |
Revision as of 21:17, 15 July 2010
This page contains information pertinent to employees of WormBase.
Contents
- 1 Project Management
- 2 Web Site Documentation
- 2.1 Rearchitecture Design Stages
- 2.2 Measuring Progress
- 2.3 Coding standards and Best Practices
- 2.4 Testing
- 2.5 Software platform
- 2.6 Hardware platform
- 2.7 Administration
- 2.8 Updates
- 2.9 Developer Tools
- 2.10 All Hands Meeting Agendas and Notes
- 2.11 Source Code Repositories
- 2.12 Deprecated Documentation
Project Management
- Project Calendar
- Conference call agendas and minutes
- Project meeting agendas and minutes
- Linking To WormBase
- Suggested pre-release data checks
- Internal documentation and standard operating procedures
- modENCODE Analysis & metadata discussion
- What criteria should a genome meet before we accept it for integration?
- WormBase Models
- Orthologs: use cases for searches
- Genome sequence changes
Web Site Documentation
- Installing the Web Application (legacy code) - Here's how to install the classic WormBase web site for development purposes
- Installing the Web Application - Here's how to install the WormBase web application -- including Catalyst -- on your system
- HOWTO migrate a CGI - quick overview of how to migrate an existing CGI into a Model, Controller, and View. Sparse
Rearchitecture Design Stages
Measuring Progress
Coding standards and Best Practices
- Data structure documentation
- Developer notes - Best practices, conventions, etc
- Coding standards
- Formal development strategy - An overview of the development process at WormBase
Testing
- Unit testing
- System Testing
- Validation (HTML/CSS/XML)
- Security
- Accessibility
- Usability
- Browser compatability
- Performance and stress testing
Software platform
- Application overview - A quick tour through the software platform
Configuration
WormBase::API
- Common Model elements - reference list of common model elements like Species
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
Model
Controller
Deployment
- Deployment - How to deploy the web app for production use
Hardware platform
- Physical structure
- MySQL database replication - Mirroring mysql databases across production nodes
- Performance optimization - Memory, Disk, and Network I/O troubleshooting
- WormBase Infrastructure - A complete accounting of WormBase compute resources and topology.
- WormBase Development Environment - Building, Configuring, and Administering the WormBase development server
--
- GBrowse Administration -- building, configuring, and maintaining production GBrowse nodes.
- Webserver Administration -- building, configuring, and maintaining non-GBrowse production nodes.
Administration
Routine Administration Tasks
- Cronjobs
- Creating a Google Sitemap
- Managing Perl Libraries - Managing Perl libraries across projects and architectures
- Managing GBrowse - Quick HowTo for managing GBrowse in development and production environments
- Log file management and analysis - rotating and analyzing logs.
- Site statistics
Load balancing and Failover
- Building Squid - How to build and install Squid
- Configuring Squid - basic squid configuration at WormBase
Monitoring and Crises Management
- Development Server Administration - Monitoring and fixing the development server
- General administration and monitoring notes - Partially redundant, sorry
- Monitoring services and servers
- Crises Recovery Plan - Everything breaks. Here's how to fix it.
Frozen Releases
- Building Frozen Releases - The most current documentation on how to build a frozen release
Frozen Releases as Virtual Machines
- How to build a WormBase Virtual Machine -- also describes how to create a VMX for a frozen release
- Configuring a server to host virtual machines -- quick guide to setting up a frozen release server
- Managing servers hosting virtual machines
- How to build a frozen release -- how to configure a WormBase VM as a frozen release server
- Creating Virtual Disks - How to create VMDKs for unlimited portable storage
Updates
- Updating The Development Server - Updating the development server with a new release of the database
- Building WormMart - How to convert a WormBase AceDB database into WormMart
Developer Tools
- Twitter: General announcements
- FriendFeed: WormBase FF room
- WormBase Forum: Developer Forum
All Hands Meeting Agendas and Notes
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
- WormBase - The WormBase web application (public)
- WormBase-admin - Administrative code (private)
Deprecated Documentation
The good word gone bad. Cruft. Lint. Maybe useful. Probably not.
- NFS at WormBase
- Trac installation notes
- Trac Feature Tracker / Subversion repository
- Establishing the SVN repository - Setting up the subversion repository