With the current implementation, all scaffolds are open in Gateway quizzes. The scaffold.pl macro looks for the environment variable effectivePermissionLevel, and if that variable is not set then it opens all scaffolds. It does this so that all scaffolds will be open in the library browser, which does not set that variable. However, Gateway quizzes also don't set that variable. I actually like that in the way that I use scaffolds, as I only allow one submission for the test. You presumably are allowing multiple submissions. You could change line 273 of scaffold.pl from
our $isLibrary = ($main::envir{effectivePermissionLevel} eq "");
to
our $isLibrary = 0;
our $isLibrary = ($main::envir{effectivePermissionLevel} eq "");
to
our $isLibrary = 0;
You will also need to change the next several lines from
our $isInstructor = ( .... );
to
our $isInstructor = 0;
Of course then not all scaffolds will be open in the library browser (and homework sets editor). Furthermore, you will not have all scaffolds open when you view scaffolding problems.
Although, I don't really recommend this approach.