You are currently browsing the monthly archive for May 2010.
The one-click image is available on the GLASS downloads page.
Pier version 220.127.116.11 fixes a couple of GemStone portability issues.
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ [ Gofer project load: 'Seaside28' version: '18.104.22.168'. Gofer project load: 'Magritte' version: '22.214.171.124'. Gofer project load: 'Pier' version: '126.96.36.199' ] on: Warning do: [:ex | Transcript cr; show: ex description. ex resume ]].
I recommend that you specify explicit versions when you load, because the default version of intermediate projects may not be exactly what you expect. By explicitly loading a version you will have fewer surprises.
Note also that I’ve wrapped the standard Gofer project load messages with a handler for Warnings that dumps the warning message to the Transcript and then resumes execution. The #commitOnAlmostOutOfMemoryDuring: method will do just that … it creates and enables an AmostOutOfMemory signal handler that performs a commit when you are almost out of memory – quite convenient for any operation that might run out of memory on you.
After snapping off GLASS 1.0-beta.9 for development this morning, I got right to work porting the absolute latest Seaside 2.8 release to GemStone and since there was new Seaside 2.8 code for Pharo and Squeak, I updated the ConfigurationOfSeaside28 for all three platforms.
To install or upgrade in GLASS 1.0-beta.8 evaluate the following expression in a GemTools workspace:
Gofer project load: 'Seaside28' version: '188.8.131.52'.
Now that the configurations for the GLASS code base are broken up into smaller pieces it is very easy for me (or anyone else) to make incremental releases.
In producing this release it should be noted that I released a new version of ConfigurationOfGsCore (version 0.240) without having to release a new ConfigurationOfGLASS. When ConfigurationOf28 the new version of ConfigurationOfGsCore is automatically loaded.
I will be providing detailed development steps shortly, so that other developers can get into the game.
- ConfigurationOfGsCore version 0.240
- ConfigurationOfGsMisc version 0.237
- ConfigurationOfMonticello version 0.238
- ConfigurationOfGsOB version 0.239
I am hoping that other developers will eventually start contributing bugfixes to the GLASS project and opening the development versions is the first step. Over the coming weeks I will provide more information about the GLASS development process, but if you are hot to get started, drop me a line and I’ll let you know what I’m thinking.
There are a number of changes that take effect with the 1.0-beta.8 release (part of the reason that the release has taken so long):
- Use Metacello for package management.
- Use Gofer for manipulating mcz files.
- Use Gofer Project Loader for managing Metacello configurations.
- Use glassdb wiki for web-based GLASS documentation.
- Use glassdb issue tracker for GLASS bug reports.
- Use Help System for image-based documentation, especially useful for installing GCI library files and defining GemTools Sessions.
- Use GemTools for updating the GemTools client code and updating the fundamental GLASS packages.
- Use Gofer Project Loader to upgrade the optional projects (which includes Seaside28, Seaside30 and SOAP)…Yes Seaside and SOAP are no longer included in the default configuration.
There are outstanding tasks that need to be completed before the entire 1.0-beta.8 release process is complete and you should keep an eye on the 1.0-beta.8 Release tasks for monitoring progress towards completion. Here is a list of the major milestones that are pending:
- GemTools 1.0-beta.6 one-click release.
- GemStone/S 2.4.x download with 1.0-beta.8 installed.
- New GLASS Appliance based upon GemStone/S 2.4.x and 1.0-beta.8.
- 1.0-beta.8 bootstrap release.
- Seaside 3.0 and GLASS documentation.
With all of that said, 1.0-beta.8 is ready to be used:
- Upgrade path for nearly all previous GLASS versions, including the problematic Pier upgrade issue.
- The GemTools documentation in Terse Guide to the (new) GLASS Tools has been transfered (and updated) to the glassdb wiki see the GemTools Launcher Guide page.
- Detailed upgrade instructions have been created on the glassdb wiki see the Getting started with GLASS page.
So have at it and let me know if you have problems.
1.0-beta.8 Upgrade Instructions
If you have an existing instance of GLASS including:
- a GLASS installation with version GLASS.230-dkh.231 or earlier
- a GLASS Appliance 1.0beta11 (GLASS.230-dkh.164)
- a native install of GemStone/S 64 2.3.1
- a native install of GemStone/S 64 2.4.x (contact me for download instructions)
Upgrade your installation by following these steps:
- Create a GemTools client image (Steps 3 through 8 on the Getting started with GLASS page) based upon Pharo or Squeak
- Make a backup of your starting extent (Step 9 on the Getting started with GLASS page)
- Update GLASS to 1.0-beta.8 (Steps 10 and 11 on the Getting started with GLASS page)
If you have upgraded from a version earlier than 1.0-beta.0, then you are done! The upgrade for optional projects was performed as part of the GLASS update.
If you are upgrading from 1.0-beta.0 or later, then you are not quite done with the upgrade process.
Upgrade Optional Projects for 1.0-beta.0 and later
The 1.0-beta.8 GLASS configuration no longer manages all of the GLASS projects directly. Only a handful of fundamental GLASS projects are being managed. To finish the upgrade process you will need to individually upgrade the optional projects like Seaside28, Seaside30 or SOAP.
For post 1.0-beta.0 upgrades, you should pick and choose from the projects and load only those projects that you are using or want in your repository.
Any one of the above configurations can be loaded on top of GLASS 1.0-beta.8.
Using Gofer one can load the latest version of Magritte using the following expressions:
Gofer new gemsource: 'MetacelloRepository'; package: 'ConfigurationOfMagritte'; load. (Smalltalk at:#ConfigurationOfMagritte) project latestVersion load.
Even though Gofer drastically reduces the complexity of the load expressions involving Monticello, there is still room for improvement when loading configurations and that’s where Gofer Project Loader comes into play.
Gofer project load: 'Magritte'.
With Gofer Project Loader you can specify a default repository (for GLASS: http://seaside.gemstone.com/ss/MetacelloRepository). Gofer Project Loader is also aware of the ‘ConfigurationOf’ convention, so it isn’t necessary to type the leading ‘ConfigurationOf’.
The Gofer Project Loader expression:
Gofer project load: 'Magritte' version: '184.108.40.206'.
loads version ‘220.127.116.11’ from ConfigurationOfMagritte and:
Gofer project load: 'Magritte' version: '18.104.22.168' group: 'Magritte-Seaside'.
loads the ‘Magritte-Seaside’ package (along with the dependent packages of ‘Magritte-Seaside’) from version ‘22.214.171.124’ of ConfigurationOfMagritte.
The following Gofer expression is useful if you would like to just load the ConfigurationOfMagritte without loading the Magritte project itself:
Gofer new gemsource: 'MetacelloRepository'; package: 'ConfigurationOfMagritte'; load.
It should be obvious by now that it will be worthwhile spending some time learning about Metacello (take the Metacello Tutorial), Gofer and Gofer Project Loader. I think you will find Metacello it very useful to build a Metacello configuration to manage the packages in your own project.
GemTools 1.0-beta.6 features:
- fixed highlighting for class definition/creation template
- enabled syntax highlighting in workspaces
- double click includes leading $_. In package GemTools-Overrides that is not loaded by default, because it stomps on a method in Character.
- GsOBColumnPanel>>currentNode sends #currentNode to server-side, fixing a couple of ancient bugs
- reset GLASS version after doing a Server update
- exclude #baseline versions from update glass client version list
- add proportional splitters to inspectors (resize panes vertically)
- Use Help System instead of ProfStef
- fix Issue 54 “Typos and unclear instructions in GemTools ProfStef tutorial”
- add ”Admin>>Doit…>>Version Report” menu item (included in bug report template) that shows versions of all installed configs
- add toggle ”Admin>>Commit on Almost Out of Memory” command
- upgrade path from 0.231, 0.232.2 and 1.0-beta.0 through 1.0-beta.7 to 1.0-beta.8
For GemTools installation instructions see the Getting started with GLASS page (steps 3 through 6).
For GemTools update instructions see the Update GemTools Launcher page.
GemTools Client 1.0-beta.6 has been tested with:
- Pharo 1.0
- Squeak 4.1
I am a seaside believer. It’s not that i dislike Rails or have turned my back on it, seaside just seems more natural to me now. I still really love the Ruby language, and (especially the documentation), but I think I have found a favorite framework for awhile