Development Sessions

Working in Open Cobalt

Open Cobalt is based on the Squeak implementation of the Smalltalk language. The current Squeak and Open Cobalt developers tools are more fully described on the Squeak swiki.

Several different strategies should be used for maintaining code in Squeak and Open Cobalt. This section describes a progression from a very simple strategy to a more complex one. Here are some basic guidelines:
1. It's very important to keep a clean backup image so that you can have a reasonable point to fall back to should problems be encountered.
2. Note that saving the new code before testing is the safest way to make sure that major changes are not lost if a disastrous error occurs.
3. It is generally not a good idea to save a working image with a 3D/OpenGL display active.

A Very Simple Squeak Session

A very simple Squeak development session would just load an image, make some changes using a class browser, save a new or the same working image, and test out the changes.

A More Advanced Squeak Session

A more advanced Squeak development cycle uses changeSets as code deltas and probably at least 2 saved images, a clean stable image and a working development image. The biggest reason for using changeSets is that they are usually much smaller than a full image file, and therefore easier to exchange with other developers.
So a more advanced development session using traditional Squeak goes like this:
1. Start up Squeak with a clean image file.
2. Optionally use a file browser to open a local working directory and load the changeset(s) under development.
3. Using a class browser and possibly other development tools, make changes to the code in the class(es) being developed.
4. Save a working image.
5. Test the new code.
6. Repeat the last few steps until the desired consistency is reached.
7. Using a single or dual change sorter, save a newly updated version of the changeset(s) under development back to the working directory. Changesets with the same name have an automatically incremented version number in the file name.

A Simple Cobalt Session

Instead of changesets, current Open Cobalt development uses Monticello as the code repository because of its more flexible versioning capability. The Open Cobalt repository is located here.

A very simple development session using Monticello goes like this:
1. Start up Open Cobalt with a clean image file.
2. Using the Monticello browser, open a local or shared repository and load the package(s) under development.
3. Using a class browser and possibly other development tools, make changes to the code from the package(s).
4. Using the Monticello browser, save a newly updated version of the package(s) under development back to its original repository.
5. Test the new code.

A More Advanced Cobalt Session

It is entirely possible to use a hybrid of the traditional Squeak development and the Cobalt development, possibly saving a working image during intermediate development sessions and then saving the Monticello package only when development and testing reaches a milestone.

So a more advanced development session using Open Cobalt would go like this:
1. Start up Open Cobalt with a clean image file.
2. Optionally use the Monticello browser to open a local or shared repository and load the package(s) under development.
3. Using a class browser and possibly other development tools, make changes to the code in the class(es) being developed.
4. Save a working image.
5. Test the new code.
6. Repeat the last few steps until the desired consistency is reached.
7. Using the Monticello browser, save a newly updated version of the package(s) under development back to the repository.


Comments