Project

General

Profile

Developers guide » History » Version 19

Amber Herold, 08/02/2011 09:45 AM

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