Changes for page Calendar Application
Last modified by Ecaterina Valica on 2014/01/15 13:50
From version 21.1
edited by Vlad Merticariu
on 2011/07/06 17:29
on 2011/07/06 17:29
Change comment:
There is no comment for this version
To version 9.1
edited by Silvia Rusu
on 2011/06/17 17:39
on 2011/06/17 17:39
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 6 removed)
-
Objects (0 modified, 0 added, 2 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. vladm1 +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 documentto generate RSS feed willbe 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,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 -* Eachcalendarisstoredin 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 == ... ... @@ -61,15 +61,15 @@ 61 61 1. Clicking a button which opens a modal window, allowing the user to insert details and save 62 62 1. Filling in a form on the event page. The user enters all the details and, after submission, he is redirected back to the calendar in view mode 63 63 64 -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:44 +Each event must be stored in its own document and should have: 65 65 66 66 * **Name** 67 -* **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 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 -* **Notifications**: Email notifications may be sent to the event creator and the users he selects (10minutes,30minutes,1hour, 1day, 1week)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. 73 73 * **Privacy options**: Default, Private, Public 74 74 * 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 75 75 * **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 ... ... @@ -77,7 +77,6 @@ 77 77 * **Comments**: Users have the ability to comment on an event. An icon will indicate in daily and weekly view modes that the event has comments 78 78 79 79 **More actions:** 80 - 81 81 * **Change owner** 82 82 * **RSVP for guests**: Users who are not event owners, but see an event to which they are invited in a calendar, should be able to click the "RSVP" link and confirm their presence 83 83 * **Delete event** ... ... @@ -84,12 +84,13 @@ 84 84 * **Duplicate event**: Copy an event inside the calendar 85 85 * **Copy event to a different calendar**: Copy an event from the current calendar to a different calendar 86 86 66 + 87 87 == Viewing events == 88 88 89 89 **View calendar:** 90 90 91 91 * Tabbed day, week, month, yearly view 92 -* **Year view**: 72 +* **Year view**: 93 93 ** There should be 12 cells representing the 12 different months 94 94 ** When users click on a month (e.g. //June 2011//) they should be directed to that specific month in the "Month" tab 95 95 ** When users click on a day (e.g. //1//) they should be directed to that specific day in the "Day" tab ... ... @@ -113,87 +113,23 @@ 113 113 ** Events should be displayed chronologically and occupy the number of cells corresponding to the number of hours the event is scheduled to last. An alert icon should be displayed when a notification is set, an attachment icon when an attachment is present, a comment icon when comments have been added. Clicking or hovering (TBD) on the event will bring up a pop-up with more details and links to edit and delete the event 114 114 ** The current day should be highlighted with a distinct color (same as the one used for the other views) 115 115 ** Arrows will be available to go to the previous/next day 116 - 117 117 * **Display events by category**: users can select a category and only events from that category will be displayed in the calendar 118 118 * **Jump to a specific date** 119 119 120 -* *Viewingeventsyou areinvitedtoin your calendar**: Calendarownerswillhaveview rightby defaultfortheirown calendar(space).View rightsshouldalsobegrantedforventsheisinvitedto. This meanshaving view rightsoneventpagesthat are locatedinothercalendars(spaces). Otherrights,such as editandcommentcan also be granted, depending onthe settings establishedbythe theownerwhen creatingthe event.99 +**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) 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? // 123 123 124 124 == Settings == 125 125 126 -=== General === 127 127 128 -* Calendar **name** 129 -* **Owner** 130 -* **Description** 131 -* **Location** 132 - 133 -* Week starts on Sunday/Monday/Saturday ? //should this be done automatically depending on the user's location?// 134 -* Show events you have declined: Yes/No 135 -* Automatically add invitations to my calendar: Yes/No 136 - 137 -=== Privacy === 138 - 139 -**Privacy settings for calendar** 140 -The calendar can be: 141 - 142 -* Public 143 -* Visible for specific wiki users -> Share calendar 144 -* Private 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 -**Default privacy settings for events** 154 -Events can be 155 - 156 -* Public: visible to everyone specified in the calendar settings 157 -* Private: visible only to the event creator 158 - 159 -=== Notifications === 160 - 161 -A calendar owner may choose to receive notifications for: 162 - 163 -|=Events he is invited to |=Events he owns 164 -|((( 165 -* New invitations 166 -* Changed invitations 167 -* Canceled invitations 168 -* Invitation replies 169 -)))|((( 170 -* RSVPs from guests (attending, canceling presence) 171 -* Attachments being added 172 -* Comments being added 173 -))) 174 - 175 -In addition, **reminders** can be **sent by default to the calendar owner** via email: 10 minutes, 30 minutes, 1 hour, 1 day, 1 week 176 - 177 -== Search == 178 - 179 -The "View event list" livetable can be used to filter events by date, location, and even to do searches within the event descriptions. 180 - 181 181 == Suggestions == 182 182 183 183 * Ability to print calendar 184 184 * Keyboard shortcuts 185 185 * Tips or link to documentation 186 -* Notifications by SMS could be interesting 187 187 * Gadget integration 188 188 189 -== Further work == 190 190 191 -* Select language? 192 -* Select from different time zones? 193 -* Select date format? 194 -* Select time format? 195 -* Similarly to Google Calendar, event recurrence should be customizable 196 - 197 197 = Technicalities = 198 198 199 199 The event-calendar part of the application will be implemented in the following way: ... ... @@ -204,42 +204,25 @@ 204 204 205 205 Event class properties: 206 206 207 -* name (Name: text): // the title of the event// 208 -* startDate (Start date: date(dd/MM/yyy)): // the date when the event starts// 209 -* startTime (Start time: static list): // the hour when the event starts// 210 -* endDate (End date: date(dd/MM/yyyy)): // the date when the event ends// 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// 213 -* repeats (Repeats: static list (daily, weekly, monthly, yearly)): // how often the event repeats // 214 -* repeatsUntil (Until: date(dd/MM/yyyy)): // the date when the recursion of the event ends// 123 +* title (Title: text): // the title of the event// 215 215 * description (Description: text): // a short description of the event// 216 216 * location (Location: text): // the location where the event will take place// 217 -* category(Category:databaselist): // thecategoryofthe event//218 -* color (Color: staticlist): // thecolorofthe event//219 -* privacy(Privacy:static list): //settheevent to bedefault, public (visibletoeveryone)or private(visibleonlytotheuser)//220 -* e mailNotifications(EmailNotifications:staticlist): //indicateswhentheremindersforthe eventshould besent to the creator andto the guest list//221 -* guestViewList(Guest View List:databaselist): // the list of users invited to the event,havingview rights,waiting forconfirmation//222 -* guestEditList (GuestEdit List:databaselist): // thelistof usersinvited to the event, having edit rights, waiting for confirmation//223 -* att endingGuests(Attending guests:databaselist): // thelist ofuserswhohaveconfirmedtheir attendance to the event//224 -* nonattendingGuests(Non-attending guests:databaselist): // thelistofusers who havedeclinedtheirattendancetothe event//225 -* notifiedGuests(NotifiedGuests: database list): // the list ofguestswhohavereceivednotificationsabout theireventinvitation//126 +* startDate (Start date: date(dd/MM/yyy)): // the date when the event starts// 127 +* startTime (Start time: time? (HH/mm)): // the hour when the event starts// 128 +* endDate (End date: date(dd/MM/yyyy)): // the date when the event ends// 129 +* endTime (End time: time? (HH/mm)): //the hour when the event ends// 130 +* calendar(Calendar: text): // the calendar to which the event belongs (its space)// 131 +* category(Category: text): // the category of the event// 132 +* privacySettings(Privacy: text): // set the event to be public (visible to everyone) or private (visible only to the user)// 133 +* emailNotifications(Email Notifications: bool): // indicates if the notifications are activated or not// 134 +* userNotifiationList(Users to receive notifications: ?): // the list of users to be notified about the event// 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 -* name (Name: text): // thename of the calendar//138 +* title (Title: text): // the title of the calendar// 236 236 * description(Description: text): // a short description of the calendar// 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 -* shareList(Share calendar: user list): // if privacy is set to visible for specific users, this list will contain the users who can view it// 140 +* privacySettings(Privacy: static list): // set the calendar to be public(visible to everyone) or private(visisble only to the user)// 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?// 241 -* showDeclinedEvents(Show Events you have declined: bool): // Indicates if events which have been declined should be added to the calendar// 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 244 244 Calendar class sheets: 245 245 ... ... @@ -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 -* C reateCalendarEvent: // contains the form for adding new events//148 +* CalendarViewYearSheet? 149 +* 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:
- 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