Project

General

Profile

Developers guide » History » Version 21

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 21 Amber Herold
### [[how to add a new refinement method|Uploading results to the databse]] (Dmitry)
44 20 Amber Herold
### [[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