Seaside 2.8 to 3.0
Must
- Seaside 2.7 to 2.8
-
WARequest >> #url
now returns a WAUrl object representing the complete GET path (with arguments) instead of a string representing the path of the request URL. You can update your code to be aRequest url pathString
if you want the old behaviour. - WARequest >>
#accept
#acceptCharset
#acceptEncoding
#acceptLangauge
return parsed objects -
WARequest >> #cookies
is a Collection
of instances of WARequestCookie
instead of a Dictionary
. -
WAApplication >> #libraries
is now an Array
and not an OrderedCollection
, replace all senders of libraries add: aLibrary
with addLibrary: aLibrary
-
WAStandardScripts
and WAStandardStyles
were removed and replaced by WAFileLibrary
- removed
WAModelProxy
- the following deperacted methods were removed
-
WASession>>#registerObjectForBacktracking:
-
WAPresenter>>#registerForBacktracking
-
WASelectTag>>#beSingle
-
WASelectTag>>#beMultiple
-
WAPopuAnchorTag>>#beDependent
-
WAPopuAnchorTag>>#beResizable
-
WAPopuAnchorTag>>#showScrollbars
-
WAPopuAnchorTag>>#showToolbar
-
WAStateHolder
-
WATalbeTag>>#layout
-
WAIframeTag>>#src:
-
WAAnchorTag>>#rel:
-
RREmailAddress
became WAEmailAddress
- check all senders of
#addLoadScript:
and make sure none is in the callback phase - change to the new configuration system
- WARequestContext related changes
- change
#handleRequest:
to #responseForRequest:
in WARequestHandler - Change senders of
WASession>>newSessionUrl
to WAApplication>>baseUrl
- Change senders of
WASession>>returnReponse:
to WARequestContext>>respond:
-
WASession>>closePopupAndContinue
was removed. If you use it, we’d like to know about it. - If you have subclasses of
WAMain
, WASession
, or WASessionContinuation
the following methods have all been replaced with versions that do not take an argument: #start:
, #unknownRequest:
, #handleRequest:
, #value:
. The new parameterless methods (without the colon) can access the request via self requestContext request
if needed. -
WASession>>performRequest:
has been removed. If you have your own session subclasses and were overriding this method, you will need to look at overriding #responseForContext:
instead. - registration methods on
WARegistry
/WAApplication
have been renamed. If you have your own subclasses or deal manually with registering or unregistering handlers in a registry, check the deprecated
category for more details. - The session cache on
WAApplication
has been made pluggable so expiry behaviour is no longer contained within WASession
itself. Methods like #lastAccess
, #secondsSinceLastAccess
, #timeoutSeconds
, #timeoutSeconds:
, and #isActive
currently do not exist. We are thinking about how best to provide this functionality in later alpha releases but in the meantime you will have to do without them. Sessions will also now receive #unregistered
rather than #expired
when they are removed from the cache. -
WAExternalID
has been replaced by WAKeyGenerator
. It just generates String
s instead of objects. -
#raiseSignal
and #raiseSignal:
are no longer supported on Squeak. -
#numArgs
, #evaluateWithArguments:
and #valueWithPossibleArgument:
have been removed from MessageSend
. Check the new valuable protocol. -
#evaluateWithArguments:
and #valueWithPossibleArgument:
have been removed from BlockContest
. Check the new valuable protocol. -
#printStringAsCents
is gone -
#refreshAfter:location:message:
takes a Duration
instead a number of seconds - Send
#migrateToSeaside29
to all your WAFileLibrary
subclasses that have binary content
Should
-
#keyboardInput:
and #keyboardInput
were renamed to #keyboard:
and #keyboard
-
#sampleOutput:
and #sampleOutput
were renamed to #sample:
and #sample
-
#application
and #session
will raise a WARequestContextNotFound error if no current request context is found. This should only happen outside of the scope of a Seaside request. If your objects are using these methods as part of their display string (they probably shouldn’t) you will want to catch the error to avoid problems when opening an Inspector on your object. - Replace
MessageSend
with WADelayedSend
.