You are currently browsing the monthly archive for July 2007.
Since last week we’ve made some very good progress on the tools. As I was hoping, once the OBBrowseRequest was hooked up, I was able to open all of the OmniBrowser tools on the Squeak-side. There’s a single Squeak-side class, GsOBBrowser, that proxies for all of the tools classes (subclasses of OBBrowser). Now it’s a matter of chasing down the bugs in GemStone-side OG-Standard classes (a port of the OB-Standard tools package) – there are a couple of outstanding issues, but at this point it is all about finding the time to turn the crank.
The tools are in good enough shape I have started to use them to browse the code, as I do other Seaside-related development.
I did get fed up with how long it was taking to generate the browser menus (one round-trip per menu item, yikes!), so I had to nail that one, pronto. Now it takes only one round-trip, with no noticeable delay. This is real encouraging, I had been concerned about performance, but I think we should be able to make most of the operations acceptably fast.
Liliana Ivan from Finworks started contributing to the Monticello tools this week. We’re adapting the existing Monticello tools instead of doing OmniBrowse-based tools (building on the initial work done by James Foster). I think this is the fastest route to a complete tool set, we’ll just have to backfill with OmniBrowser tools later.
As I reported last week, Seaside 2.8 has been ported to GemStone/S. It turns out that Scriptaculous (Scriptaculous-lr.206.mcz) runs on GemStone/S nearly out of the box – adding 2 ‘missing’ Squeak methods and a change to one of the Scriptaculous methods were all that was needed to get it running.
This week (okay, Tuesday) we ported SeasideTesting to GemStone/S to run on top of Seaside 2.8. The GemStone/S version of Seaside2.8 was branched from Seaside2.8g1-pmm.405. When the tests are run, we get the same set of errors in GemStone/S that you would get running the tests in Squeak against 2.8 – one extra error, because GemStone is missing the #years method in DateAndTime (another ‘missing’ Squeak method).
After my vacation, I’ve been able to spend time focusing on the tools and I’m making good progress. The OmniBrowser-based System Browser is coming alive – it’s about three quarters functional, with most of the hard problems solved. Once the SystemBrowser is fully functional, the rest of the OmniBrowser tools (HierarchyBrowser, ListBrowsers, etc.) should fall in short order.
The approach I’m taking is to create Squeak-side proxies for the OBSwitch, OBPanel and OBColumn classes, so there is very little browser-specific code that needs to be written in Squeak. The Morphic code deals almost exclusively with instances of these classes – there has been a little monkey-business with menus, but they are falling nicely into line.
If you want to keep an eye on my progress you can browse around in the GemStone Tools project over on GemSource. We’ve still got the debugger, inspector, and Monticello tools to finish before we can open the beta up to more users.
Philippe Marschall has announced a new home page for Seaside:
Head on over to http://www.seaside.st/ and take a look.