NMPDR Staging Procedure
From NMPDR Wiki
NMPDR Standard Operating Procedure SOP020
Contents |
Introduction
This standard operating procedure (SOP) describes the operations followed by NMPDR personnel for staging a new version of the site. The staged site is subjected to final testing. If it passes, then it is made the new real site.
Scope
This SOP applies to the procedures to stage a new version of the NMPDR web site.
Applicable Regulations and Guidelines
| NMPDR Contract | Delivery of NMPDR SOPs |
| BRC Metrics | Production of metrics |
| GO | List of GO terms |
| Transaction Logging | NMPDR Logging requirements |
Responsibility
This SOP applies to those members of the NMPDR research team involved in managing the web site. This includes the following:
- Bioinformaticians
Definitions
- Standard Operating Procedures (SOPs): Detailed, written instructions to achieve uniformity of the performance of a specific function.
- Subsystem: A collection of functional roles that together implement a specific biological process or structural complex.
- FigFam: Protein families. Each family is intended to contain a set of globally similar proteins that implement the same function.
- Annotation: A tuple consisting of a date, annotator name, and textual message.
- Structured Annotation: An annotation where the text is structured. There are two kinds of structured annotations
- Placement of a gene within a subsystem.
- Assignment of a function to a gene.
Process Overview
- Set up the directories.
- Back up the wiki database.
- Copy the source files.
- Copy the Sprout database.
- Restore the wiki database.
- Make the source.
Context
Bioinformaticians use the NMPDR Staging Procedure to prepare a new version of the NMPDR for final testing.
NMPDR Staging Procedure
Each version of the NMPDR has a two-digit version number associated with it. Throughout this document, the version number will be rendered as NN.
Set Up the Directories
On the Development Server, go to the /disks/nmpdr/db/mysql directory.
cd /disks/nmpdr/db/mysql
Find the directory for the current version of the Sprout database. This directory will be named nmpdr_vNN_sprout (where NN is the version number). Insure that the directory and all of the files in it have group-read privilege. If this is not the case, use the following command to fix the problem. You must be logged in as fig to do this.
chmod -R g+r nmpdr_vNN_sprout
Back Up the Wiki Database
Form the Development Server, use the command
mysqldump --user=root --result-file=/disks/nmpdr/next/wiki.sql nmpdr_vNN_wikidb
to back up the wiki database. This creates an SQL script that will be used to load the Wiki database on the Production Server.
Copy the Source Files
From the Production Server, use the following command to copy the source files.
rsync --verbose --recursive --archive --exclude=*.dtx user@server.nmpdr.org:/disks/nmpdr/next/ /disks/nmpdr/next/
In this case, user must be your user name and server is the name of the Development Server. You will be prompted for a password. You may get messages about files in the 'Tmp directory with long hexadecimal names not being transferred. This is not a problem, because they are non-essential files.
Now use the command
chmod a+w /disks/nmpdr/vNN/FIGdisk/FIG/Tmp
so that the temporary files can be updated by the applications.
Next, insure that you are sourced to the proper directories. This determines which version of the NMPDR will be updated when you execute the FigConfigFix command. Execute
source /disks/nmpdr/next/config/fig-user-env.sh
Delete the fake home page.
rm /disks/nmpdr/next/html/index.html
Finally, use the FigConfigFix command to update the site url in FIG_Config.pm.
FigConfigFix stage
Copy the Sprout Database
From the Production Server, use the mysqladmin command to create a new sprout database.
mysqladmin --user=seed create nmpdr_vNN_sprout;
The following command copies the actual data.
rsync --verbose --recursive --archive user@server.nmpdr.org:/disks/nmpdr/db/mysql/nmpdr_vNN_sprout/ /disks/nmpdr/db/mysql/nmpdr_vNN_sprout/
As before, user must be your user name and server the name of the Development Server. The database is quite large, so you may have to wait a while for it to finish.
Restore the Wiki Database
From the Production Server, use the mysqladmin command to create the new wiki database.
mysqladmin --user=seed create nmpdr_vNN_wikidb
Use the mysql command to restore the data.
mysql --user=root nmpdr_vNN_wikidb </disks/nmpdr/vNN/wiki.sql
Use the following command sequence to allow the wiki to access the database.
mysql --user=root GRANT ALL ON TABLE nmpdr_vNN_wikidb.* TO 'wikiuser'; FLUSH PRIVILEGES;
Make the Source
From the Production Server, use the following commands to update the source files for execution.
cd /disks/nmpdr/next/dist/releases/current make
