One of the exciting things about being a tools vendor is seeing what people build with your tools. Of course, when there are a combination of excellent tools out there, including Seaside and Magritte, the possibilities become even more interesting.
Gerhard Obermann, a Smalltalker with Nokia Siemens Networks in Vienna, Austria, is building a Service Desk application in Seaside to enhance a mature client/server system (built with Cincom Smalltalk and GemStone).
Gerhard has created “Scaffolding for GemStone” and I’m scheduled to give a demo of it at the end of the day on Thursday at Smalltalks 2008 in Buenos Aires. I’ve created a 7-1/2 minute screencast of what I plan to show since I think some of you won’t want to wait for the post conference videos (if any).
“Scaffolding” usually describes a simple “skeleton” user interface (UI) that is created quickly by tools in response to your domain model. What is interesting to me is how much of the complexity that remains in even the slickest of tools is related to the persistence model (generally an Object/Relational Mapping layer). Probably one of the most popular (or talked about) scaffolding frameworks is Rails, where the 15-minute demo involves repeated interactions with the SQL model. Demos of other tools simply wave their hands and present you with a relational schema already created and then go on to use nice tools to build the UI (it makes you wonder how complex the part is that you don’t see).
What Gerhard has done is used Magritte to model a domain, GemStone to save the objects, and Seaside to display them. In addition, Gerhard has created a web-based UI to interact with the Magritte data. Thus, after loading his package into GemStone, everything else is handled through a web browser. The tools build a basic “CRUD” user interface (that handles Create/Retrieve/Update/Delete for the domain data).
Take a look at the demo and leave us your comments! Better yet, load the code into your GLASS environment and contribute to the open source project…