Aida 6.2 Release Notes
6.2 feb11
--- On: 06.feb 2011
- WebScheduler
- startLoop runs now all events on the same time too
- insertToQueueEvent: reports error if inserting for any reason fails
- WebSceduledEvent run removes itself from queue after run
- SpTimestamp >= added, in Aida-Extensions
- WebScheduler method #critical: introduced
- AIDASite #Scheduler, not #WebScheduler anymore, auto migration provided
- WebScheduler,Event - SpTimestamp instead of Timestamp
--- On: 04.feb 2011
- WebButton Ajax form submitting over new event framework
- WebEventHandler addAcceptSubmittedForm action block introduced
- WebEvent postData parsed from submitted form in event's value, as in HTTPPost
- WebStyle js15Forms for form serialization added
- WebApplication old ajax methods moved to private-obsolete
- WebSession printWebPage - WebSocket over Squid proxy troubles, 1s delay of empty response
--- On: 29.jan 2011
Event management refactoring over unified communication channel (WebSocket, Ajax, Comet)
- WebElement
- update, updateWith: introduced, for very simple element update on the browser
- events sent in short JS function and handled in event handler
- ensureId introduced
- pure JavaScript, no more Prototype dependent. (except effects)
- WebForm, WebFormElement acceptInput... refactured
- WebStyle
- jsEvents - events are send over websocket if open, Ajax otherwise
- jsEvents aidaDelayedEvent added, to delay sending after last event, to replace former Prototype based one, used in filters in WebGrid
- jsWebSocket automatically restarts websocket if closed
- lightbox now completely in pure JavaScript, no Prototype dependent
- WebEventHanlder with many preprepared action blocks (popup, update, close window, accept input
- WebApplication respondToEvent: added
- WebSession queue instvar introduced to queue one or many commands to be JSONized and sent to browser via WebSocket (immediatelly) or Ajax (in one pack when response is sent)
- WebSession isBrowserSupported introduced
- WebPage, if browser not supported, red noification is shown on top of the webpage
- WebPage, PrototypeJS no more loaded automatically but on demand
- WebWindow popup stub is now a normal subelement, form is second, popupStyle cleaned up
- AIDASite addResponseHeaders -- no more special IE7 compatible header!
- WebContext event instead of request instvar
- HTTRequest, WebEvent isWebElement, isClassicalRequest, ...
- WebSessionManagerApp logout sesion by a simple click
- WebUser initIds inits random id as string, not a number (thanks Nicholas Moore)
--- On: 11.jan 2011
- WebUserApp activity (login/logout), groups popup, sessions view added
- WebSession initalIP, wasLoggedInUser:
- WebSessionManager allLogedInSessions, allSessionsForUser:
- WebSession sessionIPs, registerIP added, to track all IP addresses of that session
- WebSessionManagerApp active, loggedSessionsElement
- WebAdminApp login warning from non-allowed IPs (login not yet blocked!)
- WebSession, WebSessionManagerApp last activity timestamp introduced
- WebSecurityManager settings instvar added, allowedIPs for login introduced
- WebSecurityManagerApp tabs introduced, new Filter tab with allowedIPs setup
- WebAdminApp actionLogin check if login allowed from user's IP, report failure to Transcript
- WebSession loginUser: checks if allowed IP too
--- On: 10.jan 2011
WebEvent management introduced, events like clicks propagaded to server via unified JSON communication (WebSocket, Ajax or Comet). JSONized WebEvent received, to a session, JSONized WebCommand (usually update some element) sent back.
- WebStyle prototype.js out of scripts.js, ensurePrototype, js13Events introduced, lightbox combined into scripts.js
- WebElement eventHandlers instvar added
- WebEvent, WebEventHandler classes introduced
--- On: 28.dec 2010
Image based persistency with snapshot every hour introduced, also nightly cleanup of session application state.
- AIDASite class imageSnapshot, setHourySnashot, resetHourlySnapshot
- AIDASite initScheduledTasks with initHourlySnapshot and initNightlySnapshot
- WebScheduler isScheduledBlock:
- WebText class new also set creationMethod, needed for multilingual support
- WebAdminApp login error reported in Transcript, logout only if really done
- WebSecurityManagerApp aclForWhoElement apps with acl set bold to recognize them easier
--- On: 22.dec 2010
- WebInputField HTML5 types like setNumber, setTel, .., also placeHolder
- DefaultWebStyle mobile CSS for inputs (bigger buttons), WebGrid
--- On: 19.dec 2010
- Standalone Apps (no observee), proper work in ViewTabs, WebGrid, WebElement
- WebApplication isStandaloneApp added
- WebCheckBox class newAspectFor: instead aspect:for:
6.2beta1 dec10
--- On: 13.dec 2010
- WebGrid collectionAspect:for: introduced, for updatable grids with fresh content
- WebWidget now correctly update itself or some of its elements, widget form correctly adds to superform
- WebStyle JSON update command JavaScript + evaluate scripts in update html
- WebElement class new checks if first in creation method, only such element is then updatable
- HTTPRequest creationStContext for above first element check
- WebForm reorderTabulation reorders fields in subforms too
- WebFormElement tabulate with ENTER key works again
--- On: 10.dec2010
- AIDASite register: anObject onUrl: urlString
- WebStyle special CSS for mobile devices introduced, cssMobile* methods
- DefaultWebStyle cssMobile* style with CSS corrections for mobile (tablet) devices
- WebPage addLinkToMobileStyleSheet in initPageHeaderLinks
--- On: 6.dec2010
- WebSocket and JSON support introduced, JSON update command now working
- WebSession webSocket support added, #isNew
- WebRouter addSessionManagerRoute for /aidasession requests
- WeSessionManager resourceFor: to route reqest to current session
- WebPage addWebSocketLoadScript if page is new
- WebStyle jsWebSocket added
- DefaultWebStyle navigationBarElement no more contact
- FileProxy filename changes / to \ and vice versa if migrated to other OS
- URLResolver existObject: added
- WebSession isRemoteGuest if user is guest, comming through proxy server
- HTTPRequest isForwarding
- HTML5 is now default docType in web pages
--- On: 26.nov2010
- Mobile support: WebSession #isMobile, #isMobilePhone, #isMobileTablet identifications
- WebJSON to serialize and parse in JSON format, with tests
- WebCommand to send commands to and from the browser via JSON
- WebApplication 3 possible Ajax updates: App or Widget element, or Widget
- WebForm #removeSubform: added
--- On: 16.nov2010
- commenting from 30% to 70% of classes, all most important classes now have comments!
- package Aida-Templates renamed to Aida-Styles
- removed WebLightbox, ,WebMsgs,App, DirectoryProxy, RDBTable
- renamed History to HistoryOfValue to avoid namespace clash
- AIDASite answer* without namespaces in classes, to ease porting
- Squeak port synced already
- Tests now all pass, WebFileInputTest had problems with a context
- WebApplication context returns #main context in tests
- WebDemoApp viewTabs removed, because it shows nothing anymore
- DefaultWebStyle css1Body width back to 800px, 1000 moved to ByArtStyle
- package Aida-Demos, renamed from Aida-Examples
- jQuery library added to WebStyle, together with #ensureJQueryInHeader
- WebStyle ensure* methods renamed to be shorter
- FileProxy removeYourself also deletes file on disk
--- On: 11.nov2010
- no more VW specific in Form acceptFormElement, less in AIDASite answerTo:, redirectToOtherHost:
- AIDASite registerObject:onURL: for easier registering root domain objects
- AIDASite initDemoOnRootUrl ''/''
--- On: 4.nov2010
- WebSession removeIfNewGuest for DOS attack countermeasures
- AIDASite answerTo: - if url not found, session removeIfNewGuest.
- WebApplication formPostedFrom: finds a form from single input post if possible
--- On: 2.nov2010
- WebRichEditor - TinyMCE:
- customized setup of buttons, etc
- init script is called just before editor is rendered, for Ajax editing
- #initScript back to instance methods
- WebForm scriptForPostAndUpdate moved here from WebButton
--- On: 27.oct2010
- WebForm - subforms are in DIV tag
- WebForm, WebWidget - unnoficial comment attribute with widget name in a div tag
- WebApplication announceReplacement also for widgets
- WebButton onSubmitUpdate:with: added
- WebDemoApp where to find a code comment in examples
- WebForm save, isValid, invalidFields include fields also from subforms
- Hierarchy of forms introduced
- WebElement registerFormElementsTo: also setup the form hierarchy
- WebForm - subforms don't have a FORM tag!
- WebWindow registerFormElements init subforms to prevent accumulating them