Skip navigation
1 2 Previous Next

Michal Petrov's Blog

29 posts

It has now been almost two years since the development of RichFaces ended, however since people are still using it I just want to clear up a few things.

 

Showcases

The showcases were down earlier this year, I had to switch hosting and it didn't go as smoothly as expected. showcase.richfaces.org is now back up and should hopefully remain so for at least another year. Showcase for RF 3 is however not coming back, if you want to use it you will have to deploy it locally; it's just not feasible for me to get it up and running. I found out the demos that were hosted at exadel.com are now also down but I have no control over those.

 

JIRA, forums and other things

As far as I know there are no plans to shut down the current "infrastructure" (JIRA, source repositories, this whole site). That said I do not recommend using the JIRA, I'm generally ignoring it. If you want to get a hold of me the forum is the best place to do it. You can also try the RichFaces Twitter but I don't check it that often.

 

That's about it. Should things change I'll post an update. If you have any questions ask in the comments.

RichFaces 4.5.17.Final is available for download.

Note that this is the last release of RichFaces and the project has now reached its end-of-life. Thank you for staying with us for the past years.

 

In this release we've implemented a way to disable items in select, pickList and orderingList. We've also fixed an issue with combining RichFaces ajax functionality with basic JSF components and fixed issues with JS API in several components.

 

Release Notes

        Bug

  • [RF-4491] -         pickList doesn't honor property 'disabled' of selectItems
  • [RF-10966] -         rich:autocomplete - missing @status attribute, autocomplete and select not unified
  • [RF-12242] -         rich:dropDownMenu and showTimeout works wrong
  • [RF-12731] -         mobile showcase: a4j:queue/attachQueue are not working
  • [RF-12778] -         panelMenu: JS API calls doesn't work
  • [RF-13537] -         Autocomplete: onbegin attribute ignored
  • [RF-14268] -         mobile showcase: ajax validation messages does not show up without refreshing the page [MyFaces]
  • [RF-14272] -         page-fragments: inplace select: remove unnecessary Selenium workaround in select method
  • [RF-14273] -         page-fragments: contextMenu: correct the default showEvent and fix workaround for phantomjs
  • [RF-14275] -         dataScroller: JS API: invoking fastRewind/fastForward throws NumberFormatException
  • [RF-14277] -         extendedDataTable: JS API
  • [RF-14282] -         dataTable: add missing clearSorting/Filtering JS API methods to Component reference
  • [RF-14288] -         examples: missing checkstyle plugin version
  • [RF-14295] -         mobile showcase: visual issues
  • [RF-14297] -         RichFaces Update 4.5.15 => 4.5.16 breaks a4j:ajax => method not invoked
  • [RF-14298] -         datatable - rowclick listener triggered twice
  • [RF-14299] -         Popup-Panel resizing broken in 4k resolution monitors
  • [RF-14301] -         autocomplete events invoked on wrong target
  • [RF-14302] -         mobile showcase: browsing to sample by url returns to last opened sample

      

        Component Upgrade

  • [RF-14274] -         Upgrade third-party libraries

          

        Enhancement

  • [RF-14270] -         showcase: attachQueue: UX: add intentional delay for showing the status
  • [RF-14287] -         page-fragments: select: replace invoking of blur in select method
  • [RF-14290] -         integration-tests: limit page load timeout
  • [RF-14294] -         Configure the tests to run with Firefox in Travis-ci

  

        Feature Request

  • [RF-6678] -         RichFaces Select components: implement disabled state support for selectItem
  • [RF-13437] -         contextMenu: support hiding by clicking outside only

                                      

        Task

  • [RF-10782] -         simplify width control of Input components
  • [RF-14165] -         Clean up Showcase
  • [RF-14279] -         Update JSDoc
  • [RF-14280] -         Update core maven dependencies for build
  • [RF-14291] -         showcase: integration-tests: remove unsupported layout switching
  • [RF-14292] -         integration-tests: try to reload the page when loading timed out
  • [RF-14293] -         showcase: integration-tests: add missing request guards and cleanup session
  • [RF-14296] -         photoalbum: tests: encapsulate fields, add waiting to header panel
  • [RF-14303] -         upgrade Tomcat containers version

                  

        Sub-task

  • [RF-14278] -         Update documentation of panelMenu JS API
  • [RF-14300] -         select: vdl-doc: specify attributes status, onbegin, oncomplete, onbeforedomupdate can only be used in an auto-completing mode

RichFaces 4.5.16.Final is available for download.

 

In this release we have fixed the "resetValues" attribute not working with MyFaces and we've fixed minor bugs and improved several components such as select, pickList and fileUpload.

 

Release Notes 

        Bug

  • [RF-11063] -         rich:select is not at same level with text
  • [RF-11735] -         [rich:tabPanel] activeItem doesn't work if attribute immediate is set to true
  • [RF-12845] -         rich:menuItem does not work as composite component
  • [RF-13776] -         a4j:ajax problem with hierarchical component IDs
  • [RF-14252] -         @resetValues doesn't work with MyFaces
  • [RF-14254] -         filtering is not working properly in rich:select component
  • [RF-14255] -         Subtopic missing in processPreSubscriptionEvent
  • [RF-14256] -         pickList doesn't fire onremoveitems when keepSourceOrder is true
  • [RF-14257] -         rich:fileUpload not throwing the javascript event "onsizerejected" for global maxRequestSize
  • [RF-14258] -         fileUpload: js events for error not trigger when same file selected twice
  • [RF-14259] -         select: error class is not removed after selecting suggestion->type->delete
  • [RF-14261] -         rich:orderingList broken with direction: rtl

        

        Component  Upgrade

  • [RF-14253] -         Upgrade third-party libraries

            

        Enhancement

  • [RF-12609] -         inplace input/select : controls are always visible
  • [RF-14248] -         unify background colors and gradients
  • [RF-14262] -         page-fragments: replace invoking of blur event
  • [RF-14263] -         page-fragments: inplace input/select: replace invoking of edit event

                                                

        Task

  • [RF-14264] -         Update documentation regarding file size handling in rich:fileUpload
  • [RF-14265] -         update integration tests dependencies

                    

        Sub-task

  • [RF-14260] -         fileUpload: @onsizerejected: update attribute description (VDL doc)

RichFaces 4.5.15.Final is available for download. This release contains mostly client-side fixes, we have fixed single selection in extendedDataTable and made the table remember scroll position between AJAX requests. We have also fixed autocomplete and progressbar to allow resizing.

 

Release Notes

        Bug

  • [RF-10967] -         Drag'n'Drop does not work with PARTIAL_STATE_SAVING FALSE
  • [RF-10969] -         Progress bar: not possible to resize
  • [RF-11079] -         Increase size of autocomplete
  • [RF-11120] -         datatable.ecss: background-repeat on .rf-dt-hdr-c is not set
  • [RF-11171] -         [rich:extendedDataTable] table-scrollbar scrolls to the left side instead of holding position after filtering or sorting column
  • [RF-11628] -         rich:inputNumberSpinner: arrows ignore input content
  • [RF-11932] -         extendedDataTable: cannot unselect selected row with CTRL+Click when using single selection mode
  • [RF-12061] -         pickList direction
  • [RF-12539] -         rich:editor - wrong method names in JS API
  • [RF-12977] -         a4j:queue breaks tabPanel
  • [RF-14247] -         page-fragments: hotkey: fix invoking over default (html) element

        

        Component  Upgrade

  • [RF-14243] -         Upgrade third-party libraries

            

        Enhancement

  • [RF-14245] -         page-fragments: select: move to item before selection

                                                

        Task

  • [RF-14246] -         photoalbum: tests: fix logging in with g+

RichFaces 4.5.14.Final is available for download.

 

In this release we've implemented a long-requested feature - a menu for hiding columns in rich:extendedDataTable (you can see it action in the Showcase). We've fixed ajax requests in rich:tree, rich:treeNode now inherits request-related attributes (oncomplete, data, …) from the parent tree. There were two updates that might cause issues with custom styles, the components affected are rich:contextMenu (style and styleClass now apply to a different element) and rich:popupPanel (style was being incorrectly applied in two places).

 

Release Notes 

        Bug

  • [RF-10265] -         rich:tree - toggling fires @onbegin event handler, but omits @onbeforedomupdate and @oncomplete
  • [RF-12097] -         Richfaces 4.2.0 invalid css entry for *.rf-insl-tt
  • [RF-12295] -         Facelets exception on postback when partial state saving is off
  • [RF-12979] -         rich:contextMenu inside rich:accordion displays incorrectly
  • [RF-14159] -         Autosized popup panel has wrong size after re-render
  • [RF-14225] -         Behavior of rich:select component with duplicate labels
  • [RF-14229] -         rich:dragSource - error on dropover when using custom options
  • [RF-14231] -         FocusManager: cannot focus on component inside iteration component
  • [RF-14233] -         rich:dragSource - empty dragOptions cause error
  • [RF-14235] -         rich:popupPanel - style attribute is applied twice

        

        Component  Upgrade

  • [RF-14226] -         Upgrade third-party libraries

            

        Enhancement

  • [RF-14128] -         Add profile for WF 10
  • [RF-14227] -         Incorrect information in Developer Guide
  • [RF-14230] -         Provide better handling for RichFaces.ui.Droppable
  • [RF-14239] -         provide better parent menu resolutions for menu items

    

        Feature Request

  • [RF-7872] -         Tables: columns visibility

                                        

        Task

  • [RF-14234] -         Add profile for EAP 6.4
  • [RF-14240] -         photoalbum: stabilize tests
  • [RF-14241] -         page-fragments: contextMenu: fix the page fragment after refactoring in contextMenu
  • [RF-14242] -         showcase: integration-tests: contextMenu: fix locators

                    

        Sub-task

  • [RF-14232] -         Document @showColumnControl and add example to showcase

Hi all,

 

as you might be aware the RichFaces project is winding down. (You can read Brian’s original RichFaces 4.5 announcement here).

 

For now the plan is to keep doing what we’ve been doing, that is releasing a new version of RichFaces 4.5.x roughly every four weeks and that will continue until June 2016, after which we will not sponsor any more releases. I will still keep an eye on the forum and StackOverflow but I will not be doing any more coding for RichFaces.

 

As for the current situation - there are some 800 unresolved issues and that is a rather large number. On the other hand a lot of those issues are old and so there is a high possibility that they are either outdated or they have a workaround. But if you know about an old issue that you’d like to see fixed a good way to bring it to my attention would be to vote or comment on it. Unfortunately Feature Requests and Enhancements are likely to get rejected at this point.

 

I've also put together a Questions and Answers page that I'll be updating if you have any more questions.

 

If you are a Red Hat customer please take a look at a related product announcement.

RichFaces 4.5.13.Final is available for download.

 

In this release we have fixed an issue with client-side validation in iteration components, fixed a4j:ajax listening to rowclick event and fixed an issue with a4j:status becoming stuck in certain situations. We have also upgraded jQuery to the latest version (1.12).

 

Release Notes

        Bug

  • [RF-10813] -         Calendar: css class doesn't follow naming conventions
  • [RF-11635] -         rich:calendar missing attribute title
  • [RF-11915] -         MenuGroup with all items disabled or no items causes JS error
  • [RF-11941] -         mobile showcase - a4j:queue - Warning generated on server side
  • [RF-12092] -         a4j:poll : a4j:status never clears
  • [RF-12337] -         rich:popupPanel impacts layout even if not shown
  • [RF-12527] -         Drag indicator is not visible when popup panel is open
  • [RF-12653] -         rich:autocomplete needs two clicks to hide popup
  • [RF-12661] -         rich:tooltip causes NPE with null value
  • [RF-13127] -         onvalid and oninvalide pass wrong element when using rich:element with String field
  • [RF-13165] -         The rowclick event of the rich:dataTable is not recognized as a valid server-side event during an ajax postback
  • [RF-13167] -         disabled contextMenu/dropDownMenu/menuGroup/menuItem is missing styleClass
  • [RF-13441] -         contextMenu - when showEvent is dblclick then context menu disappear after invoking
  • [RF-14200] -         mobile showcase: links to VDL doc and Component reference
  • [RF-14213] -         fileUpload: custom progressBar is used only for the first item when uploading multiple items
  • [RF-14215] -         extendedDataTable: keyboard navigation fails when using lower values of @clientRows
  • [RF-14218] -         fileupload: error in browser console during upload

        

        Component  Upgrade

  • [RF-14217] -         Upgrade third-party libraries

            

        Enhancement

                                                

        Task

  • [RF-14024] -         rich:select - clarify usage of autoComplete
  • [RF-14203] -         showcase: cleanup release profile
  • [RF-14211] -         component reference: tree: add images for default node examples
  • [RF-14212] -         vdl-doc: tree: add default value of @useDefaultNode
  • [RF-14214] -         showcase: stabilize integration tests with tomcat+myfaces
  • [RF-14220] -         component reference: select: add sample and more informations about using select in auto-completing mode
  • [RF-14223] -         showcase: stabilize integration tests

RichFaces 4.5.12.Final is available for download.

 

In this release we have fixed a bug in rich:chart that prevented displaying sparse data sets and fixed a problem with nested elements inside rich:autocomplete (such as rich:placeholder). A "default node" functionality has been added to rich:tree, consult the showcase example to see how it works (part of this feature was already in place but largely undocumented).

 

Release Notes

        Bug

  • [RF-10642] -         Autocomplete does not have a title attribute
  • [RF-11327] -         Inplace Input - typing a space into the input field
  • [RF-14205] -         rich:chart does not render sparse datasets
  • [RF-14206] -         fileUpload: custom progressBar is not used

        

        Component  Upgrade

  • [RF-14204] -         Upgrade third-party libraries

            

        Enhancement

  • [RF-10935] -         Component reference: add section about icons of collapsible panel
  • [RF-14201] -         showcase: put integration tests to default tests directory
  • [RF-14207] -         VDL-doc: a4j:ajax doesn't specify default for @execute

    

        Feature Request

  • [RF-10169] -         Panel Menu - propagate top{Group,Item}* customization attributes to their regular equivalent
  • [RF-11902] -         [rich:autocomplete] attachQueue doesn't work
  • [RF-12643] -         Fix deprecations warnings in Java code
  • [RF-12887] -         Nodes with types that are not listed in <rich:treeNode> are not rendered
  • [RF-12948] -         rich:autocomplete problems with nested rich:placeholder
  • [RF-13139] -         popupPanel duplicated if double clicking links for opening popup
  • [RF-13408] -         ExtendedDataTable, ajax loading delay of 1000ms
  • [RF-14199] -         rich:calendar disabled dates can be selected by using keyboard

                                        

        Task

  • [RF-14198] -         photoalbum: stabilize TestUserLogging test
  • [RF-14202] -         cleanup profiles for integration tests

                

        Sub-task

  • [RF-14208] -         update component reference and add a showcase example for default node

RichFaces 4.5.11.Final is available for download.

 

In this release we have updated styling options for chart, notifyMessage and dataGrid and updated our VDL documentation with regards to default attribute values. We have also added an option to skip resource optimization during build (-Doptimization.skip)

 

Release Notes 

        Bug

  • [RF-12098] -         PickList doesn't accept comma in string value
  • [RF-13045] -         param and hashParam: attribute @rendered is not working
  • [RF-13259] -         DataTable rowClasses with columnGroup is not rendered
  • [RF-14163] -         showcase: correct references to bean
  • [RF-14164] -         rich:notifyMessage, notifyMessages: attributes @style and @title are not applied to created message component
  • [RF-14169] -         showcase: panel: bad description in lookCustomization sample
  • [RF-14171] -         @resetValues was added to not listed components
  • [RF-14172] -         validator: @event cannot be a ValueExpression
  • [RF-14174] -         validator: @immediate does not work and has wrong description
  • [RF-14175] -         calendar: unused attribute @weekDayLabels
  • [RF-14176] -         chart: attribute @style does not work
  • [RF-14178] -         validator: @onbeforesubmit cannot be used with MyFaces
  • [RF-14179] -         VDL-doc: specified default values are not correct
  • [RF-14194] -         Misprint in format string of MessageFormat.format in ResourceServletContainerInitializer
  • [RF-14197] -         page-fragments: dataGrid: getRecordsInRow contains bad condition

        

        Component  Upgrade

  • [RF-14170] -         Upgrade third-party libraries
  • [RF-14182] -         Upgrade testing dependencies

            

        Enhancement

  • [RF-14162] -         showcase: add missing links to VDL Documentation/Component Reference in some examples
  • [RF-14168] -         showcase: collapsibleSubTable demo: wrong output in cars total count
  • [RF-14183] -         page-fragments: inputNumberSlider: dragging the handle starts from wrong value
  • [RF-14186] -         Hide @converter and @value in components extending UIOutput
  • [RF-14190] -         Provide better contrast for selected items
  • [RF-14192] -         showcase: focus: fix simple and delayed samples
  • [RF-14193] -         Allow skipping resource optimization during build
  • [RF-14196] -         page-fragments: dataGrid: make methods for returning of elements in advanced interactions public

    

        Feature Request

  • [RF-10779] -         rich:dataGrid - support classes for header, footer, rows and columns
  • [RF-14166] -         rich:calendar keyboard support to close calendar

                                        

        Task

  • [RF-14157] -         showcase: fix integration tests
  • [RF-14158] -         update VDL doc for notify's @sticky attribute
  • [RF-14173] -         VDL-doc: validator: add missing documentation of attributes
  • [RF-14189] -         Remove unused arquillian-warp test dependencies

                

        Sub-task

  • [RF-14187] -         calendar: document keyboard support for closing the popup
  • [RF-14195] -         vdl-doc: tables + dataGrid: add description to attributes

RichFaces 4.5.10.Final is available for download.

 

The bulk of the updates in this release concerns the online Showcase. But we've also updated built-in filtering in dataTables - they can now be filtered by pressing Enter. We've also fixed JSF detection on WebSphere.

 

Release Notes

        Bug

  • [RF-11053] -         Showcase: layout broken in data grid sample
  • [RF-11558] -         showcase - rich:notify - sample Attributes of Notify - in some configuration it is not possible to close notification
  • [RF-12174] -         Showcase: pages with textarea might overflow
  • [RF-12558] -         showcase - rich:panelMenu - repeatedly selecting of item from menu does not update outputPanel
  • [RF-12658] -         NotifyStack generates invalid JS
  • [RF-12923] -         rich:notifyMessage, notifyMessages: some attributes are not applied to created message component
  • [RF-14130] -         Exception when skin properties replaced
  • [RF-14143] -         Richfaces 4.5.8 Fileupload not working on WF 8.2 and Apache Cluster (with SSON)
  • [RF-14144] -         ScrollerPage calls getRowCount() on Tree model if one the same view.
  • [RF-14147] -         Resource-Optimizer skips ckeditor.js
  • [RF-14148] -         JSF implementation detection within ResourceTrackerImpl is insufficient for classpaths with multiple implementations

       

        Component  Upgrade

  • [RF-14149] -         Upgrade third-party libraries

           

        Enhancement

  • [RF-11212] -         showcase - rich:popupPanel - Login panel positioning sample - should use <h:inputSecret> for password inputs
  • [RF-11636] -         showcase - a4j:region - alter the example layout to look better
  • [RF-13050] -         Showcase - not all demos have references for beans which are used in them
  • [RF-14156] -         contextMenu with dynamic group doesn't work properly

   

        Feature Request

  • [RF-11213] -         showcase - rich:calendar - Simple calendar sample -  should change text value of buttons 'today' and 'clean' when changing locale
  • [RF-11324] -         Link Showcase to Tag Reference and possibly component docs
  • [RF-14150] -         rich:dataTable - trigger built-in filtering on RETURN

                                       

        Task

  • [RF-14140] -         Stabilize integration tests on Tomcat
  • [RF-14145] -         Clean up showcase

RichFaces 4.5.9.Final is available for download.

 

In this release we've added an option to use text-substitution in rich:contextMenu (more in documentation) and we've added focus() method to the JS API of input elements. We've also updated rich:componentControl to be able to use standard DOM methods.

 

Release Notes 

Bug

  • [RF-11402] -         Metamer: rich:inplaceSelect: scroller disappear when move by mouse
  • [RF-12488] -         detached contextmenu menu fails
  • [RF-12510] -         jsFunction data called before completittion
  • [RF-12759] -         rich:componentControl doesn't work on commandButton
  • [RF-12820] -         AutoComplete Layout Table is broken
  • [RF-12841] -         Tooltip: JavaScript Error with showDelay and partial update
  • [RF-14081] -         Rerendering of drag indicator not reflected when dragging an element
  • [RF-14102] -         orderingList, pickList: @collectionType can only be a String
  • [RF-14119] -         page-fragments: status: status state is not returned correctly
  • [RF-14120] -         page-fragments: editor: type method is changing editor's text even if in readonly mode
  • [RF-14122] -         autocomplete: autofill does not work for upper case beginning letter
  • [RF-14129] -         rich:select list doesn't opens, if first element in the list is empty (with solution)
  • [RF-14133] -         mobile showcase with myfaces: cannot display any example
  • [RF-14136] -         [rich:toolbar] hideDelay does not work
  • [RF-14138] -         components/rich cannot be compiled with java 1.6

        

Component  Upgrade

  • [RF-14113] -         Upgrade third-party libraries

            

Enhancement

  • [RF-14101] -         Replace Showcase tests for a4j:status
  • [RF-14115] -         page-fragments: editor: wait for inner frame to be visible before switching to it
  • [RF-14121] -         showcase: editor: decrease autosaving frequency

    

Feature Request

  • [RF-7824] -         Add "focus" method to focusable components
  • [RF-11842] -         Support for macrosubstitutions in the contextMenu

                                                        

Sub-task

  • [RF-14118] -         Document text substitutions in rich:contextMenu
  • [RF-14125] -         Add focus() to JS API documentation
  • [RF-14131] -         Document @dragOptions for rich:dragSource

RichFaces 4.5.8.Final is available for download.

 

In this release we've expanded the use of event handlers -  oncomplete, onerror and status can be defined globally on a4j:queue. Added more commands to keyboard navigation for rich:calendar and fixed a few client-side issues such as row- and columnClasses in rich:extendedDataTable with frozen columns, or keyboard scrolling for pickList and orderingList.

 

Two things to note:

  1. There seems to be a problem with MyFaces 2.2.8 and navigation rules, though we've only encountered it in our mobile showcase; MyFaces 2.2.7 work fine.
  2. rich:fileUpload on WildFly can garble filenames if they contain special characters, read about it in my earlier blog post.

 

Release Notes 

        Bug

  • [RF-11176] -         [a4j:commandButton] [a4j:commandLink] missing base attribute onerror
  • [RF-11711] -         a4j:queue - review usage of attributes onsubmit, oncomplete, onevent, onbeforedomupdate and onerror
  • [RF-11805] -         a4j:queue onerror doesn't seem to work
  • [RF-12351] -         rich:extendedDataTable frozen columns cause alternating row color to be out of sync with unfrozen part of table
  • [RF-13558] -         pickList, orderingList: list doesn't scroll when using keys
  • [RF-14056] -         Repository sync problem
  • [RF-14074] -         rich:calendar popup disappeared in IE in special case.
  • [RF-14076] -         tab: @onbegin and @status are not working
  • [RF-14077] -         pickList: @caption element is not visible
  • [RF-14079] -         panelMenuGroup and item: @onunselect does not work
  • [RF-14082] -         inputNumberSpinner: @inputPosition does not work
  • [RF-14086] -         Rich:chart with a4j:ajax re-render fails on WF 9 and Tomcat
  • [RF-14087] -         Autocomplete needs two clicks to open
  • [RF-14089] -         panelMenuGroup: @hoverClass does not work
  • [RF-14092] -         FileUpload doesn't preserve filename encoding
  • [RF-14093] -         rich:pickList source order not preserved for the beginning of the list
  • [RF-14094] -         pickList: the state of buttons is not updated after removing item(s) when @keepSourceOrdered=true
  • [RF-14097] -         a4j:mediaoutput does not work on wildfly 8.2
  • [RF-14098] -         autocomplete: @onerror does not work
  • [RF-14100] -         Highlighting of rich:dropDownMenu on refresh
  • [RF-14106] -         Showcase: chart component sample is not rendered
  • [RF-14108] -         mobile showcase with myfaces: cannot open any example

        

        Component  Upgrade

  • [RF-14073] -         Upgrade third-party libraries
  • [RF-14083] -         Upgrade JSF
  • [RF-14096] -         Upgrade WildFly 8 and 9 Arquillian profiles

            

        Enhancement

  • [RF-13271] -         AjaxEventsProps is missing @onerror attribute
  • [RF-14067] -         page-fragments: calendar: add missing wait messages
  • [RF-14071] -         showcase: integration tests: deploy the war only once
  • [RF-14109] -         Showcase: a4j:status samples, user experience

    

        Feature Request

  • [RF-11781] -         rich:list and rich:dataScroller: numbering on other than the first page
  • [RF-14078] -         rich:calendar focus does not come to apply and today button

                                                        

        Sub-task

  • [RF-14103] -         Update rich:calendar documentation for keyboard navigation

I've been recently made aware of a bug in the fileUpload component where the encoding of the filename would get corrupted during the upload. E.g. you can take a file named štěně.png (that's Czech for puppy) and after upload the name would be Å¡tÄ›nÄ›.png. It doesn't occur on servers that use Servlet 2.5 (e.g. JBoss EAP 6.4).

 

The issue is caused by a difference in default encoding between two standards:

  • HTTP/1.1 - the standard was published in 1999 so unfortunately the default encoding is iso-8859-1 (it is specified in chapter 3.4.1).
  • XHR2 - the default encoding when using FormData is utf-8

 

When a request is sent to the server the headers may look like this:

  1. Content-Length:426
  2. Content-type:application/x-www-form-urlencoded;charset=UTF-8

 

A fileUpload request will look like this:

  1. Content-Length:2970
  2. Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryIbSCCmmqQBCJ5qSk

notice that the charset isn't specified, that's part of the XHR2 standard. When the request is parsed the server will use iso-8859-1 and the name gets corrupted.

 

Fortunately the default for HTTP can be changed, although if you change it to anything else than utf-8 - i.e. the encoding of the request - it will not work (we're getting this fixed in RichFaces 4.5.8).

  • on Tomcat add this to web.xml
<filter>
    <filter-name>SetCharacterEncoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>SetCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


  • on WildFly you can add <default-encoding>UTF-8</default-encoding> to jboss-web.xml

 

However this solution doesn't currently work on WildFly due to a bug in Undertow. The bug was reported and fixed, the fix will be available in the upcoming version. In the meantime if you encounter the issue you can fix the filename simply with

filename = new String(filename.getBytes("iso-8859-1"), "utf-8");


 

If you encounter an issue with the encoding after 4.5.8 is released please report it (if it's not on WildFly).

RichFaces 4.5.7.Final is available for download.

 

In this release we've fixed a bug with fileUpload causing error 413 in large forms and added support for begin, beforedomupdate and complete events. We've also addressed several client-side issues.

 

Release Notes

        Bug

  • [RF-11159] -         rich:panelMenuGroup component don't save it's expanded property
  • [RF-11413] -         Popup panel, component values on popup panel are not updated after validation process fails
  • [RF-12037] -         Fileupload:onbegin, oncomplete and onbeforedomupdate does not work
  • [RF-12777] -         rich:picklist - selectItemClass disables the buttons
  • [RF-14060] -         column: @sortType, @filterType: flaws in vdl doc
  • [RF-14063] -         rich:fileUpload - URI too long
  • [RF-14064] -         calendar: day picker: wrong/different styling of hovered day

         

        Component  Upgrade

  • [RF-14059] -         Upgrade third-party libraries

                     

        Feature Request

  • [RF-4308] -         rich:pickList: keep sort order of source list after add/remove operations
  • [RF-14031] -         Redesign the AbstractPopupMenu page fragment to enable more complex ContextMenu interactions

                                     

        Task

  • [RF-14050] -         fileUpload: add default value of @maxFileSize to VDL doc
  • [RF-14051] -         photoalbum: fix TestAddImage tests
  • [RF-14052] -         Update TESTS.md with WildFly 9 profile

RichFaces 4.5.6.Final is available for download.

 

In this release we have enhanced file size handling for rich:fileUpload - you can now specify "maxFileSize" directly on the component and it will also serve to reject large files immediately on client-side. We've also added support for transparent color in custom skin properties.

 

Release Notes

        Bug

  • [RF-11091] -         Autocomplete component is wrongly aligned
  • [RF-11606] -         rich:select : doesn't cast selectItem value
  • [RF-12054] -         TabPanel onitemchange of outer tab fired by inner tab
  • [RF-12362] -         skin color parameters do not support "transparent"
  • [RF-14025] -         Photoalbum login via social sites
  • [RF-14035] -         Showcase context menu: JS error in console
  • [RF-14039] -         Collapsible Panel Icon Regression
  • [RF-14043] -         rich:tabPanel does not switch if rich:tab has number value name
  • [RF-14044] -         push: error in browser console after push enabled/disabled

       

        Component  Upgrade

  • [RF-14038] -         Upgrade third-party libraries

           

        Enhancement

  • [RF-14023] -         rich:contextMenu - on ajax re-render the destroy function doesn`t clean up properly
  • [RF-14034] -         PageFragments: Implement workaround for contextClick on PhantomJS

   

        Feature Request

  • [RF-6524] -         maxRequestSize for richfile upload should be made configurable per component and not globally.
  • [RF-12395] -         fileUpload validations must be done on client

                                   

        Task

  • [RF-13882] -         Showcase-test failed on phantomJS
  • [RF-14042] -         Create Arquillian profile for WildFly 9

Filter Blog

By date:
By tag: