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)
- 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