ARANEA FRAMEWORK CHANGELOG --------------------------------------------------------------------------------------------- 2011.06.20 | Aranea 2.0 RC2 Features and Improvements: RichTextAreaInitializationHtmlTag - possibility to add a function to TinyMCE | See #875 StandardStateVersioningFilterWidget - refactor | See #876 Flow canceling events support in flow container widgets | See #883 Add DateRangeConstraint and StringRangeConstraint | See #885 Bugfixes: ListRowsTag reference to viewModel not cleared | See #901 The ID attribute of form elements missing | See #665 RichTextArea does not submit content in overlay | See #808 Typo in js (excpetion) | See #849 The stacktrace gets lost inside FlowContext.Handler | See #850 putViewDataOnce won't work in overlay widget init() | See #861 Ajax File Upload not available in IE8 | See #835 FormUtil.createControl() - no DateControl for sub-classses of java.util.Date | See #864 Messages added to MessageContext during init() don't appear in OverlayContext | See #696 [1.2.2] multiSelect checkboxes strange behavior | See #859 [2.0] Move generics from DisplayItemUtil to SelectControlUtil | See #856 [2.0] valuesUnique isn't used in SelectControl | See #855 [2.0] ConverterFactory - converters must not be shared. They must be created. | See #874 [2.0] Flow confirmation fails to send event with user response | See #881 [2.0] JSPs are rendered in wrong encoding | See #884 Autocomplete input does too many requests | See #877 Background-validation: attached to wrong form-inputs | See #882 Move RefreshingListsFlowContextHandler to Uilib | See #886 ExpressionEvaluationManager may fail with newer JSP containers | See #911 Messages added to MessageContext [during init()] don't appear in OverlayContex| See #696 --------------------------------------------------------------------------------------------- 2009.12.04 | Aranea 2.0 RC1 Features and Improvements Environment is now parameterized on classes of its entries BeanMapper/BeanUtil has changed the way they access bean's fields: 1. If there is public accessor in bean's class or any superclass, then use it. 2. If there is field with any access modifier in bean's class, then use it. BeanFormWidget now operates on underlying bean instance Started parameterizing ListWidget and ListDataProvider Generics are Go | See #21 Server-side definitions of which actions are allowed to be invoked asynchron. | See #419 BaseTag.getEnvironment() | See #396 Document HttpInputData pushPathPrefix/popPathPrefix | See #539 BaseFormButtonTag doesn't need to call writeFormElementValidityMarkers | See #848 Make MenuItem.MENU_PATH_SEPARATOR modifiable (defaults to '.') | See #520 ListWidget.setInitialOrder by more than 1 column | See #852 Bugfixes 2 bugs in FileInfoData and FileUploadControl | See #841 Cloned Thread & 'response already committed' | See #419 BaseFormButtonTag doesn't need to call writeFormElementValidityMarkers | See #848 BigDecimalData should use compareTo instead of equals method | See #834 --------------------------------------------------------------------------------------------- 2009.07.08 | Aranea 1.2.3 Features and Improvements action requests must be one at the time | See #794 Multiple eventParameter support | See #495 AutoComplete Control Local Data support | See #271 File downloading using AJAX method | See #763 Bugfixes InputFilter should not allow pasting (ctrl+v) illegal characters | See #803 --------------------------------------------------------------------------------------------- 2009.06.18 | Aranea 1.2.2 Features and Improvements TabContainerWidget can add tab-switch-listeners | See #700 Add FileInfo.getFileName() to return the file name without path | See #783 Add AJAX file upload support | See #584 Add JavaScript page pre/post submit event listeners | See #728 Divide dependencies into smaller groups (Ivy) | See #822 Bugfixes Wrong Modal dialog position in IE (7.0) | See #740 StandardOverlayContainerWidget must init overlayChild first | See #761 AutoCompleteTextControl: onChangeEventListener does not work | See #264 throws NPE | See #795 TransitionHandlers not visible to all flow containers | See #700 AraneaPage.event(el) should return true for checkboxes, radios | See #784 Allow ListWidget.setFullPages() before ListWidget.init() | See #796 Safari goes to infinite switching between links | See #809 --------------------------------------------------------------------------------------------- 2009.03.13 | Aranea 1.2.1.1 Features and Improvements Add Aranea.ModalBox.doRequest(options, success, failure) | See #765 Bugfixes renders script errors | See #764 --------------------------------------------------------------------------------------------- 2009.03.10 | Aranea 1.2.1 Features and Improvements Add getTextType to TextControl | See #734 Ability to use other tag than SPAN for update region | See #741 A new tag: | See #747 Specify tab that will be selected by default | See #748 Seamless validation -- too active for timecontrol with hr/min select | See #546 Handy FlowContext Handler implementations [patch] | See (added RefreshingListsFlowContextHandler and DefaultHandler) | #716 Bugfixes List filtering problems with regular expressions and SQL escaping | See #731 Ability to have nonunique DisplayItems in SelectControl | See #742 aranea.js still depends on Modalbox | See #739 FormElement.isStateChanged() and distinction between "" and null | See #744 BeanMapper.getFieldType broken for collections with generics | See #745 BeanFormWidget should have its own getSubFormByFullName | See #750 ui:dateTimeInput tag renders its inputs inside a
| See #749 's text content must be escaped | See #751 The onChangeEventListener for TextareaControl is not invoked due to tag | See #755 Optimization Memory leaks with Aranea javascripts (phase 1) | See #736 --------------------------------------------------------------------------------------------- 2009.01.08 | Aranea 1.2 Bugfixes StringListData & isStateChanged | See #637 BeanUtil.isWritable returns false when the setter is actually available | See #727 Modalbox design problems with IE | See #729 Autocompleter and scrolling ability of search results | See #730 ListQuery not serializable with BeanListWidget | See #757 --------------------------------------------------------------------------------------------- 2008.12.02 | Aranea 1.2 RC2 Features and Improvements Update region and focus | See #721 Overlay dialog - positioning and scrolling | See #723 Bugfixes Exception when session has expired and user navigates back/forward | See #720 Local form element validation does not remove old error messages | See #719 Aranea 1.2 demo app does not work with IE | See #722 --------------------------------------------------------------------------------------------- 2008.11.18 | Aranea 1.2 RC1 Features and Improvements Updated third-party scripts | See #678 cancel() and finish(Object) for OverlayContext | See #708 OrFilter for list rows filtering and for entire filter elements | See #701 file importer writes into response header Cache-Control: max-age=3600 | See #669 Lower-than-or-equal and greater-than-or-equal constraints | See #704 EnvrionmentUtil enhancement | See #703 DefaultResultSetColumnReader: error message needs to be more precise | See #702 OrFilter for list rows filtering and for entire filter elements | See #701 DisplayItem + SelectControl refactor | See #272 Bugfixes Upgrade Aranea 1.2M code to contain previous bugfixes | See #693 DateControl -- anything before 1900 not considered date | See #545 Made aranea JavaScripts not depend on state versioning | See #707 ReaderPreferenceReadWriteLock not serializable | See #714 AfterTodayConstraint should not apply to empty fields | See #690 --------------------------------------------------------------------------------------------- 2008.05.28 | Aranea 1.2-M1 Features and Improvements Better browser history navigation support with Really Simple History | See and server side state versioning. | change #652 Deprecation & API changes Deprecated StandardClientStateFilterWidget and | See NoSerializedClientStateException were removed | change #638 --------------------------------------------------------------------------------------------- 2008.07.25 | Aranea 1.1.6 Bugfixes Aranea 1.1.5 bugs | See #691 BaseFormTextInputHtmlTag has no default disabledRenderedMode | See #692 --------------------------------------------------------------------------------------------- 2008.06.27 | Aranea 1.1.5 Bugfixes Ivy XML should not require Aranea-dependable projects download all JARs | See #681 --------------------------------------------------------------------------------------------- 2008.06.19 | Aranea 1.1.5-M1 Bugfixes tag and "onChangeEventId" attribute | See #672 --------------------------------------------------------------------------------------------- 2008.06.16 | Aranea 1.1.4 Features and Improvements List filtering using multi select controls | See #664 Ability to describe links in a message | See #654 tag and "onChangeEventId" attribute | See #672 The ID attribute of form elements missing | See #665 convertAndValidate() that throws an exception | See #671 Data.setDataValue exception message | See #677 Wonderful inconsistency in ListWidget | See #679 ui:date(Time)Input: date format and calendar | See #680 Errors in modal mode block further use of application | See #670 Bugfixes DateTimeInput fires submits when listeners are not registered | See #674 Disabled FormElements do not look like it anymore | See #666 Session does not serialize | See #668 --------------------------------------------------------------------------------------------- 2008.05.21 | Aranea 1.1.3 Features and Improvements Improved documentation (reference manual, javadoc, now also TLD doc) | See #251 ListSqlHelper for PostgreSQL (PostgreListSqlHelper) | See #642 Radio buttons and check boxes (incl. select-all check box) for list rows | See #154 All primitive types supported by default in Aranea forms | See #636 ListWidget to support startsWith and endsWith filter expressions | See #645 Render a disabled field as a read-only input | See #648 StandardFlowContainerWidget.getActiveFlow was made public | See #658 TabContainerWidget.getSelectedTab now returns TabWidget (not just widget) | See #659 Bugfixes Aranea does not work with Safari browser | See #650 FormUtil.createElement fails with null Data | See #649 --------------------------------------------------------------------------------------------- 2008.04.16 | Aranea 1.1.2 Bugfixes Modalbox submitting of 'overlay' attribute | See #640 Optimize scripting Text object (aranea-util.js) | See #643 Calendar placement in IE7 | See #639 --------------------------------------------------------------------------------------------- 2008.03.19 | Aranea 1.1.1 Features and Improvements Allow file importer group names to contain dots | See #628 behaviour.js internally uses prototype CSS selector support | See #627 Reference manual javascript documentation brought up-to-date | See #625 Bugfixes Mandatory FileUploadControl validation erroneously succeeded | See #633 --------------------------------------------------------------------------------------------- 2008.02.22 | Aranea 1.1 Features and Improvements isRunningInOverlay() method added to BaseUIWidget | See change #620 Update region submits in overlay use smoother page update method | See change #620 aranea-tests.jar included in a distribution 'dist' folder, contains tests | See and few classes which might be useful for testing custom components | #381 Bugfixes ListSqlHelper incompatibility introduced in 1.1-M6 was fixed | See #614 TabWidget.getTabContentWidget() always returned NULL for stateless tabs | See #621 Several BaseTag.get*() methods do not throw Exception anymore | See #617 ConfirmationContext.CONFIRMATION_RESULT_KEY was missing 'ara' prefix | See #610 Main example demo was using uncompressed TinyMCE javascript files | See #608 Deprecation & API changes Deprecated outdated StandardClientStateFilterWidget | See #616 --------------------------------------------------------------------------------------------- 2008.02.07 | Aranea 1.1-RC1 Features and Improvements 'options' attribute for tag | See #605 Support adding rendered update regions on serverside (UpdateRegionContext)| See #601 TinyMCE updated to 3.0 + updateregion support fixed | See #587, #602 Documented FlowContext.TransitionHandler in reference manual | See #606 Bugfixes timeinputs were too narrow in IE when using update regions | See #604 Removed the lazy script loading facilities (problems with IE + TinyMCE) | See change #599 --------------------------------------------------------------------------------------------- 2008.01.31 | Aranea 1.1-M6 Features and Improvements ThreadCloningContext has acquired public API for session thread cloning | See #558 OverlayContext acquired methods for setting overlay options | See #563 StandardControlEventListenerAdapter has new remove*EventListener methods | See #193 supports updateregions | See #547 Most behaviours are added to DOM elements only once | See #591 Added FormElementValidationErrorRenderers for rendering form element | See validation messages in a customized way (i.e directly at invalid element) | #574 Flow navigation now uses TransitionHandlers. This allows for i.e asking | See user to confirm when navigating away from flow containing unsaved data | #560 ListSqlHelper now supports NamingStrategies for conversion between field | See identifiers and database column identifiers and query aliases | #543 When WindowScrollPositionContext is present, flow transitions will store | See scroll position context separately for each flow | #588 Documentation updates Bugfixes ListSqlHelper.setSimpleSqlQuery had bug with using custom 'where' clause | See #561 Timing issues with updateregion processing were worked around | See #556 Default calendar CSS left it hidden behind modal dialog in overlay | See #551 Tooltips were permanently smothered on screen after AJAX requests | See #548 FormSimpleLabelHtmlTag sometimes failed to correctly find element label | See #593 IE threw JS errors when using global scoped keyboard handler | See #592 aranea-contextmenu.js failed with script parsing error in IE | See #586 araneaPage().getSystemForm() returned wrong value when overlay was active | See #576 Deprecation & API changes Deprecated FlowContext FlowReference interface and getReference() method | See change #578 org.araneaframework.jsp.engine package was removed | See change #394 --------------------------------------------------------------------------------------------- 2007.10.31 | Aranea 1.1-M5 Features and Improvements Proxy*Listeners are able to invoke private & protected handleXXX* methods | See #526 Support for key combinations and meta keys in JSP keyboard handler tags | See #472 Standardized invalid form element marking | See #534 FormElement.convert() never changes Control content | See #529 Some scripts are now only loaded on-demand (rich editor) | See #162 and support selection | See by clicking on radio/checkbox labels | #541 ConverterFactory changed to support class extension easily | See #295 Documentation updates -- no out-of-date or plain wrong information should | See have remained in 1.1 reference manual. Still incomplete though. | change #538 Aranea 1.1 examples updated | See change #538 Bugfixes FormElementLabelHtmlTag.setStyle(String) did not apply to HTML | See #533 Fixed circular lazyness problem causing too many refreshes in ListWidget | See #540 Deprecation & API changes Deprecated BeanFormWidget.writeBean() & readBean() were removed | See #474 Removed throw clauses from | -------- MemoryBasedListDataprovider.refreshData() | UpdateRegionProvider.getRegions() | See ListOrder.init(), ListOrder.destroy() | #137 ListFilter.init(), ListFilter.destroy() | -------- --------------------------------------------------------------------------------------------- 2007.10.01 | Aranea 1.1-M4 Features and Improvements setInputFilter() method has been added to various Controls | See #486 ProxyActionListener was added (analogous to ProxyEventListener) | See #490 All Aranea JSP tags now recognize 'tabindex' attribute | See #473 New ListItemsData constructor -- ListItemsData(List itemRange, Long count)| See #494 Bundled Prototype JS library was upgraded from 1.5.1 -> 1.5.1.1 | See #489 Support for background server-side form validation (while filling form) | See change #502, #511 Tab widget (TabContainerWidget) was added to Uilib | See change #466, #516, #522 A hybrid of text input and select, ComboTextControl was added to Uilib | See #483 Support for right-click menu (ContextMenuWidget) | See #487 tag was added | See #497 Added support for running processes in modal overlay layer | See change #388, #515 The 'root' flow container now is distinguished by additional | See 'RootFlowContext' environment entry | #508 LocalizationContext now accepts LocaleChangeListeners | See #525, #253 Documentation updates and some outdated information removal | See change #522 Bugfixes BeanFormWidget writeToBean (old readBean()) destroying content of subform | See #420 FormWidget restoreBaseState() did not work correctly | See #507 Rare NPE in ListSqlHelper.getDatabase(Filter|Order)Params was removed | See #249 examples/serviceHelloName had stopped working | See #510 BaseTag.getConfiguration() always returned NULL | See #380 disableWidget()/enableWidget() do not throw exceptions when called on | See already disabled/enabled widgets | #519 BaseApplicationWidget erronously tried to route update() to children who | See were not widgets (to components and services too) | #524 Deprecation & API changes BeanFormWidget.readFromBean() replaces deprecated writeBean(). | See BeanFormWidget.writeToBean() replaces deprecated readBean(). | #447 We are sorry that old methods were named so confusingly unintuitively. | & #474 'throws Exception' was removed from FormWidget.addElement* signatures | See #512 'throws Exception' was removed ListWidget's FilterHelper.* signatures | See change #515 --------------------------------------------------------------------------------------------- 2007.06.22 | Aranea 1.1-M3 Features and Improvements Aranea specific request parameters got prefixes ('araTransactionId', ...) | See There were some name clashes otherwise in integration projects. | change #414 TcdAndTldMerger is bundled inside aranea.jar | See #434 Some minor documentation updates | See change #426, #448 Bugfixes Update regions caused NPE sometimes when active flow was ended in request | See #432 Demos->Advanced->Advanced popups last component did not work | See #424 --------------------------------------------------------------------------------------------- 2007.06.12 | Aranea 1.1-M2 Features and Improvements FormWidget addElement methods accept hierarchical element identifiers | See #171 Convenience constructors added to composite constraints | See change #370 Convenience start() methods added to FlowContext | See #391 MenuItem allows starting new flows from MenuItem 'holders' | See change #395 tag allows setting HTML div id ('divId' attribute) | See #384 Component interface now includes isAlive() method | See #382 Framework does not depend on Log4j anymore (uses commons-logging) | See #377 Bundled TinyMCE was upgraded to 2.1.1.1 | See change #418 Bundled script.aculo.us scripts were upgraded to 1.7.1_beta3 | See change #418 Bugfixes did not work due to attached javascript | See #399 did not honor renderer set by TreeWidget.setRetrender() | See #357 List ordering broke in 1.1-M1 every now and then | See #389 ListWidget broke when ListDataProvider was used directly | See #402 Convert on uninitialized FormElement's threw NPE (incompatible with 1.0) | See #400 BackendListDataProvider threw NPE when logging was activated | See #403 Exception was thrown when requested to update nonexisting updateregion | See #406 Messages were not updated on client side when they disappeared on server | See #416 FormElement's outside updateregions ignored subsequent request after | See partial rendering | #411 --------------------------------------------------------------------------------------------- 2007.05.03 | Aranea 1.1-M1 Features and Improvements Widgets know their name (accessible with getScope() method) | See #7 Real partial rendering support | See #227 Widget actions support real unsynchronized access (through session router)| See #319 Widget process() lifecycle method was removed (broke OO-encapsulation) | See #367 FormWidget addElement() method accepts hierarchial ids | See #171 Visibility of context attributes in JSP tags was reduced to containing | widget only | See change #339 Removed ui:root, ui:viewport, ui:globalWidgetInclude tags | Bugfixes Enforced component lifecycle (no resurrections) | See #321 Returning from init() method of widget wrapped in PopupFlowWidget failed | See #312 Much more detailed changelog is available from SVN repo (dev/changes-1.1.txt) --------------------------------------------------------------------------------------------- 2007.04.20 | Aranea 1.0.8 Bugfixes 'Bugfix' in 1.0.7 often caused NPE on Form Lists initialization. Sorry! | See #359 --------------------------------------------------------------------------------------------- 2007.04.13 | Aranea 1.0.7 Features and Improvements TreeWidget was backported from Aranea stable branch | See #345 Different error message resources for NumberControl and FloatControl | See #349 Bugfixes Cleared DateTimeControl obtaining value 'Jan 01 00:00:00 EET 1970' | See #322 List Comparators missed equals() methods (problems with overlapRange()) | See #319 Other small fixes | See change #179 --------------------------------------------------------------------------------------------- 2007.03.16 | Aranea 1.0.6 Features and Improvements "ant run-app-*" targets now work when using Ant 1.7 | See #320 AraneaPage.(action & action_6) take Ajax.Request options as parameters | See change #170 FormSelectDisplayHtmlTag output can be optionally wrapped | See #324 All distribution .jar files now include classes' source code | See #327 Bugfixes FileUpload Control now produces error messages when file size limit is | exceeded (NB! only when request size limit is within boundaries) | See #248 in FormSelectDisplayHtmlTag is now closed correctly | See #322 ListWidget.destroy() caused NullPointerException in some cases | See #325 Form modifications from actions and session threads were a hassle | See change #153 Memory based lists were reloading data too often | See #294 --------------------------------------------------------------------------------------------- 2007.02.09 | Aranea 1.0.5 Features and Improvements There is a minimal blank application template now. | See #296 Standard Uilib includes BaseMenuWidget now. | See #313 Example tags used in sample apps have their own namespace now: 'tui', | this should clear up the confusion about which tags are from Aranea JSP | See #306 and which were made specifically for examples. | In addition to TLDs, aranea.jar now includes aranea-standard.tcd, which | is a 'tag-class descriptor' and contains xdoclet attribute information | for all Aranea tag classes (including abstract classes). These can be | See #306 used with TcdAndTldMerger utility to generate TLDs for tags based on | Aranea tags, without attribute information getting lost. | DownLoaderWidget & DownLoaderService + corresponding tags. | See change #158,160 Bugfixes executeCallbacks() invocation was missing from AraneaPage.event_6. | See #305 onunload() javascript that closed popup windows was removed. | See #308 SpringBeanInvocationHandler.invoke() had broken exception handling. | See #307 FormKeyboardHandlerHtmlTag.createHandlerToInvokeJavascriptEvent. | See #311 --------------------------------------------------------------------------------------------- 2006.12.22 | Aranea 1.0.4 Features and Improvements AutoCompleteTextControl now has setter for ResponseBuilder (as opposed to | finding ResponseBuilder from ConfigurationContext) | See #298 Actions javascript API was backported from Aranea 1.1 branch | See #302 Additional action and popup examples (Demos->Advanced->(Form With Actions | Advanced popups)) Bugfixes aranea-resources.xml contained references to example specific files | See #288 aranea-popups.js contained hardcoded system form identifier | See #290 TldLocationsCache threw NPE on some containers when WEB-INF/lib contained | empty folders | See #292 'event' attribute was escaped too strictly | See #293 IE had trouble handling popup maps where id contained slashes | See #297 WindowClosingService (used by PopupFlowWrapperWidget) caused opener | window to lose form data | See #292 JspWidgetCallUtil.getSubmitScriptForEvent constructed updateRegions | parameter that was unaccepted by event functions | See #303 --------------------------------------------------------------------------------------------- 2006.12.01 | Aranea 1.0.3 Features and Improvements InputData and OutputData are accessible from BaseWidget init() now | See #269 Aranea JSP now bundles ListFilterButton and ListFilterClearButton tags | See #268 Rendering of HTML