You are currently browsing the monthly archive for October 2011.
I plan a series of blog posts over the next few weeks to cover some of the more interesting changes and new features included in and enabled by GLASS 1.0-beta.8.7.
GemStone/S 2.3.1 Upgrade
- Update your GemTools image to GemTools 1.0-beta.8.5.
- Update GLASS to 1.0-beta.8 which gets you to the point where Metacello is installed. This step can take awhile, so be patient.
- Update GLASS to 1.0-beta.8.7.
- Update the rest of the projects that were part of GLASS.230-dkh.164, most notably:
- Seaside 2.8.5
- Magritte 188.8.131.52
- Pier 184.108.40.206
As always don’t forget to make a backup before and after the upgrade.
GemStone/S 220.127.116.11 Upgrade
GemStone/S 18.104.22.168 and the subsequent 2.4.x releases have all shipped with GLASS 1.0-beta.8.1 pre-installed in the seaside extent ($GEMSTONE/bin/extent0.seaside.dbf). The upcoming GemStone/S 2.4.5 release will be shipped with GLASS 1.0-beta.8.7 pre-installed.
To upgrade to GLASS 1.0-beta.8.7:
GemTools 1.0-beta.8.5 has been released. With this release there have been several bugfixes:
- Issue 132 : Use System class>>#”cacheName:” to make session recognizable in vsd
- Issue 250 : order and size of args asociated with #halt changed in Gci3xErrStype64 (GemStone 3.0)
- Issue 280: GemTools login error: ”Network error – text follows”, does not follow with error message…
- Issue 291: Maintenance Gem Topaz Exit 3.0 / GemStone 3.0
as well as some tweaks to the GLASS upgrade process.
I always recommend that you update GemTools before upgrading GLASS, because the GLASS upgrade process is driven by code included in GemTools. When you select the Update GLASS menu item, the class OGUpgradeJadeServer (included in the GemTools distribution) is compiled on the server and is then used to control the upgrade process.
Don’t forget that when you load GemTools into Pharo and Squeak, a set of Help Browser pages are created to provide the most up-to-date information on getting started with GemStone and the GemTools image.
Before releasing 1.0-beta.8.5, I tried loading GemTools into some of the more recent Pharo releases, like Pharo 1.3 and Pharo 1.2, but unfortunately the OmniBrowser implementation in those images is incompatible with the OmniBrowser required for GemTools. The latest version of Pharo that I found that works with GemTools is Pharo1.1.2-11422.
Squeak VM versions
While we’re on the subject, you should also be aware that in order to connect to GemStone, you must use an older version of the Squeak vms (4.2.2 or older) to avoid an FFI bug. For more details, see Issue 258.
Kaliningrad oblast (sometimes called Yantarny krai which means “The amber region”) is located on the coast of the Baltic sea and is the site of the world’s largest amber deposits.
Kaliningrad automatically maps Amber package names to Monticello package names, so Kaliningrad is pretty easy to use.
To load Kaliningrad execute the following expression:
Gofer new url: 'http://ss3.gemstone.com/ss/Kaliningrad'; package: 'ConfigurationOfKaliningrad'; load. ((Smalltalk at: #ConfigurationOfKaliningrad) project version: '0.1') load.
Once you’ve got the Seaside server running, hit (user/password : admin/tool):
If you want save your Amber code into a Monticello package follow these steps:
- Create an Amber package (‘tODE-AmberClient’) in the Amber Browser.
- Create a Monticello package with the same name (‘tODE-AmberClient’) using the Monticello Browser in your image.
- Register the Monticello package with the KOAmberBrowser class:
KOAmberBrowser addMonticelloPackage: 'tODE-AmberClient'
Thereafter, when you hit the Commit package button for ‘tODE-AmberClient’ in the Amber Browser, the .js and .st source will be saved in the ‘tODE-AmberClient’ Monticello package.
The class KOAmberBrowser is also a good example for how to integrate Amber code into a Seaside component.
Importing classes into Amber
If you want to import a class from your Smalltalk image into Amber, you can evaluate an expression like the following in an Amber workspace:
KOImporter importClass: 'TOSession' intoModule: 'tODE-Amber'
Be aware that there are differences between Amber Smalltalk and other Smalltalk implementations (see the section entitled Differences with other Smalltalk implementations on the Amber documentation page). KOImporter does not check for correctness.
Kaliningrad 0.1 is based on Amber 0.9.
If you run into problems, let me know.
 Photo by http://www.flickr.com/photos/paul_garland/5133520694 / CC BY-SA 2.0