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.