Changes for page Calendar Application

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

From version 9.2
edited by Silvia Rusu
on 2011/06/17 17:39
Change comment: There is no comment for this version
To version 13.1
edited by Vlad Merticariu
on 2011/06/22 09:52
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
... ... @@ -41,7 +41,7 @@
41 41  1. Clicking a button which opens a modal window, allowing the user to insert details and save
42 42  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
43 43  
44 -Each event must be stored in its own document and should have:
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 47  * **Date**: User should be able to mark an event as **recurring**. Similarly to Google Calendar, event recurrence should be customizable
... ... @@ -97,18 +97,76 @@
97 97  * **Display events by category**: users can select a category and only events from that category will be displayed in the calendar
98 98  * **Jump to a specific date**
99 99  
100 +* **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.
101 +
100 100  **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)
101 101  
102 102  == Settings ==
103 103  
106 +=== General ===
104 104  
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 +
105 105  == Suggestions ==
106 106  
107 107  * Ability to print calendar
108 108  * Keyboard shortcuts
109 109  * Tips or link to documentation
160 +* Notifications by SMS could be interesting
110 110  * Gadget integration
111 111  
163 +==Further work==
164 +
165 +* Select language?
166 +* Select from different time zones?
167 +* Select date format?
168 +* Select time format?
169 +
112 112  = Technicalities =
113 113  
114 114  The event-calendar part of the application will be implemented in the following way:
... ... @@ -123,13 +123,12 @@
123 123  * description (Description: text): // a short description of the event//
124 124  * location (Location: text): // the location where the event will take place//
125 125  * startDate (Start date: date(dd/MM/yyy)): // the date when the event starts//
126 -* startTime (Start time: time? (HH/mm)): // the hour when the event starts//
184 +* startTime (Start time: static list): // the hour when the event starts//
127 127  * endDate (End date: date(dd/MM/yyyy)): // the date when the event ends//
128 -* endTime (End time: time? (HH/mm)): //the hour when the event ends//
129 -* calendar(Calendar: text): // the calendar to which the event belongs (its space)//
130 -* category(Category: text): // the category of the event//
131 -* privacySettings(Privacy: text): // set the event to be public (visible to everyone) or private (visible only to the user)//
132 -* emailNotifications(Email Notifications: bool): // indicates if the notifications are activated or not//
186 +* endTime (End time: static list): //the hour when the event ends//
187 +* category(Category: database list): // the category of the event//
188 +* privacySettings(Privacy: static list): // set the event to be public (visible to everyone) or private (visible only to the user)//
189 +* notifications(notifications: bool): // indicates if the notifications are activated or not//
133 133  * userNotifiationList(Users to receive notifications: ?): // the list of users to be notified about the event//
134 134  
135 135  Calendar class properties:
... ... @@ -152,3 +152,5 @@
152 152  
153 153  * title(Title: text): // the title of the category//
154 154  * description(Description: text): // a short description of the category//
212 +
213 +