Changes for page Calendar Application

Last modified by Ecaterina Valica on 2014/01/15 13:50

From version 14.2
edited by Ecaterina Valica
on 2011/06/22 13:59
Change comment: Added comment
To version 12.1
edited by Silvia Rusu
on 2011/06/20 14:32
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.evalica
1 +XWiki.SilviaRusu
Content
... ... @@ -17,7 +17,7 @@
17 17  * Import/export: // tbd - ical feeds //
18 18  * Microformats support: // tbd//
19 19  * JS drag & drop on the calendar table for changing the dates/hours of the events ?: // an event can be dragged from one slot of the calendar table to another slot//
20 -* RSS notifications: // a document to generate RSS feed will be created//
20 +* RSS notifications: // tbd//
21 21  * Email notifications: // emails with information about the event are sent to the calendar creator and to the selected users (when?)//
22 22  * Privacy settings on events: // events can be public or private, public events are visible to everyone, private events are visible only to the calendar creator//
23 23  * Privacy settings on calendar
... ... @@ -30,7 +30,7 @@
30 30  * Daily view of the calendar, listing all the events in that day
31 31  * Have an API for accessing events
32 32  * Each event must be stored in its own document
33 -* Each calendar is stored in its own space (only 1 calendar/space)
33 +* Have different calendars for each space
34 34  
35 35  = Detailed Functionality =
36 36  
... ... @@ -44,12 +44,12 @@
44 44  Each calendar will be stored in a space. A space can only contain one calendar. Each event must be stored in its own document and should have:
45 45  
46 46  * **Name**
47 -* **Date**: User should be able to mark an event as **recurring**.
47 +* **Date**: User should be able to mark an event as **recurring**. Similarly to Google Calendar, event recurrence should be customizable
48 48  * **Location**: Link to Google Maps
49 49  * **Description**
50 50  * **Category**
51 51  * **Color**: The event will have a default color and event creators may select a different color for the new event from a given list
52 -* **Notifications**: Email notifications may be sent to the event creator and the users he selects (10 minutes, 30 minutes, 1 hour, 1 day, 1 week)
52 +* **Notifications**: Email notifications may be sent to the event creator and the users he selects **n** minutes/hours/days/weeks before the event (n = a number the event creator fills in; minutes/hours/days/weeks are options in a drop-down). The event creator can also choose to be notified via RSS about event changes.
53 53  * **Privacy options**: Default, Private, Public
54 54  * The possibility to **add guests**. Guests can appear in the form of wiki users or email addresses. Suggestions should be available if the event creator starts typing in a user's name. Guests will be notified by email they have been invited to the event and they should be able to RSVP (confirm their presence) via email
55 55  * **Set rights for guests**. The event creator can grant users one, some or all of the following rights: modify the event, invite other guests to the event, see the guest list
... ... @@ -110,8 +110,12 @@
110 110  * **Description**
111 111  * **Location**
112 112  
113 +* Select language?
114 +* Select from different time zones?
115 +* Select date format?
116 +* Select time format?
113 113  
114 -* Week starts on Sunday/Monday/Saturday ? //should this be done automatically depending on the user's location?//
118 +* Week starts on Sunday/Monday/Saturday
115 115  * Show events you have declined: Yes/No
116 116  * Automatically add invitations to my calendar: Yes/No
117 117  
... ... @@ -146,7 +146,7 @@
146 146  * Comments being added
147 147  )))
148 148  
149 -In addition, **reminders** can be **sent by default to the calendar owner** via email: 10 minutes, 30 minutes, 1 hour, 1 day, 1 week
153 +In addition, **reminders** can be **sent by default to the calendar owner** via email **n** minutes/hours/days/weeks before the event (n = a number the calendar owner fills in; minutes/hours/days/weeks are options in a drop-down).
150 150  
151 151  == Search ==
152 152  
... ... @@ -160,14 +160,6 @@
160 160  * Notifications by SMS could be interesting
161 161  * Gadget integration
162 162  
163 -==Further work==
164 -
165 -* Select language?
166 -* Select from different time zones?
167 -* Select date format?
168 -* Select time format?
169 -* Similarly to Google Calendar, event recurrence should be customizable
170 -
171 171  = Technicalities =
172 172  
173 173  The event-calendar part of the application will be implemented in the following way:
... ... @@ -178,35 +178,24 @@
178 178  
179 179  Event class properties:
180 180  
181 -* name (Name: text): // the title of the event//
177 +* title (Title: text): // the title of the event//
178 +* description (Description: text): // a short description of the event//
179 +* location (Location: text): // the location where the event will take place//
182 182  * startDate (Start date: date(dd/MM/yyy)): // the date when the event starts//
183 183  * startTime (Start time: static list): // the hour when the event starts//
184 184  * endDate (End date: date(dd/MM/yyyy)): // the date when the event ends//
185 185  * endTime (End time: static list): //the hour when the event ends//
186 -* allDay (All day: bool): //checkbox which indicates that startTime is 00:00 of the startDate and endTime is 00:00 of the day after endDate
187 -* repeats (Repeats: static list (daily, weekly, monthly, yearly)): // how often the event repeats //
188 -* repeatsUntil (Until: date(dd/MM/yyyy)): // the date when the recursion of the event ends//
189 -* description (Description: text): // a short description of the event//
190 -* location (Location: text): // the location where the event will take place//
191 -* category (Category: database list): // the category of the event//
192 -* color (Color: static list): // the color of the event//
193 -* privacy(Privacy: static list): // set the event to be default, public (visible to everyone) or private (visible only to the user)//
194 -* emailNotifications (Email Notifications: static list): // indicates when the reminders for the event should be sent to the creator and to the guest list//
195 -* guestList (Guest List: user list): // the list of users invited to the event, waiting for confirmation//
196 -* confirmedGuests (Attending guests: user list, disabled): // the list of users who have confirmed their attendance to the event//
197 -* declinedGuests (Non-attending guests: user list, disabled): // the list of users who have declined their attendance to the event//
198 -* guestRights (Guests can: static lists): // Indicates if the guests can Modify event, Invite other guests, View guest list //
184 +* category(Category: database list): // the category of the event//
185 +* privacySettings(Privacy: static list): // set the event to be public (visible to everyone) or private (visible only to the user)//
186 +* notifications(notifications: bool): // indicates if the notifications are activated or not//
187 +* userNotifiationList(Users to receive notifications: ?): // the list of users to be notified about the event//
199 199  
200 200  Calendar class properties:
201 201  
202 -* name (Name: text): // the name of the calendar//
191 +* title (Title: text): // the title of the calendar//
203 203  * description(Description: text): // a short description of the calendar//
204 -* privacy(Privacy: static list): // set the calendar to be public(visible to everyone), visible to specific users or private(visisble only to the user)//
205 -* shareList(Share calendar: user list): // if privacy is set to visible for specific users, this list will contain the users who can view it//
193 +* privacySettings(Privacy: static list): // set the calendar to be public(visible to everyone) or private(visisble only to the user)//
206 206  * owner(Owner: user): // the user who owns the calendar//
207 -* weekStart(Week starts on: static list): // The day when the week starts (Sunday, Monday or Saturday) ? should this be done automatically depending on the user's location?//
208 -* showDeclinedEvents(Show Events you have declined: bool): // Indicates if events which have been declined should be added to the calendar//
209 -* addInvitations(Automatically add invitations to the calendar: bool): // Indicates if the events to which the user has been invited should be added to the calendar//
210 210  
211 211  Calendar class sheets:
212 212  
... ... @@ -213,8 +213,8 @@
213 213  * CalendarViewDaySheet: // contains the display of the calendar table in "day" view//
214 214  * CalendarViewWeekSheet: // contains the display of the calendar table in "week" view//
215 215  * CalendarViewMonthSheet: // contains the display of the calendar table in "month" view//
216 -* CalendarViewYearSheet: // contains the display of the calendar table in "year" view//
217 -* CreateCalendarEvent: // contains the form for adding new events//
201 +* CalendarViewYearSheet?
202 +* CalendarFormSheet: // contains the form for adding new events//
218 218  * CalendarEventListSheet: // contains the list of events for the specific calendar, with edit and delete links if the user has editing rights//
219 219  
220 220  Category class properties:
... ... @@ -221,5 +221,3 @@
221 221  
222 222  * title(Title: text): // the title of the category//
223 223  * description(Description: text): // a short description of the category//
224 -
225 -
XWiki.XWikiComments[0]
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Comment
... ... @@ -1,3 +1,0 @@
1 -I don't think we will need a livetable to list all the events since you can see/delete/edit all events in the year/month/week views. The calendar events are much powerful when they are in a timeline than seeing them in a list.
2 -
3 -Also I don't think is necessary the concept of categories when you can have multiple calendars. Right now in Google Calendar you can create multiple calendars and attribute each calendar a goal (have a personal one, a xwiki one, a birthday, etc). In this use case the concept of categories is replaced by multiple calendars.
Date
... ... @@ -1,1 +1,0 @@
1 -2011-06-22 11:59:17.410