This enhancement adds a warning message if someone tries to save over the original "clean" downloaded image. I think it's fair to say that it's not generally recommended to overwrite the original image, since once you've done that, you can't go back. It's considered good practice to save the changed image to a new name. Beginners don't realize this, though, so the warning message is useful for them. (I've seen a few posts to this list from folks asking how to get their original image back... gotta go download the whole thing again.)
The enhancement works by comparing the current Squeak version (EToySystem version) with the image name, and if they're the same (e.g. Squeak2.7), then it brings up the warning message. It doesn't bring up the warning for alpha images. (This shouldn't be much of an inconvenience to anyone... once you've done a 'save as...', you shouldn't ever see the warning.)
The changeset modifies only SystemDictionary>>snapshot:andQuit:. (It's compatible with the latest 2.8alpha, but not 2.7.) It's available at:
http://www.mindspring.com/~dway/smalltalk/CleanSaveWarning-dew.cs
Here's the text of the warning (confirm:) message...
'You are about to save over a clean ', EToySystem version, ' image. Normally it is recommended to use ''save as...'' first instead to save your working image, so that a copy of the original (clean) image is preserved. Do you still want to proceed with saving?'
Any suggestions on wording, or appropriateness, are welcome.
- Doug Way EAI/Transom Technologies, Ann Arbor, MI http://www.transom.com dway@mat.net, @eai.com
On Tue, 29 Feb 2000, Doug Way wrote:
This enhancement adds a warning message if someone tries to save over the original "clean" downloaded image. I think it's fair to say that it's not generally recommended to overwrite the original image, since once you've done that, you can't go back. It's considered good practice to save the changed image to a new name. Beginners don't realize this, though, so the warning message is useful for them. (I've seen a few posts to this list from folks asking how to get their original image back... gotta go download the whole thing again.)
I for one prefer saving my original downloaded archive, which is considerably more compact than the expanded image and changes. In this case, it is perfectly safe to overwrite the expanded image. In fact, I generally prefer to do this because it means I don't have to throw away the space-wasting virgin image.
The enhancement works by comparing the current Squeak version (EToySystem version) with the image name, and if they're the same (e.g. Squeak2.7), then it brings up the warning message. It doesn't bring up the warning for alpha images. (This shouldn't be much of an inconvenience to anyone... once you've done a 'save as...', you shouldn't ever see the warning.)
Once I've saved over my original image with full knowledge of what I'm doing, I would not want to have to see the warning again. If this warning is incorporated into the base image (which is, I'm sure, a great idea), I'd like to see an option added to prevent the message from being shown in the future. Attached is a modification which checks the preference suppressCleanSaveWarning, and offers to set it if the save is proceeded.
-Jesse
On Tue, 29 Feb 2000, Jesse Welton wrote:
I for one prefer saving my original downloaded archive, which is considerably more compact than the expanded image and changes. In this case, it is perfectly safe to overwrite the expanded image. In fact, I generally prefer to do this because it means I don't have to throw away the space-wasting virgin image.
Good point. I did consider that some people might want to do this, and if so, I figured someone would pipe up. :)
Once I've saved over my original image with full knowledge of what I'm doing, I would not want to have to see the warning again. If this warning is incorporated into the base image (which is, I'm sure, a great idea), I'd like to see an option added to prevent the message from being shown in the future. Attached is a modification which checks the preference suppressCleanSaveWarning, and offers to set it if the save is proceeded.
I like the addition of the preference. In fact, I'm not sure if you even need to bother bringing up a second prompt to ask whether someone wants to set it, I would just go ahead and set it. I doubt that anyone would care to be repeatedly warned once they've decided to overwrite the clean image. This simplifies the code a bit too... I've attached a newer changeset which does this.
(Although I guess there might be some value in notifying the user that a preference is about to be set. I don't really have a strong preference between this changeset and Jesse's, if one of them is to be added to the base image. Either one would be better than my first changeset.)
- Doug Way EAI/Transom Technologies, Ann Arbor, MI http://www.transom.com dway@mat.net, @eai.com
Doug Way wrote:
I like the addition of the preference. In fact, I'm not sure if you even need to bother bringing up a second prompt to ask whether someone wants to set it, I would just go ahead and set it. I doubt that anyone would care to be repeatedly warned once they've decided to overwrite the clean image.
I was thinking about the updating of distribution images. For instance, if the initial 2.8 release image is updated with the first set of 2.8 updates, then saved and repackaged for a second release, suppressCleanSaveWarning should probably not automatically be set.
-Jesse
On Tue, 29 Feb 2000, Jesse Welton wrote:
Doug Way wrote:
I like the addition of the preference. In fact, I'm not sure if you even need to bother bringing up a second prompt to ask whether someone wants to set it, I would just go ahead and set it. I doubt that anyone would care to be repeatedly warned once they've decided to overwrite the clean image.
I was thinking about the updating of distribution images. For instance, if the initial 2.8 release image is updated with the first set of 2.8 updates, then saved and repackaged for a second release, suppressCleanSaveWarning should probably not automatically be set.
Ah yes. I meant to mention that, e.g. Squeak Central would need to remember to unset the suppressCleanSaveWarning before sending out a new 2.8 image, for example. So I guess leaving the second prompt in there might be the easiest way to manage that.
- Doug Way EAI/Transom Technologies, Ann Arbor, MI http://www.transom.com dway@mat.net, @eai.com
Once I've saved over my original image with full knowledge of what I'm doing, I would not want to have to see the warning again. If this warning is incorporated into the base image (which is, I'm sure, a great idea), I'd like to see an option added to prevent the message from being shown in the future.
...
I meant to mention that, e.g. Squeak Central would need to remember to unset the suppressCleanSaveWarning before sending out a new 2.8 image, for example. So I guess leaving the second prompt in there might be the easiest way to manage that.
I think there is a case of creeping handle-esoteric-cases-itis here. It should only need to do this:
Don't warn if it was previously saved to *the same disk with *the original name.
The SqC problem is solved by comparing the name of the root volume the imaged is saved onto. If it is different from the last one, it has been moved, so offer the warning. This will be triggered unless you download the update to the disk Bruce prepared the update on (let's hope he doesn't call it 'Macintosh HD').
trying to keep it simple, Henrik
< = > .
[attribution lost in the mists of time]
Once I've saved over my original image with full knowledge of what I'm doing, I would not want to have to see the warning again. If this warning is incorporated into the base image (which is, I'm sure, a great idea), I'd like to see an option added to prevent the message from being shown in the future.
My solution would be to point out that (except for initially creating it) one should never save over the original release image. It is evil, irresponsible, ungentlemanly, immoral, improper, likely to make you fat(ter) or even cause acne. Fiends don't let fiends overwrite a virgin image.
tim, not at all toungue in cheek, seriously.
Henrik Gedenryd Henrik.Gedenryd@lucs.lu.se wrote...
The SqC problem is solved by comparing the name of the root volume the imaged is saved onto. If it is different from the last one, it has been moved, so offer the warning. This will be triggered unless you download the update to the disk Bruce prepared the update on (let's hope he doesn't call it 'Macintosh HD').
Note that there is already code in openSourceFiles that makes pretty much this same test in order to invalidate the authorInitials.
- D
squeak-dev@lists.squeakfoundation.org