Maintaining Smalltalk code between development and passive images
It is important to note that the development image and the passive images act as separate machines. Although they exist within the same object space, the development image and the passive images are different; the code loaded into the passive images is a copy of the code available from the development image.
When a change is made to the code--either in the development image or in a passive image--you need to propagate that change to other images that contain the same code. For example, assume that you have loaded your application, MyBankDatabase, into a passive image from the development image. You then change a method in one of the Smalltalk classes contained in MyBankDatabase from the development image. The code in the passive image is not changed when the change is made to the code in the development image. To keep the code in sync among the development and the passive images, you must maintain the changes throughout the separate images.
There are many ways to keep the code between images in sync, but the easiest way to propagate changes to the affected images is to version and release the code in the image in which you made a code change. In our example, you would version and release MyBankDatabase in the development image. Then reload the new version of MyBankDatabase into the passive image.
By maintaining your code between Smalltalk images, you will avoid the possibility of packaging and running an old application that does not include your latest code changes.
Last modified date: 05/09/2019