Changes for page Calendar Application

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

From version 20.3
edited by Vlad Merticariu
on 2011/07/06 17:28
Change comment: There is no comment for this version
To version 13.7
edited by Vlad Merticariu
on 2011/06/22 12:06
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -30,28 +30,8 @@
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 -= 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**
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
... ... @@ -119,7 +119,7 @@
119 119  
120 120  * **Viewing events you are invited to in your calendar**: Calendar owners will have view right by default for their own calendar (space). View rights should also be granted for events he is invited to. This means having view rights on event pages that are located in other calendars (spaces). Other rights, such as edit and comment can also be granted, depending on the settings established by the the owner when creating the event.
121 121  
122 -**View event list:** A page (modal window) with the list of all the events in the calendar is displayed, using LiveTable, were the user can filter and edit/delete events (if he has the right to do it, additional view to administrate events) // ? Do we need this once the events can be viewed in calendar table? //
102 +**View event list:** A page (modal window) with the list of all the events in the calendar is displayed, using LiveTable, were the user can filter and edit/delete events (if he has the right to do it, additional view to administrate events)
123 123  
124 124  == Settings ==
125 125  
... ... @@ -130,7 +130,8 @@
130 130  * **Description**
131 131  * **Location**
132 132  
133 -* Week starts on Sunday/Monday/Saturday ? //should this be done automatically depending on the user's location?//
113 +
114 +* Week starts on Sunday/Monday/Saturday
134 134  * Show events you have declined: Yes/No
135 135  * Automatically add invitations to my calendar: Yes/No
136 136  
... ... @@ -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?
... ... @@ -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//
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
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 //
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 //
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//
... ... @@ -237,7 +237,7 @@
237 237  * privacy(Privacy: static list): // set the calendar to be public(visible to everyone), visible to specific users or private(visisble only to the user)//
238 238  * shareList(Share calendar: user list): // if privacy is set to visible for specific users, this list will contain the users who can view it//
239 239  * owner(Owner: user): // the user who owns the calendar//
240 -* 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?//
207 +* weekStart(Week starts on: static list): // The day when the week starts (Sunday, Monday or Saturday)//
241 241  * showDeclinedEvents(Show Events you have declined: bool): // Indicates if events which have been declined should be added to the calendar//
242 242  * 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//
243 243  
... ... @@ -246,8 +246,8 @@
246 246  * CalendarViewDaySheet: // contains the display of the calendar table in "day" view//
247 247  * CalendarViewWeekSheet: // contains the display of the calendar table in "week" view//
248 248  * CalendarViewMonthSheet: // contains the display of the calendar table in "month" view//
249 -* CalendarViewYearSheet: // contains the display of the calendar table in "year" view//
250 -* CreateCalendarEvent: // contains the form for adding new events//
216 +* CalendarViewYearSheet?
217 +* CalendarFormSheet: // contains the form for adding new events//
251 251  * CalendarEventListSheet: // contains the list of events for the specific calendar, with edit and delete links if the user has editing rights//
252 252  
253 253  Category class properties:
... ... @@ -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//
224 +
225 +
actions.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -70.2 KB
Content
addMenu.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -18.1 KB
Content
eventFields.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -73.9 KB
Content
monthView.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -87.5 KB
Content
weekView.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -62.2 KB
Content
yearView.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.evalica
Size
... ... @@ -1,1 +1,0 @@
1 -75.8 KB
Content
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.0
XWiki.XWikiComments[1]
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.Enygma
Comment
... ... @@ -1,7 +1,0 @@
1 -I agree with this.
2 -
3 -We should have a 2 views:
4 -1. Individual calendar view, that should be available on each calendar's space WebHome
5 -2. Aggregated calendar view for all the calendars and events that are visible to the current user. This could be a new tab in the user's profile (harder for an application to extend right now) or, alternatively, in the Calendar application's space WebHome (easier and makes the Calendar application space useful).
6 -
7 -The event livetable might be useful for an 'advanced search' functionality, allowing to filter events nicely.
Date
... ... @@ -1,1 +1,0 @@
1 -2011-06-22 12:35:20.0
Reply To
... ... @@ -1,1 +1,0 @@
1 -0