<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">That is an interesting question - I've taken a run with magritte once or twice and did not make satisfactory progress and abandoned it.<div>&nbsp;&nbsp;<div>I found the method of defining the meta model in magritte to be rather ponderous and awkward.</div><div><br></div><div>Not that it isn't expressive, but I don't know all the parts/mappings/kinds of things - I spent all this time looking at the docs or examples. &nbsp;Also the documentation is non-existent. &nbsp;Really, if you want to get people to use magritte - STOP CODING AND START DOCUMENTING - I don't have time to figure it out from the examples or pier or any running code. &nbsp;I want docs and code snippets I can steal and modify. I want them in a nicely indexed web site so I can find a solution to my exact problem using google in about sixty seconds. &nbsp;</div><div><br></div><div>Note website for activescaffold:&nbsp;<a href="http://activescaffold.com">http://activescaffold.com</a></div><div>Click on documentation. &nbsp;Wow, everything I need to know right there. &nbsp;Brilliant.&nbsp;Where is the equivalent resource for Magritte? &nbsp;Google couldn't find it.</div><div><br></div><div>Most of what you need to define the magritte model is already in the database schema - so can magritte just infer the fields and let me just customize it's behavior?</div><div><br></div><div>The missing part in the database is the mapping of widgets and the order or presentation of fields. &nbsp;</div><div><br></div><div>In the system I am doing (sells tickets to a new museum) there is&nbsp;</div><div><br></div><div>Order->OrderTransactions (subclassed to Purchase,Exchange,Return)->Tickets (actually two relations - tickets added, tickets removed)</div><div><br></div><div>The code to get a fully functioning back office/admin UI to edit this entire network is below - there's very little of it. &nbsp;Most of the code is just to customize elements - change labels for columns, change column order, suppress presentation of some columns or relationships.</div><div><br></div><div>Why I picked Rails:</div><div><br></div><div>1) I already had an existing mysql database I had to use.</div><div>2) Client wanted a technology with a large local pool of talent he could hire - robotcoop is nearby (spinoff of amazon.com) - they are all rails and it is easy to hire people from there</div><div>3) I had a lot of UI that is back office and can be kind of ugyly/auto-generated and only a little public UI (ticket purchase flow)</div><div>4) Rails has a number of scalable deployment recipes available - I'm using apache->mongrel cluster. &nbsp; I will add capistrano to automate upgrade deployments</div><div>5) I'm replacing an equivalent system written in a nightmare combination of Java/Hibernate/Cocoon-js/xml-xslt/tomcat that nobody wants to maintain. &nbsp;I can't learn that many languages - but I most certainly can steal/translate logic and templates - it was easy to translate jsp to rhtml templates.</div><div><br></div><div>For your amusement - the entirety of the order/ordertransaction/ticket code is below - it does a two level master-detail view with ajax updates in a single page. &nbsp;It took me almost no time at all to get this working and the majority of the code you see is just appearance tweaks or action disabling.</div><div><br></div><div><br></div><div>:</div><div>#model - (all of it - really)</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> Order &lt; ActiveRecord::Base</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; set_table_name <span style="color: #1c00cf">'orders'</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; has_many :order_transactions, :class_name => <span style="color: #1c00cf">'OrderTransaction'</span>, :foreign_key => <span style="color: #1c00cf">'order_id'</span>, :dependent => :destroy</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp;belongs_to :purchaseTransaction, :class_name => <span style="color: #1c00cf">'TicketPurchase'</span>, :foreign_key => <span style="color: #1c00cf">'purchaseTransaction'</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><font class="Apple-style-span" color="#1C00CF">end</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><font class="Apple-style-span" color="#1C00CF"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><font class="Apple-style-span" color="#1C00CF"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> OrderTransaction &lt; ActiveRecord::Base</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp;has_many :ticketsReturned, :class_name => <span style="color: #1c00cf">'Ticket'</span>, :foreign_key => <span style="color: #1c00cf">'returnTransaction'</span>, :<span style="color: #aa0d91">include</span> => [:price, :product], :dependent => :destroy, :order => <span style="color: #1c00cf">'sequence_number'</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; has_many :ticketsAdded, :class_name => <span style="color: #1c00cf">'Ticket'</span>, :foreign_key => <span style="color: #1c00cf">'originatingTransaction'</span>, :<span style="color: #aa0d91">include</span> => [:price, :product], :dependent => :destroy, :order => <span style="color: #1c00cf">'sequence_number'</span></div><div><br></div></font></div></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> TicketPurchase &lt;&nbsp; OrderTransaction</div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">end</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(170, 13, 145); ">class</span>&nbsp;TicketExchange &lt;&nbsp;&nbsp;OrderTransaction</div><div><font class="Apple-style-span" face="Monaco" size="2">end</font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(170, 13, 145); ">class</span>&nbsp;TicketReturn &lt;&nbsp;&nbsp;OrderTransaction</div><div><font class="Apple-style-span" face="Monaco" size="2">end</font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> Ticket &lt; ActiveRecord::Base</div><div>end</div><div><br></div><div>#controllers - tops is most complicated - remove create update and delete abilities - add some action links (all of it)</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> Admin::OrderController &lt; AdminController</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; layout <span style="color: #c41a16">"admin"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; active_scaffold :orders <span style="color: #aa0d91">do</span> | config |</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.actions.exclude :delete</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.actions.exclude :update</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.actions.exclude :create</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.action_links.add :resend_email, :label => <span style="color: #1c00cf">'Resend Email'</span>, :type => :record, :position => <span style="color: #aa0d91">false</span>, :confirm => <span style="color: #1c00cf">'Resend purchase confirmation email?'</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.action_links.add :exchange_tickets, :label => <span style="color: #1c00cf">'Exchange Tickets'</span>, :type => :record, :position => :after, :crud_type => :update</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; config.action_links.add :refund_tickets, :label => <span style="color: #1c00cf">'Refund Tickets'</span>, :type => :record, :position => :after, :crud_type => :update</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 116, 0); "><span class="Apple-style-span" style="color: rgb(0, 0, 0); ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;list.sorting = {:date => <span style="color: #1c00cf">'ASC'</span>}</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; config.list.columns = [:date, :commissionAccount, :nameFirst, :nameLast, :emailAddress, :order_transactions]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; config.list.per_page = <span style="color: #1c00cf">100</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; config.columns = [:date, :commissionAccount, :nameFirst, :nameLast, :emailAddress, :address1, :address2, :city, :state, :zip, :country, :order_transactions]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp;<span style="color: #aa0d91">end</span></div><div><font class="Apple-style-span" color="#AA0D91">end</font></div><div><font class="Apple-style-span" color="#AA0D91"><br></font></div><div><font class="Apple-style-span" color="#AA0D91"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> Admin::OrderTransactionController &lt; AdminController</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; layout <span style="color: #c41a16">"admin"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; active_scaffold :order_transaction <span style="color: #aa0d91">do</span> | config |</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.list.columns = [:date, :type, :channel, :payment, :credit, :ticketsAdded, :ticketsReturned]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :delete</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :update</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :create&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(170, 13, 145); "><span style="color: #000000">&nbsp; </span>end</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(170, 13, 145); ">end</div></font></div></div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: #aa0d91">class</span> Admin::TicketController &lt; AdminController</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; layout <span style="color: #c41a16">"admin"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; active_scaffold :ticket <span style="color: #aa0d91">do</span> | config |</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.list.columns = [:forGto, :validForDate, :product, :price, :status, :purchasePrice, :serviceCharge, :order]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.list.per_page = <span style="color: #1c00cf">100</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; list.sorting = {:validForDate => <span style="color: #1c00cf">'ASC'</span>}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp;columns[:validForDate].label = <span style="color: #c41a16">"Date"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; columns[:product].label = <span style="color: #c41a16">"Description"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; columns[:price].label = <span style="color: #c41a16">"Ticket"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; columns[:purchasePrice].label = <span style="color: #c41a16">"Price"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; columns[:serviceCharge].label = <span style="color: #c41a16">"Service Charge"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :delete</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :update</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; config.actions.exclude :create&nbsp;&nbsp; &nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(170, 13, 145); "><span style="color: #000000">&nbsp; </span>end</div></div><div><br></div><div>#views - auto-generated - no code at all</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></span></font></div></span></span></font></div></span></span></font></div></div><div><br></div><div><div><div>On Jun 1, 2008, at 12:47 AM, stephane ducasse wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>todd<br>do you think that magritte could help there?<br><br>Stef<br><br>On May 31, 2008, at 1:04 AM, Todd Blanchard wrote:<br><br><blockquote type="cite">I watched the screencast. &nbsp;It is not the same thing. &nbsp;I think you guys are missing something key in that project of yours.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Active scaffold simply lets me point the app at a db and ZAM total admin UI that looks nice with AJAX master detail editing. &nbsp;I can then filter out attributes that people ought not to edit, apply permissions, and decorate the app with task links.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The demo shows app development. &nbsp;I didn't develop a thing apart from specify some mappings because the database used weird and inconsistent naming conventions.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I also found it interesting that the app being developed in the screencast didn't look nearly as sophisticated as the tools being used to build it. &nbsp;I don't find that a good selling point.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">-Todd Blanchard<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On May 30, 2008, at 4:28 AM, James Robertson wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">Cincom is doing exactly that - combining the ActiveRecord pattern with scaffolding. &nbsp;Have a look here:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cincomsmalltalk.com/userblogs/mls/blogView?showComments=true&amp;printTitle=WebVelocity_alpha_screencast&amp;entry=3388846573">http://www.cincomsmalltalk.com/userblogs/mls/blogView?showComments=true&amp;printTitle=WebVelocity_alpha_screencast&amp;entry=3388846573</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">James Robertson<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cincom Smalltalk Product Evangelist<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cincomsmalltalk.com/blog/blogView">http://www.cincomsmalltalk.com/blog/blogView</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Talk Small and Carry a Big Class Library<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">On May 30, 2008, at 3:13 AM, Todd Blanchard wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">With the idea that no good idea should go un-stolen, allow me to introduce seaside fans to active scaffold <a href="http://activescaffold.com">http://activescaffold.com</a>.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I am wrapping up a ruby on rails engagement with a client and discovered this framework. &nbsp;I ended up using ROR because the client had an existing mysql database and Squeak's mysql support isn't so hot where rails is all about mysql, and I had only a couple "flows" but a whole lot of plain old admin-CRUD to do and rails excels at plain crud on mysql. &nbsp;With activescaffold - I had to write very little code for the admin UI - a major plus because this project is on a very tight timeline.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Anyhow, activescaffold works with activerecord and infers a really slick AJAX UI that supports sensible CRUD more or less instantly. &nbsp;Once installed, you can go through and customize views by adding actions links, filtering columns, and generally overriding bits of logic to make it more task focused.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">It would be really cool to have a similar facility in Seaside.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Cheers,<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">-Todd Blanchard<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">_______________________________________________<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">seaside mailing list<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_______________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">seaside mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">seaside mailing list<br></blockquote><blockquote type="cite"><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br></blockquote><blockquote type="cite"><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br></blockquote><blockquote type="cite"><br></blockquote><br>_______________________________________________<br>seaside mailing list<br><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br></div></blockquote></div><br></div></div></body></html>