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