Developers guide » History » Version 20
Amber Herold, 08/02/2011 10:02 AM
| 1 | 1 | Amber Herold | h1. Developers guide |
|---|---|---|---|
| 2 | |||
| 3 | 7 | Amber Herold | Proposed content: |
| 4 | 20 | Amber Herold | |
| 5 | 7 | Amber Herold | # System Overview |
| 6 | ## Leginon |
||
| 7 | ### Scope |
||
| 8 | ### Windows Machine |
||
| 9 | ## Appion |
||
| 10 | 1 | Amber Herold | ### Web Parts - web server |
| 11 | ### Python Parts - processing server |
||
| 12 | ### 3rd party apps |
||
| 13 | 7 | Amber Herold | ## Clusters |
| 14 | 20 | Amber Herold | |
| 15 | # Development Tools |
||
| 16 | ## [[appion:AMI Redmine Quick Start Guide|Redmine]] |
||
| 17 | ## Eclipse |
||
| 18 | ## SVN |
||
| 19 | |
||
| 20 | 1 | Amber Herold | # Languages and Technology |
| 21 | ## html, css, PHP, Python, Javascript, mySQL |
||
| 22 | ## [[Coding standards|best practices for these]] |
||
| 23 | 20 | Amber Herold | |
| 24 | # Installing Appion for development |
||
| 25 | # Myami Code Tree |
||
| 26 | # Running the code from your sandbox |
||
| 27 | |
||
| 28 | 7 | Amber Herold | # Adding a new program to the pipeline |
| 29 | 20 | Amber Herold | ## General Insructions |
| 30 | ### python parts |
||
| 31 | #### [[how to add a new refinement method]] (single and multi-model) |
||
| 32 | ### Web Parts |
||
| 33 | #### launch page |
||
| 34 | #### [[Refine_Refactor_documentation|How to add a launch form for a new refine type]] |
||
| 35 | ##### parameter checking |
||
| 36 | #### reporting pages |
||
| 37 | ### Database Parts |
||
| 38 | #### python side |
||
| 39 | #### PHP side |
||
| 40 | ## Adding a refinement method (single and multi model) |
||
| 41 | ### Python wrapper for 3rd party programs (Anchi) |
||
| 42 | ### Modifications to runJob.py (Christopher) |
||
| 43 | ### [[Uploading results to the databse|how to add a new refinement method]] (Dmitry) |
||
| 44 | ### [[Refine_Refactor_documentation|Adding the user interface]] (Amber) |
||
| 45 | 9 | Amber Herold | # Testing |
| 46 | 10 | Amber Herold | # [[Error Handling]] |
| 47 | 7 | Amber Herold | # Issue reporting and life-cycle |
| 48 | 11 | Amber Herold | ## [[appion:Issue Workflow Tutorial]]: A guide to setting the Issue status. |
| 49 | 8 | Amber Herold | # Checking your code into the main trunk |
| 50 | 7 | Amber Herold | # Appion/Leginon Release Versioning |
| 51 | 1 | Amber Herold | # Adding Documentation |
| 52 | # Adding pop-up Help |
||
| 53 | # Where to find help |
||
| 54 | |||
| 55 | h2. Common variables used |
||
| 56 | 3 | Amber Herold | |
| 57 | 1 | Amber Herold | |
| 58 | 3 | Amber Herold | |
| 59 | 1 | Amber Herold | |
| 60 | * $outdir is the directory that contains the disk, session, jobtype, but not the runname: For example: /data/appion/10dec16a/extract |
||
| 61 | |||
| 62 | * $rundir = $outdir + runname, For example: /data/appion/10dec16a/extract/dogrun1 |
||
| 63 | note: appion python code only accepts $rundir |
||
| 64 | |||
| 65 | * $description |
||
| 66 | |||
| 67 | * $commit |
||
| 68 | |||
| 69 | * $command |
||
| 70 | |||
| 71 | * $sessiondata' |
||
| 72 | |||
| 73 | * $sessionid vs. $sessionId vs. $expid vs. $expId |
||
| 74 | 4 | Neil Voss | |
| 75 | * $apix vs. $pixelsize |
||
| 76 | |||
| 77 | * $box vs. $boxsize |
||
| 78 | |||
| 79 | h2. variable dump |
||
| 80 | |||
| 81 | <pre> |
||
| 82 | cd ~/myami/myamiweb/processing |
||
| 83 | cat *.php | grep '\$[A-Za-z]' | sed 's/\$_[A-Za-z]*//' | sed 's/[^$]*\(\$[A-Za-z0-9]*\)[^$]*/\1 \ |
||
| 84 | /g' | sort | uniq -c | sort -rn | head -50 |
||
| 85 | </pre> |
||
| 86 | |||
| 87 | <# of occurrences> <variable name> |
||
| 88 | <pre> |
||
| 89 | 1066 $command |
||
| 90 | 1001 $particle |
||
| 91 | 943 $ |
||
| 92 | 854 $expId |
||
| 93 | 630 $i |
||
| 94 | 387 $formAction |
||
| 95 | 385 $html |
||
| 96 | 366 $javascript |
||
| 97 | 349 $outdir |
||
| 98 | 337 $projectId |
||
| 99 | 327 $runname |
||
| 100 | 326 $sessionId |
||
| 101 | 299 $extra |
||
| 102 | 213 $description |
||
| 103 | 200 $graph |
||
| 104 | 198 $stackid |
||
| 105 | 198 $sessioninfo |
||
| 106 | 186 $apix |
||
| 107 | 180 $sessiondata |
||
| 108 | 162 $display |
||
| 109 | 160 $title |
||
| 110 | 158 $templatetable |
||
| 111 | 157 $user |
||
| 112 | 136 $line |
||
| 113 | 131 $javafunctions |
||
| 114 | 127 $heading |
||
| 115 | 126 $numpart |
||
| 116 | 125 $jobinfo |
||
| 117 | 117 $errors |
||
| 118 | 114 $stackinfo |
||
| 119 | 110 $t |
||
| 120 | 110 $key |
||
| 121 | 109 $s |
||
| 122 | 108 $templateinfo |
||
| 123 | 101 $sessionpath |
||
| 124 | 98 $bin |
||
| 125 | 96 $tomogram |
||
| 126 | 96 $sub |
||
| 127 | 96 $nproc |
||
| 128 | 96 $filename |
||
| 129 | 94 $stackId |
||
| 130 | 91 $headinfo |
||
| 131 | 90 $sessionname |
||
| 132 | 90 $data |
||
| 133 | 89 $j |
||
| 134 | 89 $cmd |
||
| 135 | 5 | Amber Herold | 89 $box |
| 136 | 6 | Amber Herold | 89 $alignId |
| 137 | 1 | Amber Herold | 86 $r |
| 138 | 6 | Amber Herold | </pre> |
| 139 | |||
| 140 | 1 | Amber Herold | h3. [[Appion Testing|Automated testing]] |
| 141 | |||
| 142 | |||
| 143 | h3. [[Using basicReport.inc]] for PHP report pages |