Aida 6.5 Release Notes

Upgrade procedure

To upgrade your existing 6.4 Aida images, just load 6.5 over it then run this script:

AIDASite allInstances do: [:each |
    each releaseApplicationState.
    each router addMethodResourcesRoute.
    each urlResolver removeObjectsOfClass: WebMethodResource.
    each router addMethodLibrariesRoute].
MIMEMap allInstances do: [:each | each initialize].

Changes since last release

--- Aug 2012

  • patch: URLResolver addObject:withUrl: longstanding bug: now it retrurns anObject argument, not itself. This bug caused images not shown imediatelly after install
  • WebPage headers lazy init now
  • Dictionary aidaWithAll: added to have a portable #withAll:
  • BootstrapLibrary upgraded to just released Twitter Bootstrap 2.1.0
  • WebPage ensureTitleInHeader patch
  • TinyMCELibrary class urlToMethodMap sliced into  few 100 lines methods (256 literals limit on older VWs)
  • AmberLibrary urlToMethodMap also sliced
  • AidaMobile package introduced in AidaAddons with TwiterMobileApp demo based on jQuery Mobile framework
  • WebElement table like usage for all structural tags, like e newFooter. e footer ..., also for lists: e newList ordered. e list ...
  • WebElement subelement introduced, to easier usage similar as for tables
  • video, audio and canvas elements added
  • WebList default type is now #unordered, non-needed methods removed
  • WebPage rearangeHeaders added to finally set a correct header order before streaming, currenty in-line CSS style is put at the end of all other styles
  • WebFormElement, WebModelAdaptor format instvar added to override autoconverting of values. Currently only #iso for Dates is supported
  • WebFormElement min: max: added. for range input field.
  • WebImage src: can be now manually set (see #prepareAttributesToPrint)
  • BootstrapLibrary added, with Twitter Bootstrap CSS framework

--- Jul 2012

  • MethodLibraries introduced, to handle JS libraries
    • WebMethodLibrabry as superclass
    • WebMethodLibImporter to help importing/updating the libraries
    • AmberLibrary, JQueryLibrary, ScriptaculousLibrary, TinyMCELibrary prepared by default in Aida-Libraries
    • WebRouter addMethodLibrariesRoute added
    • WebStyle mosts scripts moved out to method libraries
  • WebStyle calendarLangCzech added, thanks to Martin Polak
  • WebPage addMetaName:content: added
  • WebPage lateInitPageHeaderLinks to add WebStyle CSS and JS at the end, after all other links, so that per-site customization of CSS/JS by overriding default CSS/JS from libraries is possible
  • WebElement addLabelFor:text and class WebLabel introduced
  • WebElement HTML5 structural tags added (class newSection, setSection, etc.)
  • WebContext nextId instvar added, to set next element id more reliably
  • Object aidaWebAppFor: tries to find MobileApp first if request comes from mobile
  • MIMEMap isTextType, textMimeTypes .js = application/javascript
  • Autocompete and in-place editing is migrating to jQuery UI  ( so far just added new WebAUtocmoplete2Field and WebInPlaceEditable2Text)
  • jQuery examples added to WebDemoApp, view jQuery
  • WebStyle jQuery and jQuery UI JS libs added, including ensureJQuery* methods
  • Web element can now receive and respond to web request directly
  • WebSession respondToElementDirectRequest added, to find an element and redirect request to it
    • URL must be in /aidasession/element-id123-ctx456 format
  • WebRouter additional route to method resources directly
  • WebJSONPresenter presenterBlock instvar introduced, by default: self observee asJson

--- Jun 2012

  • block ENTER key when in WebGrid filter fields (see #buildTableFilterRow)
  • WebFormElement blockEnterKey added
  • Check JSON support in browser:
    •  WebPage addJSONReportScriptAndHandler
    •  WebSession existJson, setJsonExists
    •  WebStyle jsEvents: aidaJsonReport() added
  • WebSession isiBrowserSupported says true if exist JSON in browser
  • EMailMessenger emailAddresFor: adds just plain addres and not full name

--- May 2012

  • WebIndex isValidWord: allows now 3 or more characters, numbers included in search criteria
  • WebIndex boldify:
  • AIDASite
    • federatedAuthorizator added for OAuth authorization
    • redirectToOtherHost:on: sets also cookie to redirect response
    • answerTo: shoudRedirect sentence moved after find session .
    • patch: properArray: deals with Array too
  • WebSecurityManager iniDefualtAccessRights loginGoogle added
  • WebStyle Amber renamed from JTalk
  • DefaultWebStyle headerUserElement Admin user has always admin rights
  • String asHttpFriendly skip last point
  • patch: URLResolver findHostPortOn: .. self site port- mobile phone to Address and Party

--- Mar 2012

  • WebRegistrationApp now two steps only, reporting registration to transcript
  • OpenID federated login and registration introduced
    • load AidaCloudSSO from AidaAddons first
    • AIDASite federatedAuthenticator, setFederatedAuthenticator
    • WebAdminApp viewLoginGoogle, viewLogoutGoogle (just Google for now)
    • WebRegistrationApp viewMainGoogle actionMainGoogle, ... (just Google for now)
  • patch: WebUserGroup allUserSorted sort by nameSurname
  • aidaIsRespondingStreamed renamed from isRespondingStreamed
  • Object widgetsAndAppsFromStack added
  • WebForm superform: check against adding itself
  • WebWidget postAddAction adds subform more carefully
  • MIGRATION: manually rename class AIDAModelAdaptor to AidaModelAdaptor,
  • AidaMutex added to have portable protection of critical sections
  • version to 6.5 in AIDASite class version
  • WebUser copy, copyOtherTo:
  • patch: WebLink has link too if urlReference is empty string
  • URLResolver preferredUrl must start with '/' otherwise error is raised. Thanks to report by Dirk Verleysen
  • patch: WebApplication isStandaloneApp checks a locally set flag for standaloniness
  • WebPage redirectTo:view: added
  • WebDemoApp: timestamps of widget creation added, widget refresh link, popup closing refresh those times
  • EMailMessenger isSendingStarted added
  • WebStyle navBarDemos: removed JS, calendar and image gallery demos
  • AidaProfiling profilePingToVW added, sampleRequest with cookies
  • patch: AIDASite logging optimized

--- Feb 2012

  • Platform specific methods browsing added:
    • Those methods have a comment like "Pharo specific"
    • AIDASite class browsePlatformSpecificMethods will open a browser with those methods
    • AIDASite class platformSpecificMethods return all such methods (as CompiledMethod-s)
    • patch: some comments corrected, 'specific' renamed to something else so that this word is reserved for platform specifics only
  • Object defaultToPrefferedUrl added
  • URLResolver defaultToPreffferedUrl: added
  • patch: URLResolver removeObjectsOfClass: remove their counters too
  • patch: WebSecurityManager adminUser, guestUser raise error id they don't exist
  • patch: WebSession releaseApplicationState inits command queue too
  • patch: WebForm allFiledsIncludingSubforms - recursion bug catcher, commented out
  • patch: SwazooServer class representBinaryOn: raise error to catch too-far BOSS-outs
  • patch: WebIndexApp actionResultsSearch added
  • WebIndex improvements:
    • words in title have 100x weight
    • search words bolded in results titles
    • no more C web clipboard icon in results
  • WebDemo asJson to return a simple JSON on http://localhost:8888/demo.json
  • patch: WebIndex objectsForWord: return only published versions of versioned objects
  • JSON presentation added. To present domain object as JSON, it should for now implement a method #asJson, then you can return JSON by adding '.json' to object's URL.
    • WebJSONPresenter added, rougly like WebApplication
    • Object aidaPresenterFor:on: renamed from asWebFor:on: (previous printWebPage...)
    • Object aidaPresenterFor:on: returns JSON presenter if .json in URL
    • HTTPRequest aidaPresentationType from URL can be #web #json #xml for now
    • URLResolver objectOnDifferentPresentationUrl: added, for JSON etc
    • URLResolver objectOnUrl deals with URLs for JSON and other presentations
    • AIDASite answer:toGetOrPost:on:  local var rename: 'presenter' instead 'page'

--- Jan 2012

  • WebLink accessAllowedFor: if app is nil, allowed (temporary)
  • DailyCollection removeAnywhere: added to remove entries with changed date
  • Numberer decreaseCounter: added
  • patch: WebLink accessAllowedFor: looks for app by stack climbing too
  • Escalation to admin rights finished and put in place
    • #hasAdminRights renamed everywhere from #inAdminGroup or #isAdmin
    • WebSession login escalate to admin rights immediatelly (temporary)
  • No more printWeb* methods, no more 'printing' method category for web stuff
    •  asWebFor:on: renamed from printWebPageFor:on:
    •  category 'printing' renamed to private-streaming or just moved to 'private'
    •  category 'printing' renamed to 'views'
    •  some more method category renaming
    •  Object few more renames
  • Object changeToPreferredUrl introduced, to simplify preferred URL changing
  • WebApplication refactoring and obsoletal/removal of unneeded methods, also category security renamed to private-security
  • more renaming for method intention be more clear (also Html instead HTML)
    • streamHtmlTo:for:on: renamed from printHTMLPageOn:for:on:
    • and many more  streamHtml* instead of printHTML*...
  • NOTE: Rename methods below in your apps!
  • Object preferredUrl (double r ) renamed from preferedUrl
  • URLResolver consistent use of Url instead of URL (also Html) in method names, few of them:
    •  changeToPreferredUrl: renamed from changeToPreferedURL:
    •  defaultUrl:for: renamed from defaultURL:forObject:
    •  objectOnUrl: renamed from ooRefFromURL:
    •  existUrl: renamed from existURL:
    •  old methods above moved to private-obsolete
  • Object extensions - method categories reorganized
  • Manual escalation to Admin rights introduced. Even if in Administrators group, user have now admin rights until manually escalate it so.
    • WebUser escalate to Admin
    • DefaultWebPage headerUserElement added to show escalation links (be Admin) and shows user in red if escalated to admin
    • WebLink shows grayed links without access rights
  • Weblink cleanup of unneeded class methods
  • WebIndexApp viewMain searches immediately and redirects to results. For ajaxified search forms and redirects.
  • patch: WebElement existsScriptForEvent patch, thanks to Bob Calco
  • patch: AIDASite answerTo: error reporting to Transcript switched off

 

Continue to older 6.4 Release notes