Developers guide » History » Version 58
  Amber Herold, 07/21/2014 10:54 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 | 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 | 56 | Amber Herold | #### [[how to add a launch page|Adding an Appion job launch page]]  | 
| 45 | 55 | Amber Herold | #### [[How to add an AppionLoop GUI 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 | 58 | Amber Herold | ### [[Overview of launching, running, and uploading cluster jobs|cluster job overview]]  | 
| 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 | ## Where to find help  | 
||
| 75 | 51 | Amber Herold | ## [[Appion tricks]]  | 
| 76 | 39 | Amber Herold | ## [[Common variables used]]  | 
| 77 | 43 | Amber Herold | ## Appion Developer's Workshops  | 
| 78 | 44 | Amber Herold | ### [[2010 Appion Developer Workshop]]  | 
| 79 | 45 | Amber Herold | ### "2011 Appion Developer Workshop":http://emg.nysbc.org/projects/appion-workshop/wiki  | 
| 80 | 53 | Anchi Cheng | # [[Job submission vs direct Appion Script running from terminal]] What are the differences in database logging and resource usage.  |