Wednesday, September 19, 2012

Roassal, an agile visualization engine

Roassal graphically renders objects using short and expressive Smalltalk expressions. A large set of interaction are offered for a better user experience. Painting, brushing, interconnecting, zooming, drag and dropping will just make you more intimate with any arbitrary object model.

Thank you Vanessa Peña ! (Follow Vanessa on twitter)

Load Roassal (tested on Pharo 1.4):
Gofer new
 squeaksource: 'Roassal'; 
 package: 'ConfigurationOfRoassal';
(Smalltalk at: #ConfigurationOfRoassal) project lastVersion load.
Open Roassal:
ROEaselMorphic open.
Visualizing Collection hierarchy:
| view rawView |
"Preambule. It includes the initialization"
rawView := ROView new.
view := ROMondrianViewBuilder view: rawView.

"Shapes with metrics"
view shape rectangle 
 width: [:c | c instVarNames size];
 height: [:x | x methods size];
 linearFillColor: #linesOfCode within: Collection withAllSubclasses.

"Collection hierarchy"
view nodes: Collection withAllSubclasses.
view edgesFrom: #superclass.
view treeLayout.

"The menu is optional and customizable"
ROEaselMorphic new populateMenuOn: view.

"Open the view"
view open.

Wednesday, September 12, 2012

Getting started with Storyboard

Storyboard is a multi-user agile planning board with drag and drop support. It shows how little code is needed to build a complete application with Deltawerken. It consists of 39 classes, of which 7 are announcements (very simple). It allows you to quickly enter stories, estimate and prioritize them. In addition to stories you can add issue, documentation and chore cards. The cards are colored based on their story state. More details can be entered/viewed by expanding the card. In the expanded view a change history is shown. Other users of Storyboard can be invited to participate.

Deltawerken is a Seaside application level framework, allowing fast application development for medium-sized applications. We have used an earlier extended version of it to build a system with about 150 domain classes. Complexity was deliberately and systematically pushed from the application to the framework. It uses a declarative way to describe domain classes somewhat similar to Magritte or Mold. It uses Announcements, jQuery and jQueryUI. Storyboard was announced at ESUG2012

Thank you Stephan Eggermont! (Follow Stephan on twitter)

First download the Seaside 3.0.7 One-Click image.

Load StoryBoard:
Gofer new
 url: '';
 package: 'ConfigurationOfStoryBoard';
(Smalltalk at: #ConfigurationOfStoryBoard) project bleedingEdge load
Change the administrator password:
(SBUser userWithId: 'Admin') password: 'admin'

In your browser, open the StoryBoard application at http://localhost:8080/story