Project

General

Profile

Developers guide » History » Version 62

Anchi Cheng, 07/27/2016 10:01 AM

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