Developers guide » History » Revision 21
Revision 20 (Amber Herold, 08/02/2011 10:02 AM) → Revision 21/62 (Amber Herold, 08/02/2011 10:02 AM)
h1. Developers guide Proposed content: # System Overview ## Leginon ### Scope ### Windows Machine ## Appion ### Web Parts - web server ### Python Parts - processing server ### 3rd party apps ## Clusters # Development Tools ## [[appion:AMI Redmine Quick Start Guide|Redmine]] ## 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) ### [[how [[Uploading results to the databse|how to add a new refinement method|Uploading results to the databse]] 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