Project

General

Profile

How to Update from v16 (Microscope Windows Computer) » History » Revision 4

Revision 3 (Anchi Cheng, 05/18/2010 10:16 PM) → Revision 4/21 (Anchi Cheng, 05/21/2010 12:06 AM)

h1. How to Update from v16 (Microscope Windows Computer) (Window) 

 The changes from v1.6 requires update of all in-house components of Leginon, dbemtools and database but not the php-mrctools.  
 Don't forget that you need to also update the packages on the microscope-controlling computer 
 since the pyScope update need to be synchronized. 

 See [[Installation Troubleshooting]] and    "Leginon Bulletin Board":http://emg.nysbc.org/bb/viewforum.php?f=2    searching 
 for "install" if you run into problems. 

 h2. Packages required from NRAMM 

 All Leginon (and Appion) packages distributed from NRAMM are now under one svn control. 

 A few updates are needed for preparation of python 3.0 compatibility where the method for importing module is changed.    They will still run under python 2.4 and up. 
 Here are the packages you need to install with python installer 

 |_.SVN subPackage Name|_.Reason for update:| 
 |numextension|package import method change| 
 |libcv|package import method change| 
 |leginon|new features| 
 |pyami|new features| 
 |sinedon|required for updating database| 
 |pyscope|new method for creating pythoncom modules| 
 |imageviewer|debug| 

 Because numextension and libcv requires extra compiler, we have created 
 window installer for them for python 2.5 and made them available through "http://www.leginon.org/":http://www.leginon.org/ 

 h2. Check out SVN Source Files from the depository 

 Assuming that you have installed some kind of svn client such as TortoiseSVN "http://tortoisesvn.tigris.org/", you can use your mouse to do the following 
 *Create Leginon2.0 directory somewhere at your convenience 
 *Change directory into Leginon2.0 
 *Right-click the mouse botton in this directory window and select Tortoise svn 
 Checkout in the menu:!http://emg.nysbc.org/software/leginon/images/images/svnmenu.png! 
 *Set up svn checkout window like this, but check out from http://emg.nysbc.org/svn/myami/trunk and save it to Leginon2.0 folder !http://emg.nysbc.org/software/leginon/images/images/svnco.png! 


 h2. Perform system check if you can't remember where you have installed your Leginon before. 

 *Go to ~/Leginon2.0/leginon 
 *Double click on syscheck.py 

 You should have all the supporting packages installed for v1.6. If you see any lines like "*** Failed...", then you have something missing. Otherwise, everything should result in "OK". 

 h2. Uninstall your existing packages: 

 Although new installation overwrite the old in most cases, problem has been observed in 
 the past. Therefore, it is best to remove the old files before new installation. 

 Use "Add or Remove Programs" application in "Control Panel" to do this. Leginon related 
 packages are shown with prefix "Python 2.5" 

 If you didn't use Installer to install previously, the packages may not show up in the 
 Programs list. Simply remove or rename the folder containing the old packages in this case. 

 h2. Move your existing packages to a backup directory: 

 At the beginning of the syscheck.py output, the location of the exisiting Leginon folder is shown. Although new installation overwrite the old in most cases, problem has been observed in the past. Therefore, it is best to remove the old files from the path before new installation.    Better yet, copy into a backup folder because we need some configuration files from them. 

 For example, your Leginon folder is at C:\\python25\Lib\site-packages\Leginon 

 <pre>Go to C\\python25\site-packages 
 Create Leginon1_6_backup folder 
 Move Leginon fold into Leginon1_6_backup folder</pre> 

 Be aware that in some cases the installed package name is different (capitalized) from your svn package name and that numextension amd libCV are not in its own subdirectory in the python library but just the compiled .so files 

 h2. Install the subpackages you downloaded from NRAMM svn depository 

 * Start a command line Window from Start Menu 

 * Reinstall the package in each folder with commands such as 
 <pre>cd Your_Download_Place\Leginon 2.0\leginon 
 c:\\python25\python.exe setup.py install</pre> 
 * run syscheck.py again to make sure you have everything. 

 h2. Copy your Leginon1.6 sinedon.cfg to the new installation 

 * Find your sinedon.cfg. Depending on your previous setting, look in the directories listed here in order: 
 *your home directory as described in syscheck.py 
 *The sinedon directory where it is called from. If unsure, start python command line and type these to find out: 
 <pre>python> import sinedon 
 python> sinedon</pre> 

 *    If sinedon.cfg reside in the installed sinedon subpackage, you should copy it from your Leginon1.6 backup to the new installation. 
 <pre>go to    C:\\python25\Lib\site-packages\ 
 copy Leginon_1_6_backup\sinedon\sinedon.cfg    into the new sinedon folder 
 </pre> 

 h2. Back up all your databases 

 We will be doing a database update that is not backward compatible,    Make sure you back up all your current databases before performing the update 

 * mysqldump -u usr_object your_leginon_database > leginondb_1_6_backup_today's_date 
 * mysqldump -u usr_object your_project_database > projectdb_1_2_backup_today's_date 
 * .... do the same to any of your processing databases if you have installed and used Appion 1.0 

 h2. Install updated Web viewers and tools 

 See [[Install the Web Interface]] section in Complete Installation Chapter to put the new web tools (Now under subpackage myamiweb) to document root for the web server.    The Setup Wizard will take you through the steps to create config.php and to create and initialize values for the new tables. 

 h2. Run database update scripts 

 <pre>cd ~/Leginon2.0/dbschema 
 python schema-r12857.py 
 python schema-r13713.py 
 </pre> 

 The first one update UserData and GroupData so that new data viewing and processing privileges can be enforced 
 The second is a wide-scale change on database schema many on appion processing databases, and some on projectdata and leginondata.