Aida 6.6 Release Notes
6.6 release
--Avg13
- Preparing for a release, syncing with Squeak/Pharo
- AIDASite class version '6.6'
- Bootstrap3Library upgraded to final 3.0.0
- patch: WebTabs now Bootstrap compatible
- patch: WebSessionManager addSession does not add secureId anymore, to prevent duplicate ids. Temporary!
- AIDASite internalIPs (settings) for extending WebSesion isInternalIP to cover also external NAT IPs of internal networks
- DefaultWebStyle htmlHeaderElements adds now an url to aida website in page header
- Bootstrap2Library renamed to, and new Bootstrap3Library for v3 added
--Jul13
- patch: WebSession setRandomIds random id 10x bigger, up to 10 bilions
- patch: WebSession logout does not return to last page if this is login, to avoid confusing users
- WebJSONObject introduced to replace plain Dictionary and therefore preserve order of attributes in JSON
- JSON or XMLPresenter is called also if Accept: text/json or xml is in request header, besides .json and .xml URL extensions
--Jun13
--May13
- patch: WebPage ensure title in header patch
- patch: WebAutocomplete2Field addSetupScript deals now with mouse selects too
- patch: WebMethodLibImporter getLibraryFromFile copies correctly directories
- XEditableLibrary for inline editing introduced
- WebAutocomplete2Field setupScript - HTML labeling moved directly to jQueryLibrary, see class comment for instructions!
- patch: EMailMessenger - ObjectMemory versionId patch by Niall Ross
- JQueryLibrary upgrade to jQuery 1.9.1, jQueryUI 1.10.3, no Editable anymore!
- BootstrapLibrary upgraded to 2.3.1
- AmberLibrary moved to special AidaAmber package under AIDA/Addons
- WebButton now as tag button, not tag input type=submit anymore
- WebSession
- isInternal, if from internal IP (192.168.* or 10.* )
- isInternalGuest, isPublicGuest
- lastIP
- AIDASite settings-logging method category introduced
- AIDASite answerToGetOrPosT: streaming of HTML temporary switched off
- WebSchedduler isRunning, renamed from isLoopRunning
- patch: WebEvent pageVew - #includesSubstring replaced for portabiltiy
- patch: WebDemo onChangeDo:on:app:
--Apr13
- WebPage addGeolocationScript added
- WebGeolocation locationPoint added
- patch: WebSession setGeolocationFrom:
- WebGeolocation class distanceBetween:and: added
- Number aidaArcTan: from Squeak added, for atan2(x, y) function from JavaScript
- DelimitedFile reads .csv always binary to avoid encoding problems
--Mar13
- #aidaIsRespondingNewerStreamed added to explicitly prohibit streaming
- AIDASite behindProxy settings added, if site runs behind say Apache or load balancer
- URLResolver urlFromHalfUrl: doesn't add ports if site is behind proxy
- patch: WebStyle jsEvents - xhr not global JS variable anymore!
- patch: WebSession respondToElementDirectRequest: finds now a context from a session apps
- patch: WebCounter: addDays: instead of +
- patch: WebAutocomplete2Field choicesAsJsonForEntry: handles unicode chars too
--Feb13
- DailyValues current added - to return a current value, that is value on today's date
- WebElement title: handles now Slovene csz with ^ correctly
- charset UTF8 back in page header (WebPage initPageHeaderLinks)
- WebStyle filterCssClass: to set a CSS class of filter row
- AIDASite styleClass: sets also style class in method resources route in router
- WebRouter setMethodRouteStyle: added
- compression for main HTML page off because of unknown memory problems regarding external GZip interface on VW (fixed memory...)
- SpSocket errors ignored in AIDASite answer:toGetoOrPost:
- CSS sprites introduced, see WebSprite, WebMethodResource, WebImage
- WebSprite, WebSpriteEntry, WebSpriteException introduced
- WebImage spriteCss, ...
- WebStyle class Sprite clasvar,
- WebStyle resourceFor searches for method image here, no more in URLResolver
- WebScript async, defer, for external scripts, not yet finished!
- patch: AIDASite answer:toGetOrPost:on: don't stream WebSocket upgrade request
- WebMethodImage cache removed, entire class moved under Aida-Imaging
- Optimizations on HTTP level: gzip compression, streaming everything to send the first byte to the client as soon as possible
- AIDASite answer:toGetOrPost:on: stream and gzip compress response
- AIDASite addResponseHeaders sets charset=UTF8 into content-type
- WebMethodResource, WebMethodLibrary class streamHtmlTo: gzip compress text resources like CSS, JS
- UTF8 encoding moved to from the page to the response header
- WebMethodResource expiresTimestamp a week now, up from 24 hours before
- AIDASite answerTo: streaming of regular responses as well to optimize streaming HTML by starting as soon as possible.
- WebPage streamHtmlTo:for:on: flush to stream after headers were sent to allow client start fetching css and js files from header ASAP
--Jan13
- Person companyOwner added
- patch: use more portable SpDate instead of Date in WebCounter, WebIndex, WebDemoApp
- patch: WebSession respondToElementDirectRequest: returns HTTPException notFound in case of error
- patch: WebStatistics isLocalUrl: avoiding double **
--Dec12
- WebAutocomplete2Field afterPostUpdate deprecated, will raise such exception
MIGRATION after load:
AIDASite allInstances do: [:each | each securityManager removeAdminAccess]
- admin access is not set by default to all Apps anymore but is granted immediately if user is in admin group and escalated to admin (WebApplication vew,updateAllowed, WebLink)
- WebSecurityManager removeAdminAccess while initAdminAccess removed, not needed anymore
- WebApplication reportSecurityViolation to Transcript
- WebSession adminAllowed removed!
- patch: WebApplication, WebLink view and update always allowed only if user hasAdminRights (is in admin group AND is escalated to admin!)
--Nov12
- patch: WebRouter resourceFor: if URL is intentionally wrongly UTF8 encoded
- Scriptaculous and jQueryLibrary cross check if other library is loaded and raises exception with confict warning
- WebMethodLibrary isPresent:onPage added
- WebStyle accessDeniedText added
- WebElement isUpdatable added, to see if it is Ajax updatable or not
- WebElement onClickUpdate: and similar now explicitly check if element is updatable
- WebElement newDiv - tag is now enforced if element is to be updatable
- WebStyle yesText, notText for i8n dialog buttons etc.
- Joomla* stuff moved out of Aida-Styles to new package AidaJoomla
- DefaultWebStyle - version number shown in header
- patch: WebAutocomplete2Field choicesAsJsonForEntry: converts to UTF8 first
- patch: WebElement isUpdating more exactly finds if this element is updating and not some superelement which part it is
- patch: WebWindow webPage added, finds page through a context for popups
- patch: FileProxy streamHtml:.. ingores network exceptions while streaming
- WebStyle js12Events - more exact websocket detection
- patch: WebSecurityManager initDemoAccessRights
- patch WebMethodResource, WebMethodLibrary streamHtml:.. ignore network related exceptions
6.5 interim release
--Oct12
- Twitter BootstrapLibrary upgraded
- Realtime demo added in WebDemoApp
- WebApplication enableRealtime added, to enable easier realtime on a page of current view
MIGRATION!
"if you need hourly snapshot, evaluate this:"
AIDASite allInstances do: [:each | each hourlySnapshotEnabled: true]
- AIDASite new settings #hourlySnapshotEnabled, false by default
- AidaSite class imageSnapshot tests if at least one site has hourly snapshot enabled.
- patch: WebDemo defaultIntroductioText links, thanks to Sebastian Sastre
- patch: WebEventHandler addCloseWindow updates with argument too
- patch: WebForElement existScriptForEvent check consistently elsewhere
- patch: WebElement update preserves parent link too
- AIDASite defaultHomeDirectory is now './static' in a directory from where the image started
- patch: WebSession respondToElementDirectRequest - more robust context finding
- popups can now be called with one argument:
- WebElement creationArgument in #other, see laso seeCreationMethodAndObj
- WebElementHandler addPopup:onStub:
- WebElement isUpdating added to check for instance in popups if there is really a popup or just initial creation of element
- WebButton noSubmit added, to prevent classical submit with page reload and use button for instance just for clicks
- WebAutocomplete2Field (jQuery based) used everywhere now
- WebFormElement - no more 100ms delay sending submit event
- patch: WebEvent reconnectOn: absent app context doesn't raise exception anymore
- WebLink class nilLinkText: added, useful for instance in WebGrid addBlocks
- WebElement onClickCloseAndDo: and similar methods removed.
- patch: WebElement on: event methods now always checks to prevent duplicate event scripts
- patch: WebElement add: reports a descriptive error now
- SwazooSocketConnection, SwazooWebSocket extensions to send already UTF8 encoded strings
- WebRealtimeConnection
- sendMessagesFromQueue calls sendUtf8Text: to send already encoded stuff
- respondToWebSocketMessage: converts back to UTF8 first. This is temporary!
- patch: WebElement site finds an AIDASite more robustly
- patch: WebPage disableRealtime called immediately after streaming phase
--Sep12
- WebSockets active again after Swazoo was upgraded to final WebSockets RFC
- AIDASite webSocketsEnabled for site-wide websockets
- WebPage enableRealtime for per-page websockets
- patch: WebRealtimeHandler queue cleanup improved
- patch WebRealtimeConnection page reload command now works
- WebGrid noPageNumbers for pagination without links on bottom of the grid and show just number of rows.
- patch: WebSession respondToElementDirectRequest: searches for a right context among allInstances if not found in lastApp
- patch: FileProxy streamFileToResponse: ignores SpSocket error to ensure file closing and avoid sharing violations
- WebPage redirectTo:view:parameter:value: added
- patch: WebSession respondToElementDirectRequest better contex parsing
- WebAutocomplete2Field (jQuery) addSetupScript adds change and select events
- WebApplication createdTimestamp set, for debugging purposes
- DefaultWebStyle css23Inputs gray out disabled buttons
- patch: WebPage ensureTitleInHeader - too late in streaming phase
- patch: WebMethodLibrary ensure:onPage: more exact check
- WebPage
- addRefreshAfterNighltyCleanup to preserve Ajax functionality even after nightly releasing of application state
- #clear added with initHeaders to avoid accumulation of headers over time
- WebSession
- last 50 requests are logged
- patch: removeIfNewGuest more exactly conclude when to remove session
- WebSessionManager
- findOnCreateSession in critical section, refactored to be more clear
- WebInputField autocomplete attribute added
- WebAdminApp viewLogin avoids autocomplete in username field for better privacy
6.7 Release notes
Continue to older 6.5 Release notes
- patch: WebElement isUpdating more exactly finds if this element is updating and not some superelement which part it is
- patch: WebWindow webPage added, finds page through a context for popups
- patch: FileProxy streamHtml:.. ingores network exceptions while streaming