Can the backup function automatically place the forum in and out of maintenace mode?
It could but it shouldn't, without prominent notice at least.
Of course the admin should be notified if the forum is being put into maintenance mode (which it should be for
any size backup). The notice could include a quick reminder of what to do/check if for some reason it doesn't come back within a reasonable time.
And even so, you would be "in trouble" if the script dies due to a timeout or whatever error because it wouldn't be able to restore the forum to normal mode automatically
And that's why you remind the admin each time what's going on.
I still prefer if the admin takes a moment to understand what he is doing and why he gets a warning).
Incurable dreamer, eh? Most admins have no idea what's going on inside of SMF and cannot understand why this or that is happening. They just want and need a cookbook. Most admins are looking for an appliance, not a full time hobby.
As I wrote at the moment the devel version disables the button if the forum's size is big (well, of course this is an estimate) and maintenance is off, preventing (client side, but if you are crazy enough to force the download you know what you are risking) the download.
I feel that maintenance mode (1) should be turned on regardless of the estimated backup size, and that we need to do
something to examine the log or backup to see if something bad happened. Do we have any experience with backup problems as to what the end of the file looks like? Does it have any consistent pattern to indicate success or failure?
Put a comment at the top of the .sql file saying that the SMF backup created it. Put a comment at the bottom of the .sql file saying "end of backup". If we see that, is there any reason we can't assume that everything in-between is OK and turn off maintenance mode?
P.S. The maintenance message in Settings.php should then be changed to something about "system maintenance is being performed..." to cover both backups and restores. Or, the text string could be dynamically updated (as a separate, included file) to indicate what's going on.