From: Greg Ercolano <erco@(email surpressed)>
Subject: [Q+A] Submit script GUI forms
   Date: Thu, 16 Jul 2009 13:09:08 -0400
Msg# 1869
View Complete Thread (1 article) | All Threads
Last Next
> We're playing around with customizing the input forms in the
> submit scripts. It looks like the submit scripts use a compact
> shorthand for defining the forms that is not the same as the format
> described in the docs for the 'input.exe' program:
> http://www.seriss.com/rush-current/input/


    I'm guessing you mean the shorthand 'ascii art' representation
    of the submit forms that you see in all the modern Rush submit
    scripts (last 5 years) e.g.:

-------------------------------------------------------------------------- snip

<<TAB>> "Rush"

=     Log Directory: ___________________________________________ ? Browse"<DIR>"
=         Log Flags: "Keep Last,Keep All,Overwrite" ?
=      Max Log Size: ______________ ?

           AutoDump: "off,fail,done,donefail" ?
          Done Mail: ______________ ?
          Dump Mail: ______________ ?

-------------------------------------------------------------------------- snip

    Right.. this format you see in the submit scripts is not actually passed
    directly to input.exe.. there's a function in .common.pl called CreateInputForm($$$)
    which converts the "ascii art" into the "long format" that input.exe understands.

    The reason for doing this:

        In ye olde days (2003 or so), each submit script had the "long form"
	input.exe commands, which made the scripts huge and hard to read.
	Also, everyone edits those scripts to customize, and all that redundant
	code seemed unnecessary bulk.

	So I thought, "what's the easiest way to represent these forms?" to reduce
	the size of the scripts and make them easier to read.

	'ascii art' seemed like the best solution; it visually looks just like
	what you see in the submit forms; easy to read, easy to change. It avoids
	redundant blocks of code, and I took a few shortcuts to represent common
	things to all the submit forms (submit/help/default buttons, etc)

	So I inserted the CreateInputForm() function in .common.pl, and slowly
	modified all the submit scripts to use the ascii art representation,
	and pass it to CreateInputForm() to open the GUI.

	input.exe still understands the "long form", so old scripts with the
	long form content still work normally.
	
    So anyway, the intermediate "long form" GUI commands are generated on the fly
    by that CreateInputForm() function, and these files are left behind (for info purposes)
    in the usual place:

          UNIX: ~/.rush/submit-xxx.in
       WINDOWS: c:/temp/.rush-<USERNAME>/submit-xxx.in

    What's interesting is that in the next release, input.exe will be able to parse
    the ascii art format directly.

    This was done so that submit scripts can be written in other languages (eg. python)
    without having to port all the logic in CreateInputForm() to each scripting language.

Last Next