Changes for page Calendar Application

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

From version 24.3
edited by Thomas Mortagne
on 2012/03/23 17:36
Change comment: Deleted object
To version 17.1
edited by Vlad Merticariu
on 2011/06/22 15:36
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.ThomasMortagne
1 +XWiki.vladm
Content
... ... @@ -32,26 +32,6 @@
32 32  * Each event must be stored in its own document
33 33  * Each calendar is stored in its own space (only 1 calendar/space)
34 34  
35 -= Alternatives =
36 -
37 -**Calendar aggregator**
38 -
39 -The WebHome of the application is an aggregated calendar which displays the events from all the calendars of a user.
40 -The user creates several calendars (e.g. Personal, Work) which can be visualized both individually and together, on the main page of the application.
41 -This is very similar to Google Calendar, following the same approach. The main advantage of this is the ease of interaction between users' calendars (e.g. sharing a calendar with another user means displaying the specific calendar among his own calendars, inside the WebHome).
42 -
43 -
44 -**Individual calendars with categories**
45 -
46 -The users creates calendars which are individual entities and each event is assigned a category when added.
47 -When the user is invited to other events he can choose to view those events in one or more of his calendars while when another user shares a calendar with him he can only view that calendar, on a separate page.
48 -The current technicalities are meant for this alternative.
49 -
50 -**Unique calendar/user**
51 -
52 -Every user has only one calendar. Events can be categorized just as above.
53 -For sharing the user has 2 options: share the entire calendar or share a category, which, as functionality, makes it similar to the Calendar aggregator alternative.
54 -
55 55  = Detailed Functionality =
56 56  
57 57  == Adding events ==
... ... @@ -67,7 +67,7 @@
67 67  * **Date**: User should be able to mark an event as **recurring**.
68 68  * **Location**: Link to Google Maps
69 69  * **Description**
70 -* **Category** (e.g. Personal, Work)
50 +* **Category** : //? Do we need this once a user can have multiple calendars? //
71 71  * **Color**: The event will have a default color and event creators may select a different color for the new event from a given list
72 72  * **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)
73 73  * **Privacy options**: Default, Private, Public
... ... @@ -130,6 +130,7 @@
130 130  * **Description**
131 131  * **Location**
132 132  
113 +
133 133  * Week starts on Sunday/Monday/Saturday ? //should this be done automatically depending on the user's location?//
134 134  * Show events you have declined: Yes/No
135 135  * Automatically add invitations to my calendar: Yes/No
... ... @@ -143,13 +143,6 @@
143 143  * Visible for specific wiki users -> Share calendar
144 144  * Private
145 145  
146 -**Privacy settings for the categories**
147 -Each category can be:
148 -
149 -* Public
150 -* Visible for specific wiki users -> Share category
151 -* Private
152 -
153 153  **Default privacy settings for events**
154 154  Events can be
155 155  
... ... @@ -186,7 +186,7 @@
186 186  * Notifications by SMS could be interesting
187 187  * Gadget integration
188 188  
189 -== Further work ==
163 +==Further work==
190 190  
191 191  * Select language?
192 192  * Select from different time zones?
... ... @@ -194,6 +194,20 @@
194 194  * Select time format?
195 195  * Similarly to Google Calendar, event recurrence should be customizable
196 196  
171 += Alternatives =
172 +
173 +**Calendar aggregator**
174 +
175 +The WebHome of the application is an aggregated calendar which displays the events from all the calendars of a user.
176 +The user creates several calendars (e.g. Personal, Work) which can be visualized both individually and together, on the main page of the application.
177 +This is very similar to Google Calendar, following the same approach. The main advantage of this is the ease of interaction between users' calendars (e.g. sharing a calendar with another user means displaying the specific calendar among his own calendars, inside the WebHome).
178 +
179 +
180 +**Individual calendars with categories**
181 +
182 +The users creates calendars which are individual entities and each event is assigned a category when added.
183 +When the user is invited to other events he can choose to view those events in one or more of his calendars while when another user shares a calendar with him he can only view that calendar, on a separate page.
184 +
197 197  = Technicalities =
198 198  
199 199  The event-calendar part of the application will be implemented in the following way:
... ... @@ -209,7 +209,7 @@
209 209  * startTime (Start time: static list): // the hour when the event starts//
210 210  * endDate (End date: date(dd/MM/yyyy)): // the date when the event ends//
211 211  * endTime (End time: static list): //the hour when the event ends//
212 -* 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//
200 +* 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
213 213  * repeats (Repeats: static list (daily, weekly, monthly, yearly)): // how often the event repeats //
214 214  * repeatsUntil (Until: date(dd/MM/yyyy)): // the date when the recursion of the event ends//
215 215  * description (Description: text): // a short description of the event//
... ... @@ -218,18 +218,11 @@
218 218  * color (Color: static list): // the color of the event//
219 219  * privacy(Privacy: static list): // set the event to be default, public (visible to everyone) or private (visible only to the user)//
220 220  * emailNotifications (Email Notifications: static list): // indicates when the reminders for the event should be sent to the creator and to the guest list//
221 -* guestViewList (Guest View List: database list): // the list of users invited to the event, having view rights, waiting for confirmation//
222 -* guestEditList (Guest Edit List: database list): // the list of users invited to the event, having edit rights, waiting for confirmation//
223 -* attendingGuests (Attending guests: database list): // the list of users who have confirmed their attendance to the event//
224 -* nonattendingGuests (Non-attending guests: database list): // the list of users who have declined their attendance to the event//
225 -* notifiedGuests (Notified Guests: database list): // the list of guests who have received notifications about their event invitation //
209 +* guestList (Guest List: user list): // the list of users invited to the event, waiting for confirmation//
210 +* confirmedGuests (Attending guests: user list, disabled): // the list of users who have confirmed their attendance to the event//
211 +* declinedGuests (Non-attending guests: user list, disabled): // the list of users who have declined their attendance to the event//
212 +* guestRights (Guests can: static lists): // Indicates if the guests can Modify event, Invite other guests, View guest list //
226 226  
227 -XWikiRights objects will be added to event documents in the following way:
228 -
229 -* default events: //**edit** object for guestEditList and owner, **delete** object for owner//
230 -* public events: //**view** object for XWikiAll group, **edit** object for guestEditList and owner, **delete** object for owner//
231 -* private events: //**view** object for guestEditList, guestViewList and owner, **edit** object for guestEditList and owner, **delete** object for owner//
232 -
233 233  Calendar class properties:
234 234  
235 235  * name (Name: text): // the name of the calendar//
... ... @@ -254,3 +254,5 @@
254 254  
255 255  * title(Title: text): // the title of the category//
256 256  * description(Description: text): // a short description of the category//
238 +
239 +