Project

General

Profile

Developers guide » History » Version 44

Amber Herold, 08/02/2011 03:50 PM

1 1 Amber Herold
h1. Developers guide
2
3 34 Amber Herold
This guide is primarily intended to help noobs to both Appion and Programming in general get up and running in the development environment that we have created at AMI.
4
It is a good place to add notes, however basic, that may help someone else accomplish a task related to Appion software development.
5
Parts of this guide are specific to machines and the environment that we have at AMI. Our apologies.
6
7 24 Amber Herold
# *System Overview*
8 7 Amber Herold
## Leginon
9
### Scope
10
### Windows Machine
11
## Appion
12 1 Amber Herold
### Web Parts - web server
13
### Python Parts - processing server
14
### 3rd party apps
15
## Clusters
16 29 Amber Herold
## "Myami code module diagram":http://emg.nysbc.org/projects/appion/wiki/Myami_code_diagram 
17 20 Amber Herold
 
18 24 Amber Herold
# *Development Tools*
19 35 Amber Herold
## [[appion:AMI Redmine Quick Start Guide|Redmine quick start]]
20 22 Amber Herold
### Issue reporting and life-cycle
21
#### [[appion:Issue Workflow Tutorial]]: A guide to setting the Issue status.
22 24 Amber Herold
### Adding Documentation
23 27 Amber Herold
## [[AMI_Eclipse_Quick_Start_Guide|Eclipse]]
24 32 Amber Herold
## [[Subversion]] (SVN)
25 22 Amber Herold
### Checking your code into the main trunk
26 1 Amber Herold
 
27 24 Amber Herold
# *Languages and Technology*
28 1 Amber Herold
## html, css, PHP, Python, Javascript, mySQL
29 20 Amber Herold
## [[Coding standards|best practices for these]] 
30 1 Amber Herold
## [[Object Oriented Programming]]
31 33 Amber Herold
## [[Useful shell commands]]
32
## [[MySQL_Notes|Getting started with MySQL]]
33 20 Amber Herold
 
34 24 Amber Herold
# *Installing Appion for development*
35
## Running the code from your sandbox
36 1 Amber Herold
 
37 24 Amber Herold
# *Adding a new program to the pipeline*
38 30 Amber Herold
## General Instructions
39 22 Amber Herold
### Processing parts (Python)
40
#### database access
41
### Web Parts (PHP)
42 1 Amber Herold
#### launch page
43 22 Amber Herold
#### reporting page
44 23 Amber Herold
##### [[Using basicReport.inc]] for very simple PHP report pages
45 22 Amber Herold
#### database accesss
46 4 Neil Voss
## Adding a refinement method (single and multi model)
47 26 Amber Herold
### [[Adding refine python parts|Python wrapper for 3rd party programs]] (Anchi)
48
### [[Adding refine runjob|Modifications to runJob.py]] (Christopher)
49 4 Neil Voss
### [[how to add a new refinement method|Uploading results to the databse]] (Dmitry)
50
### [[Refine_Refactor_documentation|Adding the user interface]] (Amber)
51 22 Amber Herold
 
52 24 Amber Herold
# *Testing*
53 38 Amber Herold
## [[Test datasets at AMI]]
54 42 Amber Herold
## [[Create Appion Session|Create Appion Session for testing purposes]]
55 41 Amber Herold
## [[Setup Local Databases | How to set up AMI databases on your local machine]]: Handy if you want to play with the databases without affecting anyone else.
56 23 Amber Herold
## [[Appion Testing|Automated testing]]
57 36 Amber Herold
## [[How to test upload images with your own sandbox]]
58 37 Amber Herold
## [[How to run manual picking and mask making]]
59 22 Amber Herold
 
60 39 Amber Herold
# *Error Handling*
61
## [[Error Handling|Error handling guide]]
62 22 Amber Herold
 
63 1 Amber Herold
# *Adding pop-up Help*
64 39 Amber Herold
## [[adding popup help]]
65 6 Amber Herold
 
66 39 Amber Herold
# *Other stuff*
67
## Where to find help
68
## [[Common variables used]]
69 43 Amber Herold
## Appion Developer's Workshops
70 44 Amber Herold
### [[2010 Appion Developer Workshop]]