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