Project

General

Profile

Developers guide » History » Revision 20

Revision 19 (Amber Herold, 08/02/2011 09:45 AM) → Revision 20/62 (Amber Herold, 08/02/2011 10:02 AM)

h1. Developers guide 

 Proposed content: 
   # Development Tools 
 ## [[appion:AMI Redmine Quick Start Guide|Redmine]] 
 ## Eclipse 
 ## SVN 
 # System Overview 
 ## Leginon 
 ### Scope 
 ### Windows Machine 
 ## Appion 
 ### Web Parts - web server 
 ### Python Parts - processing server 
 ### 3rd party apps 
 ## Clusters 
   # Installing Appion for development 
 # Development Tools Myami Code Tree 
 ## [[appion:AMI Redmine Quick Start Guide|Redmine]] # Running the code from your sandbox 
 ## Eclipse 
 ## SVN 
   
 # Languages and Technology 
 ## html, css, PHP, Python, Javascript, mySQL 
 ## [[Coding standards|best practices for these]]  
   
 # Installing Appion for development 
 # Myami Code Tree 
 # Running the code from your sandbox 
   
 # Adding a new program to the pipeline 
 ## General Insructions 
 ### python parts 
 #### ### [[how to add a new refinement method]] (single and multi-model) 
 ### ## Web Parts 
 #### ### launch page 
 #### ### [[Refine_Refactor_documentation|How to add a launch form for a new refine type]] 
 ##### #### parameter checking 
 #### ### reporting pages 
 ### ## Database Parts 
 #### ### python side 
 #### ### PHP side 
 ## Adding a refinement method (single and multi model) 
 ### Python wrapper for 3rd party programs (Anchi) 
 ### Modifications to runJob.py (Christopher) 
 ### [[Uploading results to the databse|how to add a new refinement method]] (Dmitry) 
 ### [[Refine_Refactor_documentation|Adding the user interface]] (Amber) 
 # Testing 
 # [[Error Handling]] 
 # Issue reporting and life-cycle 
 ## [[appion:Issue Workflow Tutorial]]: A guide to setting the Issue status. 
 # Checking your code into the main trunk 
 # Appion/Leginon Release Versioning 
 # Adding Documentation 
 # Adding pop-up Help 
 # Where to find help 

 h2. Common variables used 




 * $outdir is the directory that contains the disk, session, jobtype, but not the runname: For example: /data/appion/10dec16a/extract 

 * $rundir = $outdir + runname, For example: /data/appion/10dec16a/extract/dogrun1 
 note: appion python code only accepts $rundir 

 * $description  

 * $commit 

 * $command 

 * $sessiondata' 

 * $sessionid vs. $sessionId vs. $expid vs. $expId 

 * $apix vs. $pixelsize 

 * $box vs. $boxsize 

 h2. variable dump 

 <pre> 
 cd ~/myami/myamiweb/processing 
 cat *.php | grep '\$[A-Za-z]' | sed 's/\$_[A-Za-z]*//' | sed 's/[^$]*\(\$[A-Za-z0-9]*\)[^$]*/\1 \ 
 /g' | sort | uniq -c | sort -rn | head -50 
 </pre> 

 <# of occurrences> <variable name> 
 <pre> 
 1066 $command  
 1001 $particle  
  943 $  
  854 $expId  
  630 $i  
  387 $formAction  
  385 $html  
  366 $javascript  
  349 $outdir  
  337 $projectId  
  327 $runname  
  326 $sessionId  
  299 $extra  
  213 $description  
  200 $graph  
  198 $stackid  
  198 $sessioninfo  
  186 $apix  
  180 $sessiondata  
  162 $display  
  160 $title  
  158 $templatetable  
  157 $user  
  136 $line  
  131 $javafunctions  
  127 $heading  
  126 $numpart  
  125 $jobinfo  
  117 $errors  
  114 $stackinfo  
  110 $t  
  110 $key  
  109 $s  
  108 $templateinfo  
  101 $sessionpath  
   98 $bin  
   96 $tomogram  
   96 $sub  
   96 $nproc  
   96 $filename  
   94 $stackId  
   91 $headinfo  
   90 $sessionname  
   90 $data  
   89 $j  
   89 $cmd  
   89 $box  
   89 $alignId  
   86 $r  
 </pre> 

 h3. [[Appion Testing|Automated testing]] 


 h3. [[Using basicReport.inc]] for PHP report pages