Project

General

Profile

Developers guide » History » Version 16

Amber Herold, 08/01/2011 11:29 AM

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