Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Sails
Last updated at 3:26 am UTC on 15 September 2017
'Sails' was a GSoC proposal:
https://theplana.wordpress.com/2007/04/10/gsoc-seaside-and-sails-a-generation-code-tool/
It was not implemented at that time.

Sails uses a describe-and-generate pattern.

You describe your application wit different commands and then send #generate to Sails. It then generates subclasses of WAComponent (and maybe other objects) in your application's category. One component is marked as root and registered as the Seaside application.

Hot: Sails Tutorial

Illustration

Instead of going for a 'Blog in 15 Minutes' Sails aims at a 'Blog in 5 Minutes' :)

We need something to convert classes with Magritte descriptions to a Seaside-application. This application will have no mapping to database yet, nor special forms, but it shall works!

So, Sails-code of Blog will look something like
sails:=Sails newFor:'BlogExample'.
sails addModel: #(Blog BlogPost BlogComment);
      generate.

BlogView, BlogPost, BlogComments and BlogComment is model objects, first object in the list will be used as root copmponent.
Of course, this objects must be Magritte-described before executing this code (and maybe we'll need some new descriptive hierarchy for this, I don't know yet).
WABlogView, WABlogPost, WABlogComments and WABlogComment will be made in BlogExample category, and WABlogView will be marked as root component of BlogExample application.


Note

This is implemented in Magritte.