With GLASS 1.0-beta.8. I am finally providing an upgrade path for GLASS.230-dkh.231, the GLASS Appliance 1.0beta11 (GLASS.230-dkh.164), and GemStone/S 64 2.3.1.
FINALLY!
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.
The implication of having optional projects is that the fundamental GLASS projects and the optional projects can now be upgraded independently, so monolithic releases are no longer necessary.
http://seaside.gemstone.com/ss/MetacelloRepository
The MetacelloRepository on GemSource is where the configuration for projects that are known to work in GLASS are stored:
- ConfigurationOfGLASS
- ConfigurationOfGofer
- ConfigurationOfGoferProjectLoader
- ConfigurationOfGrease
- ConfigurationOfGsCore
- ConfigurationOfGsFastCGI
- ConfigurationOfGsHyper
- ConfigurationOfGsMisc
- ConfigurationOfGsMonticello
- ConfigurationOfGsOB
- ConfigurationOfGsScaffolding
- ConfigurationOfGsSeasideTesting28
- ConfigurationOfGsSOAP
- ConfigurationOfGsSqueakSource
- ConfigurationOfMagritte
- ConfigurationOfMetacello
- ConfigurationOfPier
- ConfigurationOfPierAddOns
- ConfigurationOfSeaside
- ConfigurationOfSeaside28
- ConfigurationOfSeaside28Examples
- ConfigurationOfSeaside30
- ConfigurationOfSwazoo2
- ConfigurationOfXMLSupport
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.
Using Gofer Project Loader the following expression is equivalent to the previous Gofer expression:
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: '1.2.1.4'.
loads version ’1.2.1.4′ from ConfigurationOfMagritte and:
Gofer project load: 'Magritte' version: '1.2.1.4' group: 'Magritte-Seaside'.
loads the ‘Magritte-Seaside’ package (along with the dependent packages of ‘Magritte-Seaside’) from version ’1.2.1.4′ 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.
—
http://www.flickr.com/photos/markkelley/ / CC BY-NC-ND 2.0



9 comments
Comments feed for this article
May 27, 2010 at 1:53 am
Nick Ager
Hi Dale,
Quick question, does this release include support for Pier 2 on Seaside 3? Congratulations on the release
Nick
May 27, 2010 at 8:26 am
Dale Henrichs
Nick,
Magritte2 and Pier2 are not supported yet … It was important to roll out full Metacello support and solve the upgrade issues before spending time on porting Magritte2 and Pier2.
With Metacello it will be much easier to make progress on a number of different projects in parallel, so I plan on first bringing Seaside2.8 support up to the latest (today and tomorrow) before starting work on the Seaside3.0 ports…
May 27, 2010 at 10:09 am
GLASS 1.0-beta.9: Open for Development « (gem)Stone Soup
[...] } I know, I know, the paint is not even dry on GLASS 1.0-beta.8 and I’m opening GLASS 1.0-beta.9 for development? Well, of [...]
May 27, 2010 at 4:26 pm
Seaside 2.8.4.6 available « (gem)Stone Soup
[...] } The first fruits of the GLASS 1.0-beta.8 release: Seaside 2.8.4.6 is available for GLASS, Pharo and [...]
May 28, 2010 at 12:24 am
Nick Ager
Hi Dale,
Let me know if I can help with the Pier2 port. I have a Pier2 app in development and I’m keen to use Gemstone as my deployment target,
Cheers
Nick
May 28, 2010 at 9:21 am
Dale Henrichs
Nick,
My short term plans are to make a pass through Seasid2.8,Magritte, and Pier, then hit Seaside3.0 (bring it up to date), then port Magritte2 and Pier2. When I get to the point of porting Magritte2 and Pier2 I’ll see if there’s a lot that needs to be done. In general Lukas has been real good about keeping Pier very portable, so I don’t expect too much trouble …
Thanks for the offer! and ping me if I don’t seem to be moving fast enoug:)
Dale
May 29, 2010 at 12:23 am
Nick Ager
Dale,
Thanks for the update – seems like now you’ve got the infrastructure in place you’re moving forward at a blistering pace. Really looking forward to trying my app out in Gemstone,
Nick
May 29, 2010 at 11:56 am
Dale Henrichs
Nick,
Yes, It nice to be able to move at “the speed of thought” again… It looks like I should be able to focus on Seaside3.0/Magritte2/Pier2 next week!
October 21, 2011 at 5:08 pm
GLASS 1.0-beta.8.7 released « (gem)Stone Soup
[...] GLASS to 1.0-beta.8 which gets you to the point where Metacello is installed. This step can take awhile, so be [...]