9 July 2007 Upgrading Seaside
By Ramon Leon - 9 July 2007 under Seaside
Here's some very valuable info posted by Philippe Marschall (core Seaside developer) in the mailing list...
This is a short list of things to do when migrating for an older to a newer version of Seaside in the wiki at: http://www.squeaksource.com/Seaside.html
2.6 to 2.7 must:
- every component that uses the old default WAHtmlBuilder must do so explicity by returning it in #rendererClass
- evaluate WADispatcher resetAll
- use WATagBrush >> #title: instead of WATagBrush >> #tooltip:
- move to new image map api, check all senders of #imageMap, see WAImageMapTag for details
2.6 to 2.7 should:
- move to new header api, modify implementors of #updateRoot:
- remove the implemtors of #rendererClass that return WARenderCanvas
- migrate to WARenderCanvas
- migrate from WAScriptLibrary and WAStyleLibrary to WAFileLibrary
- use WAAnchorTag >> #with: instead of WAAnchorTag >> #text:
- check for deprecated message sends
- replace users of WAChangePassword, WAEditDialog, WAEmailConfirmation, WAGridDialog, WALoginDialog, WANoteDialog
2.7 to 2.8 must:
- migrate to WARenderCanvas
- backtrack state by implementing #states (check all senders of #registerObjectForBacktracking: and #registerForBacktracking)
- move to new header api, modify #updateRoot:. #linkToStyle becomes #stylesheet #url, #linkToScript becomes #javascript #url:, check all implementors of #updateRoot:
- use WAAnchorTag >> #with: instead of WAAnchorTag >> #text:
- replace users of WAChangePassword, WAEditDialog, WAEmailConfirmation, WAGridDialog, WALoginDialog, WANoteDialog
- every component that implements #initialize must send this message also to super (use SLint)
- if you use Squeak 3.7 load SeasideSqueak37 after Seaside
- if you use Squeak do not load into an image that has an earlier version of Seaside already loaded
2.7 to 2.8 should:
- check for deprecated message sends
- migrate from WAScriptLibrary and WAStyleLibrary to WAFileLibrary
- remove the implementors of #rendererClass that return WAHtmlCanvas
I'm sure this list is not complete and I forgot stuff. So if you spot something that is missing send a message to me or the list or fix it directly. This is not on the Seaside homepage so anyone can edit it. It will probably be moved to the homepage at a future point.
Cheers, Philippe
Comments (automatically disabled after 1 year)
Boris has also two thing I forgot: WACookieSession and #heading:level:. I added those to the wiki. The rewirte rules should work on any Smalltalk that has RB.
VisualWorks Rewrite snippets for some of these changes can be found over at http://leftshore.wordpress.com/2007/07/06/moving-from-27-to-28/