Project

General

Profile

Developers guide » History » Version 12

Amber Herold, 05/03/2011 02:30 PM

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