Project

General

Profile

Actions

Feature #2634

closed

new base form for appionloop web GUI forms

Added by Amber Herold almost 11 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Amber Herold
Category:
Web interface
Start date:
01/21/2014
Due date:
% Done:

0%

Estimated time:

Description

I've written a new abstraction for the appion loop web forms. Everything is backward compatible, so no rush to convert forms.

Now, all appion loop forms can be written with a single .inc file placed in processing/inc/forms.
The page is displayed in the browser by going to runAppionLoop.php and providing the name of the form class.
For example,

betamyamiweb/processing/runAppionLoop.php?expId=8556&form=MakeDDStackForm
will display the makeDDStackForm by looking in processing/inc/forms for the makeddStackForm.inc file. The file is then loaded and the form class is instantiated in the runAppionLoop.php file.

New appionloop forms will be based on the new BasicLoopForm class. New forms will simply set the parameters for the base class like this:

        // Set the publications to be references on the web pages
        $pubList = array('appion');
        $this->setPublications( $pubList );
        $this->setJobType( 'makeddrawframestack' );
        $this->setOutputDirectory( 'ddstack' );
        $this->setBaseRunName( 'ddstack' );
        $this->setTitle( 'makeDDRawFrameStack.py Launcher' );
        $this->setHeading( 'Create a Direct Detector Frame Stack' );
        $this->setExeFile( 'makeDDRawFrameStack.py' );
        $this->setGuideURL( "http://emg.nysbc.org/projects/appion/wiki/Appion_Processing" );
        $this->setTestable( True ); // True to activate "test single image".
        $this->setUseLegOutDir( False ); // The output directory will be created in the Appion run directory rather than Leginon.
        $this->setShowDesc( True ); // Flag to hide the description field of the run parameters.

This takes care of all the gui stuff that is common to most Appion Loop interfaces.
Then you just need to write a function to display parameters specific to the method that the interface is for, and also a function that handles displaying any "test single image" results, since that changes depending on what is being tested.

The createAppionLoopTable() function has been rewritten to use the BasicForm class in appionLoopTable.inc.

Will check this in asap, hopefully after an in person code review with Anchi, since the changes are pretty far reaching.

Actions #1

Updated by Amber Herold almost 11 years ago

  • Status changed from Assigned to In Test
I checked in code that makes major changes to the appionloop parameters GUI.
The parameters involved include:
  • run name
  • output directory
  • preset
  • wait for more images
  • only process x imagaes
  • images to process
  • image order
  • continuation
  • commit results
  • test on single image

Please double check the values of these parameters when you are running commands and let me know right away if you see anything wrong.

Anchi did an in-person code review, so I am putting this issue directly into test.

Actions #2

Updated by Amber Herold almost 11 years ago

For step-by-step directions on how to add a new Appion Loop GUI form, see How to add an AppionLoop GUI page.

Actions #3

Updated by Amber Herold over 10 years ago

  • Status changed from In Test to Closed
Actions

Also available in: Atom PDF