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. |