You are currently browsing the category archive for the 'Pharo' category.
With the 1.0-beta.1 release of the GemTools Client, we’re doing two things:
- Conforming to the new Metacello configuration naming convention.
- Getting ready for the imminent GLASS 1.0-beta.0 release.
GemTools 1.0-beta.1 features:
- Convert to using ConfigurationOfGemTools.
- Nicer info dialog when Undefined symbols and Unsent messages are clean
- Support for GemStone/S 3.0 GciErrSType
- Change restore from backup done message … do not prompt to start Seaside gems if Seaside is not installed
- Replace dialogs that are calling “ifNotEmpty:” with: “isEmptyOrNil” (from Gerhard)
- autoAbort _before_ commands is now optional (off by default)
If you’ve already installed the GemTools Client 1.0-beta.0, then you want to follow the Update instructions. To install the GemTools Client in a virgin Squeak or Pharo image jump to the Install instructions.
Update
With GemTools Client 1.0-beta.0 already installed, we need to update to using ConfigurationOfMetacello as well as ConfigurationOfGemTools:
- Load the latest version of the ConfigurationOfMetacello package from http://seaside.gemstone.com/ss/metacello.
- Load the latest version of the ConfigurationOfGemTools package from http://seaside.gemstone.com/ss/GLASSClient.
- Execute the following expression in a workspace:
ConfigurationOfMetacello loadLatestVersion. ConfigurationOfGemTools loadLatestVersion.
Then continue with Step 3 of the installation instructions.
Installation
If you haven’t already been using the GemTools 2.3.1 Preview for all platforms (which is based on Pharo), then you should download the preview GemTools client and follow the instructions for setting up your session to verify that you can connect to your stone. You’ll need the session information and the gci files from the Preview to get things running with the either Squeak or Pharo.
I’ve tested the installation procedure using Squeak3.10.2-Trunk-090912 and pharo1.0-10492-rc1dev09.11.1.
To load GemTools into a client image:
- Load the latest version of the ConfigurationOfGemTools package from http://seaside.gemstone.com/ss/GLASSClient.
- Execute the following expression in a workspace:
ConfigurationOfGemTools loadLatestVersion. - Execute the following expression to open the GemTools launcher:
OGLauncher open - Copy the session information from your old GemTools Client to the new GemTools Client in your image. Use the Edit session menu item on the Session Menu in the launchers.
- Save the image.
- Copy the gci files (gciForWindows.dll, gciForLinux.so, and gciForMacintosh.so) from GemTools-2.3.1-preview.app/Contents/Resources in the one-click into the directory containing your image and changes files.
- Press the Login button on the GemTools Launcher and you should be in business.
—–
[1]http://www.flickr.com/photos/randyweiner/ / CC BY-NC-ND 2.0
Shortly after I announced the GemTools Client for Pharo, Gerhard Obermann jumped in and refactored a number of the GemTools menus using sub menus. Unfortunately, I got involved in a number of other tasks (including refining the Metacello API) before I could push his changes out. Now that Metacello is stabilized, it is time to revisit the installation and update procedures for the GemTools Client.
[Update 10/16/2009: fixed egregious errors in the installation instructions ... 2 steps and the first step was plain wrong:) ... thanks Gerhard]
[Update 11/04/2009] Please see the GemTools Client 1.0-beta.1 post for up-to-date instructions.
Installation
[Update 11/04/2009] Please see the GemTools Client 1.0-beta.1 post for up-to-date instructions.
If you haven’t already been using the GemTools 2.3.1 Preview for all platforms (which is based on Pharo), then you should download the preview GemTools client and follow the instructions for setting up your session to verify that you can connect to your stone. You’ll need the session information and the gci files from the Preview to get things running with the either Squeak or Pharo.
I’ve tested the installation procedure using Squeak3.10.2-Trunk-090912 and pharo1.0-10470-BETAdev09.10.2.
To load GemTools into a client image:
- Load the latest version of the GemTools-Configuration package from http://seaside.gemstone.com/ss/GLASSClient. GemTools-Configuraton-dkh.12 is currently the most recent version.
- Execute the following expression in a workspace:
GemToolsConfiguration loadLatestVersion. - Execute the following expression to open the GemTools launcher:
OGLauncher open
- Copy the session information from your old GemTools Client to the new GemTools Client in your image. Use the Edit session menu item on the Session Menu in the launchers.
- Save the image.
- Copy the gci files (gciForWindows.dll, gciForLinux.so, and gciForMacintosh.so) from GemTools-2.3.1-preview.app/Contents/Resources in the one-click into the directory containing your image and changes files.
- Press the Login button on the GemTools Launcher and you should be in business.
Last December when I first introduced the GemTools Launcher, it took 6 steps to install the GemTools Client code:
In July I announced the GemTools Client for Pharo (based on version 0.9 of Metacello), it took 4 steps:
Today it takes only 2 steps:
The configuration class bootstraps Gofer and Metacello, then loads FFI and finally loads the OGLauncher application code. Danged close to a one-click install:)
Update
To update the GemTools Client to a later version, you can follow the instructions for the Update…menu.
If you have any trouble join and send mail to the GLASS Beta Mailing List.
—–
[1]Photo by Okinawa Soba (Creative Commons).
This morning, Adrian Leinhard announced the first Pharo 1.0 beta release.
As most of you are aware, I’ve been heads down on Metacello going on several months now. I’m making very good progress.
In the last couple of weeks, I’ve been reworking the internal GLASS build procedures to use Metacello. I’ve also had a couple of GLASS users using Metacello for creating their own custom extents (i.e., loading only the projects that they are interested in, rather than the whole enchilada you get with the GLASS package).
When I read Adrian’s announcement, I thought this was a perfect time to kill two birds with one stone: release a version of GemTools that runs on the latest Pharo image and get a little more real world exposure for Metacello by using Metacello in the install/update procedure for the GemTools Client.
If you haven’t already been using the GemTools 2.3.1 Preview for all platforms (which is based on Pharo), then you should download the preview GemTools client and follow the instructions for setting up your session and verify that you can connect to your stone. You’ll need the session information and the gci files from the Preview to get things running with the Pharo 1.0 beta.
Installing GemTools Client in Pharo 1.0 beta
[Updated: 10/17/2009] Updated instructions for installing the GemTools Client in Pharo and Squeak can be found here.
If you’ve already been using Pharo as a GemTools client, then follow these instructions to get cooking:
- Download and install the Pharo 1.0 beta. Don’t forget to get the latest Pharo vm for your platform (also available on the downloads page).
- Load Metacello-All-dkh.6 from http://seaside.gemstone.com/ss/metacello (loads Metacello-Core, Metacello-MC, MetacelloProject and OB-Metacello).
- Delete the Metacello-All working copy. Once you’ve got Metacello loaded, you don’t need Metacello-All anymore.
- Execute the following expression to load the GemTools Client Metacello project (project meta-information):
(MetacelloMCProject instance packageSpec file: 'GemStone-MetacelloProject-dkh.116'; repositoryName: 'http://seaside.gemstone.com/ss/GLASSproject'; yourself) load - Execute the following expression to load the GemTools Client code:
(GemToolsClientMetacelloProject version: '0.9') load - Execute the following expression to open the GemTools launcher:
OGLauncher open - Copy the session information from your old GemTools Client to the new GemTools Client in your Pharo 1.0 beta image. Use the Edit session menu item on the Session Menu in the launchers.
- Save the image.
- Copy the gci files (gciForWindows.dll, gciForLinux.so, and gciForMacintosh.so) from GemTools-2.3.1-preview.app/Contents/Resources in the one-click into the directory containing your Pharo 1.0 beta image and changes files.
- Press the Login button on the GemTools Launcher and you should be in business.
[Update 8/1/2009: Use the Update Client and load version 0.9.1, to get a bugfix for interrupt handling].
Moving forward, you’ll use the Update Client button or Update… menu item to get newer versions of the GemTools client.
The ink is barely dry on version 0.9 of the GemTools Client, so if you run into issues, send mail to the GLASS Beta Mailing List (subscription required).
Next GLASS Beta Update
If things go smoothly, I expect to have a new GLASS version (using Metacello of course) available in a couple of weeks. The new update will include Seaside 2.8.4, Pier 1.2 and a handful of bugfixes.
Metacello
My priorities at the moment are to:
- Use Metacello to replace the old GLASS package system for communicating software updates and package dependencies.
- Finish implementing the features that are planned for 1.0 so that I can go into beta with Metacello. I hope to have gone beta with Metacello prior to ESUG.
- Finish up the Metacello tutorials so that other folks can start using Metacello for their own projects.
- Define a Metacello project for Swazoo 2 and Aida to make it possible for folks to track the ongoing development of GLASS while using Aida.
Seaside 2.9
We plan to release GemStone/S Version 2.4 within the next couple of months. 2.4 includes VM support for partial continuations, so it will be feasible to run Seaside 2.9 on top of GLASS.
In the last month, Gerhard Obermann and I have been pretty busy. Between us we’ve made over 80 updates to the GemTools package and over 20 updates to the GLASS package.
At this point in time, I think that the GemTools Launcher (GemStone-dkh.441) and the OmniBrowser tools are stable enough that you no longer need to be Brave and/or Curious to take the new tools and GLASS.230-dkh.209 for a spin. In fact the tools are probably in better shape now than they’ve ever been (I haven’t seen the MNU storms that would periodically appear in the old client for quite awhile). If you’re reluctant to upgrade, check out the new Backup/Restore commands. Being able to backup/restore your repository from the GemTools Client should ease your mind.
I still have between 50 and 100 issues that I want to address (mainly on the server-side) before the next beta release. In the mean time, I am all but done with the UI changes and I would like feedback from folks on the new commands. If you haven’t already, join the beta mailing list and send mail with your comments and suggestions.
If you run into (gasp!) a bug, use the new Bug Report commands to report the bug. Honestly, I would rather have people report 100 duplicate bugs than miss 1 valid bug report – don’t assume that I know about the problem!
GemStone-dkh.441
There have been a significant number of changes to the GemTools Client since the last preview release, so many that I decided to update the old Terse Guide to the GLASS Tools with a new post: Terse Guide to the (new) GLASS Tools. All of the menu items for the GemTools Launcher are documented.
If you haven’t already created a new GemTools client smalltalk image, then follow these instructions.
If you’ve already updated to a preview release, then you’ve already got a new Squeak/Pharo image and all you need to do is to update to the latest version of the GemTools Client, using these instructions.
Take a look at the GemTools change log for a complete history of the changes made between GemStone-dkh.355 and GemStone-dkh.441.
GLASS.230-dkh.209
In addition to the support needed for the GemTools Launcher a number of bugs were fixed:
- Bug39820 – packages dirtied unnecessarily when recompiling subclasses
- Bug38105 – HTTPSocketError not correctly loaded
- Bug38794 – Subclass creation method leaves instance creation disabled
- Bug39838 – ExceptionA class>>hasFixFor39741 breaks some things
- Bug38146 – unload class and remove method should clean up undeclared sybmols
- Bug39798 – UndefinedSymbols is not maintained correctly
- Bug39850 – MCPackageBrowser doesn’t update when package dirtied
- Bug39345 – ‘Squeak browser tools need move-to-category button’
- Bug39578 – ‘”revert to version” in “Versions of” method browser does not autocommit’
- Bug39303 – sorting of change list in Monticello brower is strange
- Bug39823 – missing OSkSocketReadStream>>upToEnd
- Bug39800 – SeasideTesting has probably decayed…
- Bug39777 – Cannot ‘browse’ ProtoObject without a walkbalk
- Bug39772 – Class>>allSubInstancesDo: always fails
- Bug39582 – lots of key-not-found errors using Vocabulary browser
- Bug38140 – ‘highlight inspect’ feature for debugger
- Bug38274 – need visual separation between ancestors in MCWorkingCopy>>summary
- Bug38304 – CTL-i on a String or Smallinteger ends up with Squeak inspector
- Bug39662 – Inspecting a float in GLASS results in a ‘Float out of Range’ error in Squeak
- Bug39827 – missing base method for GLASS
- Bug39795 – MAPriorityContainer>>remove: fails unexpectedly
Other highlights include:
- A belated update to Seaside2.8.3.
- Update to Pier 1.1.1.
- Improved Debugger, Inspector, and Chasing Inspector.
The following packages have bee removed from the GLASS package:
- MonticelloConfigurations
- Pier-LightBox
- Pier-Twitter
- SqueakSource
- TinyWiki
These packages are not automatically removed by the update process. If you aren’t using them, then you should manually unload them using the Monitcello Browser. If you don’t remove them you may see test failures for the UndefinedSymbolsTest and SentButNotImplementedTest. After removing the above packages the tests should run clean (4182 run, 4182 passed, 0 failed, 0 errors).
Once you’ve updated to the latest version of the GemTools Client, follow these instructions to update the GLASS server software to GLASS.230-dkh.209.
Take a look at the GLASS change log for a complete history of the changes made between GLASS.230-dkh.187 and GLASS.230-dkh.209.
—–
[1] Photo by placbo (Creative Commons).
[Update 3/16/2009: see the post GLASS Beta Update: Cooking with GLASS (Preview) for the latest preview information].
With the latest dev release of Pharo (pharo0.1-10243dev09.02.3), the new GemTools Client has stopped working correctly. From what I can see, a number of updates were made to OmniBrowser which causes the buttons to disappear from the OGLauncher….I stopped looking for additional problems at that point:). I’m not going to complain, though, the Pharo image is pretty cool already and it is still pre-Beta.
As of pharo0.1-10213dev09.01.3 (and probably pharo0.1-10236dev09.02.2.zip) the GemTools Client was working correctly. Until further notice don’t use the latest versions of Pharo.
I have been pretty busy fixing bugs recently and anticipate a refresh of the GemTools Client and the GLASS package in a week or so.
—–
[1] Photo by milomingo via Flickr (Creative Commons).
[Update 3/16/2009: see the post GLASS Beta Update: Cooking with GLASS (Preview) for the latest preview information].
As a few brave souls discovered, the process for updating to the new crop of tools is a little more complicated than it needs to be. A couple of them even got their fingers pinched during the update:).I was looking for feedback, so I appreciate the effort. Hopefully their sacrifices will be worthwhile.
There weren’t that many changes made to the OmniBrowser code in GLASS post GLASS.230-dkh.177, however, the changes that were made created havoc for any windows opened prior to the update. I had originally hoped that a couple of errors between friends would be okay, but enough people ran into odd problems during the updates to GLASS.230-dkh.182 and GLASS.230-dkh.183, that it became clear that the update process needed to be improved.
I tried a number of things including an attempt to work around the problems with the new GemTools Client code. I was successful in getting the new GemTools Client to run against the older versions of GLASS (which is a step in the right direction), but I wasn’t able to get around the crashes and walkbacks. With a nudge from Igor Stasenko, I finally settled on using an update script.
In the end I made two significant changes to the update process:
- Update the GemTools client before updating the server. In the past we’ve updated the server-side code first and then updated the client-side code. However, since we’re recommending that users move to a completely different client image, I think it is easier to get the client update out of the way before doing the server update, especialy now that the latest GemTools Client code will run against older versions of GLASS. Any problems in getting the GemTools Client built and connected to the server can be worked out before making changes on the server side.
- Update the Server using a script instead of the Monticello Browser. With this particular update, using a script is necessary since the windowing mechanism for the current session becomes broken during the update. In the long run, it is useful to have a script-based update mechanism that can be used to update production repositories that aren’t easily accessed through the GemTools Client.
Preview GLASS.230-dkh.187
Since GLASS.230-dkh.183 I’ve made a handful of improvements that are worth trying out:
- merge Pier-Model-lr.245, load Pier-Blog-lr.103.
- OSTestRunner bugfixes.
- debugIt implemented. debugIt opens a Debugger on the selected code, setting a breakpoint on the first statement.
- exploreIt implemented. exploreIt opens a Chasing Inspector on the result of evaluating the selected code.
- Remove MonticelloConfigurations as a required package.
If you’ve been following the mailing list, you will have noted that we’ve received a flurry of bug reports in the last week or so. I appreciate the bug reports, but because I intend to address a good number of them before the next beta update, the next update will be deferred for at least 2 more weeks.
1. Update GemTools Client: GemStone-dkh.355
If you choose to use Pharo as the basis of your GemTools Client, be sure to download the latest dev image as a starting point. As of today, pharo0.1-10211dev09.01.2.zip is the latest dev image. If you choose to use Squeak as your GemTools Client, start with a basic 3.10 image like Squeak3.10-7159-basic.zip.
Use the Universe Browser, select the GemTools-Client version 0.355 package (in Network category) and install it. Note that during the install using 3.10, you will be warned about an extension to OTToolset – is is safe to proceed.
Open a Workspace and evaluate the expression ‘OGLauncher open‘ and then edit the Glass session, inserting the login information that is relevant to your system – stoneHost, gemHost, stoneName and netLDI.
Login using the GemToolsLauncher and get ready to update the GLASS repository to GLASS.230-dkh.187. Note that during the login using Pharo, you will get a warning about using a deprecated #authorInitials: api – it is safe to proceed.
Even though the Class Browser and Monticello Browser are functional, I wouldn’t try to do too much work using the new GemTools Client and an old version of GLASS. For best results you should immediately update your GLASS repository.
I’ve used the new GemTools Client to upgrade GLASS.230-dkh.164 (corresponding to 2.3 release and the 1.0beta11 appliance) and GLASS.230-dkh.177 (corresonding to the 2.3.1 release) with good results.
Since I’m still actively working on the new tools, I don’t plan to publish a ‘one-click’ GemTools Client, until the rate of change has settled down.
2. Update GemStone Repository: GLASS.230-dkh.187
The following update script:
- Adds a method to SystemChangeAnnouncement.
- Turns off autoMigrate.
- Loads GLASS.230-dkh.187 from the GemSource repository.
- Sets autoMigrate back on.
- Performs a commit.
The code should be pasted into the workspace pane of a Gemstone-dkh.355 GemTools Launcher or run from a topaz session.
| httpRepository version rg | SystemChangeAnnouncement compileMethod: 'item: ignored' category: 'accessing'. MCPlatformSupport autoMigrate: false. httpRepository := MCHttpRepository location: 'http://seaside.gemstone.com/ss/GLASS' user: '' password: ''. "pick up the GLASS repository if it's already in default repository group" MCRepositoryGroup default repositoriesDo: [:rep | rep = httpRepository ifTrue: [ httpRepository := rep ]]. version := httpRepository loadVersionFromFileNamed: 'GLASS.230-dkh.187.mcz'. version load. rg := version workingCopy repositoryGroup. rg addRepository: httpRepository. MCPlatformSupport autoMigrate: true. System commitTransaction.
If you’ve used the GemTools Launcher to run the update script you should logout and then log back in before continuing with your work. If you use topaz to update the repository, you need to remember to use a GemStone-dkh.355 GemTools Client to connect to your repository.
The GemTools Client is still in preview, so unless you are brave and/or curious, I’d recommend that you stick with a more stable version of GLASS.
———-
[1] Photo by EricGjerde via Flickr (Creative Commons).










