AjaxifyCalendarStory

Functional specifications

The WebCalendar has to be juicy. To accomplish this we use Ajax. In the POC we determined what we can and can't use.

Technical interpretation

All wicked components have to be Ajaxified. But keep in mind that the Ajax capability has to be switchable!

Components to be ajaxified:
  • Calendar views
    • CalendarDayViewPanel
    • CalendarWeekViewPanel (This panel is also the panel to show the next X days)
      • See above
    • CalendarMonthViewPanel - differs from the other views in that the events are not resizable and dropping them on another day doesn't change their start/end time
      • Events must be draggeable.
      • Days are to be replaced with dropzones
      • Links to the EventAddEditPanel should open a ModalWidow. See the CalendarDayViewPanel above.
      • When selecting multiple days a recurring event should be created.
  • Switch panels
    • DatepickerPanel
      • An ajax variant is created and integrated with wicket with yui calendar widget in a poc. An alternative is the standard wicket calendar widget (see the form example), but this behaves as a popup.
    • DateSwitcherPanel
      • All links have to be replaced with AjaxLinks
      • The Models have to be checked to see if they will be refreshed at the right moment.
  • Tabbed panels
    • SettingsPanelsPanel
      • The TabbedPanel is to be replaced with a AjaxTabbedPanel.
    • CalendarViewsPanel
      • The TabbedPanel is to be replaced with a AjaxTabbedPanel.
  • Form panels
    • CalendarAddEditPanel
      • Ajax/Javascript validation on the input fields
      • The username/password fields should be invisible untill the user clicks on some sort of authentication link.
    • EventAddEditPanel
      • Ajax/Javascript validation on the input fields
      • Allday link should be an AjaxLink
      • Recurrence fields should be hidden until the user clicks on a link to show them.
  • List Panels
    • CalendarListPanel
      • Links should be replaced with AjaxLinks
      • Enable/Disable should only update the view
      • A context menu should be shown with the following options:
        • Create an event on this calendar
        • Set the color for this calendar
        • Display only this calendar
    • SettingsCalendarListPanel
      • Links should be replaced with AjaxLinks
  • Other
    • EditAllOrOneEventDecisionPanel
      • Should be a popup or ModalWindow (Same window as the EventDetailsViewPanel and the EventAddEditPanel)
    • EventDetailsViewPanel
      • Should be a popup or ModalWindow (Same window as the EditAllOrOneEventDecisionPanel and the EventAddEditPanel)
      • Links should be replaced with AjaxLinks
    • HeaderPanel
      • Links should be replaced with AjaxLinks
    • CalendarSettingsPanel
      • Links should be replaced with AjaxLinks


-- IvoVanDongen - 10 Dec 2006

Budget/Hours

See discussion.

task hours todo spend developer
BugFixing 20 12 8 Jochem & Paul
CalendarDayViewPanel 24 12 15 Jochem
CalendarWeekViewPanel 24 24 0  
CalendarMonthViewPanel 24 24 0  
DatepickerPanel 8 0 10 Paul, Ivo
!DateSwitcherPanel 8 0 3 Ivo
CalendarViewsPanel 2 0 1 Paul
SettingsPanelsPanel 2 0 1 Paul
CalendarAddEditPanel 16 0 10 Ivo
EventAddEditPanel 16 16 0  
CalendarListPanel 16 15 1 Paul
SettingsCalendarListPanel 4 0 4 Ivo
EditAllOrOneEventDecisionPanel 2 2 0  
EventDetailsViewPanel 2 1 4 Paul
HeaderPanel 2 0 3 Ivo
CalendarSettingsPanel 2 0 2 Ivo
Total 172 106 62 0

Discussion

  • Because the POC is not done yet we don't know which juicy details we can use. So we can't specify the hours at this point. (21 Sep 2006)
  • This story might have an effect on the plugin framework as well. Perhaps a plugin should be able to specify when it needs to be updated so that it can be attached to the rigth AjaxRequestTargets.

-- JochemKolthof - 21 Sep 2006

Topic revision: r17 - 20 Jan 2007 - 14:03:27 - JochemKolthof
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback