Project

General

Profile

Developers guide » History » Revision 55

Revision 54 (Amber Herold, 08/14/2012 02:47 PM) → Revision 55/62 (Amber Herold, 02/05/2014 06:28 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 
 ## [[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]] 
 ## [[General Best Practices]] 
 ## [[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) 
 #### [[How [[how to add a launch page (generic)|Adding page|Adding an Appion job launch page]] 
 #### [[How to add an AppionLoop GUI 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]] 
   
 # *Making changes to database tables* 
 ## [[Database change procedure]]  
   
 # *Other stuff* 
 ## Where to find help 
 ## [[Appion tricks]] 
 ## [[Common variables used]] 
 ## Appion Developer's Workshops 
 ### [[2010 Appion Developer Workshop]] 
 ### "2011 Appion Developer Workshop":http://emg.nysbc.org/projects/appion-workshop/wiki 
 # [[Job submission vs direct Appion Script running from terminal]]    What are the differences in database logging and resource usage.