Project

General

Profile

Developers guide » History » Version 60

Amber Herold, 07/21/2014 04:42 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 46 Amber Herold
## [[appion:AMI Redmine Quick Start Guide|Redmine quick start]] - issue reporting and adding documentation
20 47 Amber Herold
## [[AMI_Eclipse_Quick_Start_Guide|Eclipse quick start]] - setting up an integrated development environment
21 46 Amber Herold
## [[Subversion]] (SVN) - Tips for using our code repository
22 22 Amber Herold
 
23 46 Amber Herold
# *Language and Technology Resources*
24
## language specific tutorials, guides and tips
25
### [[HTML notes]] 
26
### [[CSS notes]] 
27
### [[PHP notes]]
28
### [[Python notes]] 
29
### [[Javascript notes]]
30 50 Amber Herold
## [[General Best Practices]]
31 46 Amber Herold
## [[Coding standards|AMI's best practices]] 
32 1 Amber Herold
## [[Object Oriented Programming]]
33 33 Amber Herold
## [[Useful shell commands]]
34
## [[MySQL_Notes|Getting started with MySQL]]
35 20 Amber Herold
 
36 24 Amber Herold
# *Installing Appion for development*
37
## Running the code from your sandbox
38 1 Amber Herold
 
39 24 Amber Herold
# *Adding a new program to the pipeline*
40 30 Amber Herold
## General Instructions
41 22 Amber Herold
### Processing parts (Python)
42
#### database access
43
### Web Parts (PHP)
44 60 Amber Herold
#### [[How to add an AppionLoop GUI page|Adding an Appion job launch page]]
45 22 Amber Herold
#### reporting page
46 23 Amber Herold
##### [[Using basicReport.inc]] for very simple PHP report pages
47 22 Amber Herold
#### database accesss
48 57 Amber Herold
## Adding a refinement method (single and multi model) or any other method that requires a specialized job file to submit to a cluster
49 59 Amber Herold
### [[cluster job overview|Overview of launching, running, and uploading cluster jobs]]
50 26 Amber Herold
### [[Adding refine python parts|Python wrapper for 3rd party programs]] (Anchi)
51
### [[Adding refine runjob|Modifications to runJob.py]] (Christopher)
52 4 Neil Voss
### [[how to add a new refinement method|Uploading results to the databse]] (Dmitry)
53
### [[Refine_Refactor_documentation|Adding the user interface]] (Amber)
54 22 Amber Herold
 
55 24 Amber Herold
# *Testing*
56 38 Amber Herold
## [[Test datasets at AMI]]
57 42 Amber Herold
## [[Create Appion Session|Create Appion Session for testing purposes]]
58 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.
59 23 Amber Herold
## [[Appion Testing|Automated testing]]
60 36 Amber Herold
## [[How to test upload images with your own sandbox]]
61 37 Amber Herold
## [[How to run manual picking and mask making]]
62 22 Amber Herold
 
63 39 Amber Herold
# *Error Handling*
64
## [[Error Handling|Error handling guide]]
65 22 Amber Herold
 
66 1 Amber Herold
# *Adding pop-up Help*
67 39 Amber Herold
## [[adding popup help]]
68 6 Amber Herold
 
69 49 Amber Herold
# *Making changes to database tables*
70
## [[Database change procedure]] 
71
 
72 39 Amber Herold
# *Other stuff*
73
## Where to find help
74 51 Amber Herold
## [[Appion tricks]]
75 39 Amber Herold
## [[Common variables used]]
76 43 Amber Herold
## Appion Developer's Workshops
77 44 Amber Herold
### [[2010 Appion Developer Workshop]]
78 45 Amber Herold
### "2011 Appion Developer Workshop":http://emg.nysbc.org/projects/appion-workshop/wiki
79 53 Anchi Cheng
# [[Job submission vs direct Appion Script running from terminal]]  What are the differences in database logging and resource usage.