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.