Project

General

Profile

Developers guide » History » Version 14

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