Calendar Migration to RichFaces 4

M4 planning

Overview

This document will describe the migration of calendar component.

information from 3.3.x:

 

references:

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_calendar.html

 

tld:

http://docs.jboss.org/richfaces/latest_3_3_X/en/tlddoc/rich/calendar.html

 

svn

 

 

Related requests and jiras:

list of jira's

 

High Level Overview of the features for first release

At first need to mention that we planning to move without changes almost all the functionality. All the RFC's(features not present in 3.3) listed in jira most likelly will be postponed. And one point - macrosubstitutions will be excluded. From all other points of view - we will have the same impl.

 

That section briefly lists all the features which should present in base impl:

  • Popup/inline modes
  • Month markup should be still based on client templates
  • All 3.3.3 attributes-based presentation customization
  • All the converters supported in 3.3.3
  • ajax/client month's switching mode (See note)
  • Minimal model support in ajax mode. Including two properties for every CalendarDataModelItemImpl. Minimal support - because the macrosubstitution customization excluded from first version for all the components which used it in 3.3.
    • isDisabled
    • styleClass
  • Client-side customization using custom script functions.

 

Note: Ajax mode/Minimal Model impl's - not estimated during Server Side functionality estimations. So it will be implemented last if will fit the timing.

 

 

Not implemented in M4

 

  • Client markup still based on client templates. But server side code related to support of macrosubstitutions should not be migrated. We will discuss that customization additionally after Final and add for all related components(tooltip, FileUpload, progressBar, DnDIndicator).
  • dataModel not supported
  • ajax mode postponed
  • disabled not working (could be fixed but depends on timing)
  • event handlers - to be revised in M5. currently not working.

Tracked there

 

M5 Tasks planning

https://jira.jboss.org/browse/RF-9675 - umbrella task for M5.

High level tasks for M5

  • disabled state correction. (implemented but not works properly).
    • attribute name should be disabled
    • disabled representation to be added
      • for popup input and disabled button with special icon
      • for inline - the same calendar as for enabled but without controls and selection possibility.
  • Positioning customization.
    • offcets, jointpoint, direction to be reviewed and corrected/implemented.
  • simple dataModel support
      • getStyleClass and isDisabled should be implemented at model for dateItem
      • preload dates support in client mode
      • all the other methods from 3.3.x should be present on interface but just documented as not supported.
    • Ajax month scrolling
    • Review and implementation of client side events
      • in 3.3.x we had bunch of events which were added because of late features addition. Should be revised if all of them still needed and event rising should be corrected in some cases(e.g. ondateselected fired before actual selection in case time in pattern)
      • Behaviors support
    • Localization of labels
      • bundles - as for 3.3.x

    To be added if fit the time

     

    Postpone from M5

    Here are list of requests from 3.3.x which we still want to add to calendar in RF 4 but probably should postpone from M5/final