Developers guide » History » Revision 48
Revision 47 (Amber Herold, 08/02/2011 04:18 PM) → Revision 48/62 (Amber Herold, 08/02/2011 04:56 PM)
h1. Developers guide
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.
It is a good place to add notes, however basic, that may help someone else accomplish a task related to Appion software development.
Parts of this guide are specific to machines and the environment that we have at AMI. Our apologies.
# *System Overview*
## Leginon
### Scope
### Windows Machine
## Appion
### Web Parts - web server
### Python Parts - processing server
### 3rd party apps
## Clusters
## "Myami code module diagram":http://emg.nysbc.org/projects/appion/wiki/Myami_code_diagram
# *Development Tools*
## [[appion:AMI Redmine Quick Start Guide|Redmine quick start]] - issue reporting and adding documentation
### [[appion:Issue Workflow Tutorial]]: A guide to setting the Issue status.
## [[AMI_Eclipse_Quick_Start_Guide|Eclipse quick start]] - setting up an integrated development environment
## [[Subversion]] (SVN) - Tips for using our code repository
# *Language and Technology Resources*
## language specific tutorials, guides and tips
### [[HTML notes]]
### [[CSS notes]]
### [[PHP notes]]
### [[Python notes]]
### [[Javascript notes]]
## [[Coding standards|AMI's best practices]]
## [[Object Oriented Programming]]
## [[Useful shell commands]]
## [[MySQL_Notes|Getting started with MySQL]]
# *Installing Appion for development*
## Running the code from your sandbox
# *Adding a new program to the pipeline*
## General Instructions
### Processing parts (Python)
#### database access
### Web Parts (PHP)
#### launch page
#### reporting page
##### [[Using basicReport.inc]] for very simple PHP report pages
#### database accesss
## Adding a refinement method (single and multi model)
### [[Adding refine python parts|Python wrapper for 3rd party programs]] (Anchi)
### [[Adding refine runjob|Modifications to runJob.py]] (Christopher)
### [[how to add a new refinement method|Uploading results to the databse]] (Dmitry)
### [[Refine_Refactor_documentation|Adding the user interface]] (Amber)
# *Testing*
## [[Test datasets at AMI]]
## [[Create Appion Session|Create Appion Session for testing purposes]]
## [[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.
## [[Appion Testing|Automated testing]]
## [[How to test upload images with your own sandbox]]
## [[How to run manual picking and mask making]]
# *Error Handling*
## [[Error Handling|Error handling guide]]
# *Adding pop-up Help*
## [[adding popup help]]
# *Other stuff*
## Where to find help
## [[Common variables used]]
## Appion Developer's Workshops
### [[2010 Appion Developer Workshop]]
### "2011 Appion Developer Workshop":http://emg.nysbc.org/projects/appion-workshop/wiki