Currently, SimFactory embeds the submit script and the run script in a configuration when the configuration is built. Neither of these are intrinsic properties of a configuration from a Cactus point of view. For example, they could be changed at job submission time. I think it would make a lot of sense for these to be decoupled from the configuration and chosen at job submission and job run time respectively. Here are some real-world situations where this would be useful:
1. At the AEI, we have workstations built into the same environment as our cluster, so that the same configuration/executable can run on both. At the moment, since the submission script (which would be different for a workstation and the cluster) is part of the configuration, you need to build two configurations even though it would be logical to just choose a different submit script at submit time.
2. When modifying a submit script or a run script, it is currently necessary to use "sim build". This can take a very long time (several minutes) on some clusters, even when there are no changes. There is no logical reason to recompile the configuration when only the submit or run script has changed.
3. It is very confusing that editing the submit script does not lead to it being used in subsequent submissions. I have very often forgotten that you need to do a new "build --submitscript..." command.
4. When SimFactory gains support for running testsuites, it will probably happen by having an alternate run script. In this case, it would be necessary to have a configuration specifically for testsuites, where the only difference is that the run script is a testsuite script rather than a parameter file script.
I propose removing --submitscript and --runscript from the "sim build" command and moving them to "sim submit" and "sim run" respectively.