Changes for page Calendar Application

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

From version 9.5
edited by Silvia Rusu
on 2011/06/20 13:24
Change comment: There is no comment for this version
To version 13.6
edited by Vlad Merticariu
on 2011/06/22 11:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.SilviaRusu
1 +XWiki.vladm
Content
... ... @@ -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**. Similarly to Google Calendar, event recurrence should be customizable
47 +* **Date**: User should be able to mark an event as **recurring**.
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 **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.
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) 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
... ... @@ -103,14 +103,71 @@
103 103  
104 104  == Settings ==
105 105  
106 +=== General ===
106 106  
108 +* Calendar **name**
109 +* **Owner**
110 +* **Description**
111 +* **Location**
112 +
113 +
114 +* Week starts on Sunday/Monday/Saturday
115 +* Show events you have declined: Yes/No
116 +* Automatically add invitations to my calendar: Yes/No
117 +
118 +=== Privacy ===
119 +
120 +**Privacy settings for calendar**
121 +The calendar can be:
122 +
123 +* Public
124 +* Visible for specific wiki users -> Share calendar
125 +* Private
126 +
127 +**Default privacy settings for events**
128 +Events can be
129 +
130 +* Public: visible to everyone specified in the calendar settings
131 +* Private: visible only to the event creator
132 +
133 +=== Notifications ===
134 +
135 +A calendar owner may choose to receive notifications for:
136 +
137 +|=Events he is invited to |=Events he owns
138 +|(((
139 +* New invitations
140 +* Changed invitations
141 +* Canceled invitations
142 +* Invitation replies
143 +)))|(((
144 +* RSVPs from guests (attending, canceling presence)
145 +* Attachments being added
146 +* Comments being added
147 +)))
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
150 +
151 +== Search ==
152 +
153 +The "View event list" livetable can be used to filter events by date, location, and even to do searches within the event descriptions.
154 +
107 107  == Suggestions ==
108 108  
109 109  * Ability to print calendar
110 110  * Keyboard shortcuts
111 111  * Tips or link to documentation
160 +* Notifications by SMS could be interesting
112 112  * Gadget integration
113 113  
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 +
114 114  = Technicalities =
115 115  
116 116  The event-calendar part of the application will be implemented in the following way:
... ... @@ -121,24 +121,36 @@
121 121  
122 122  Event class properties:
123 123  
124 -* title (Title: text): // the title of the event//
125 -* description (Description: text): // a short description of the event//
126 -* location (Location: text): // the location where the event will take place//
181 +* name (Name: text): // the title of the event//
127 127  * startDate (Start date: date(dd/MM/yyy)): // the date when the event starts//
128 128  * startTime (Start time: static list): // the hour when the event starts//
129 129  * endDate (End date: date(dd/MM/yyyy)): // the date when the event ends//
130 130  * endTime (End time: static list): //the hour when the event ends//
131 -* category(Category: database list): // the category of the event//
132 -* privacySettings(Privacy: static list): // set the event to be public (visible to everyone) or private (visible only to the user)//
133 -* notifications(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//
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 +* rssNotifications (RSS Notification: bool): // indicates if the creator should receive RSS notifications //
196 +* guestList (Guest List: user list): // the list of users invited to the event, waiting for confirmation//
197 +* confirmedGuests (Attending guests: user list, disabled): // the list of users who have confirmed their attendance to the event//
198 +* declinedGuests (Non-attending guests: user list, disabled): // the list of users who have declined their attendance to the event//
199 +* guestRights (Guests can: static lists): // Indicates if the guests can Modify event, Invite other guests, View guest list //
135 135  
136 136  Calendar class properties:
137 137  
138 -* title (Title: text): // the title of the calendar//
203 +* name (Name: text): // the name of the calendar//
139 139  * description(Description: text): // a short description of the calendar//
140 -* privacySettings(Privacy: static list): // set the calendar to be public(visible to everyone) or private(visisble only to the user)//
205 +* privacy(Privacy: static list): // set the calendar to be public(visible to everyone), visible to specific users or private(visisble only to the user)//
206 +* shareList(Share calendar: user list): // if privacy is set to visible for specific users, this list will contain the users who can view it//
141 141  * owner(Owner: user): // the user who owns the calendar//
208 +* weekStart(Week starts on: static list): // The day when the week starts (Sunday, Monday or Saturday)//
209 +* showDeclinedEvents(Show Events you have declined: bool): // Indicates if events which have been declined should be added to the calendar//
210 +* 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//
142 142  
143 143  Calendar class sheets:
144 144  
... ... @@ -153,3 +153,5 @@
153 153  
154 154  * title(Title: text): // the title of the category//
155 155  * description(Description: text): // a short description of the category//
225 +
226 +