Changes for page Calendar Application

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

From version 1.1
edited by Oana Tabaranu
on 2011/06/16 11:29
Change comment: There is no comment for this version
To version 4.1
edited by Oana Tabaranu
on 2011/06/16 12:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,1 +1,61 @@
1 -\\
1 +{{toc/}}
2 +==Main objective==
3 +
4 +This application aims to allow end users to create calendars for which they can define and manage events.
5 +
6 +
7 +==Description==
8 +
9 +The functionality of the application is similar to Google Calendar.
10 +The user defines event objects for a specific calendar and the events are visible in different views (day/week/month/year?).
11 +
12 +==Technicalities==
13 +
14 +The event-calendar part of the application will be implemented in the following way:
15 +* 2 classes will be used: EventClass and CalendarClass
16 +* an event represents a document with an object of EventClass attached
17 +* a calendar represents a document with an object of CalendarClass attached. When a calendar is added, a space is also created. This space will contain the calendar document and the event documents associated with the calendar.
18 +
19 +Event class properties:
20 +* title (Title: text): // the title of the event
21 +* description (Description: text): // a short description of the event
22 +* location (Location: text): // the location where the event will take place
23 +* startDate (Start date: date(dd/MM/yyy)): // the date when the event starts
24 +* startTime (Start time: time? (HH/mm)): // the hour when the event starts
25 +* endDate (End date: date(dd/MM/yyyy)): // the date when the event ends
26 +* endTime (End time: time? (HH/mm)): //the hour when the event ends
27 +* calendar(Calendar: text): // the calendar to which the event belongs (its space)
28 +* category(Category: text): // the category of the event
29 +* privacySettings(Privacy Settings: text): // set the event to be public (visible to everyone) or private (visible only to the user)
30 +* emailNotifications(Email Notifications: bool): // indicates if the notifications are activated or not
31 +* userNotifiationList(Users to receive notifications: ?): // the list of users to be notified about the event
32 +
33 +Calendar class properties:
34 +* title (Title: text): // the title of the calendar
35 +* description(Description: text): // a short description of the calendar
36 +
37 +Calendar class sheets:
38 +* CalendarViewDaySheet: // contains the display of the calendar table in "day" view
39 +* CalendarViewWeekSheet: // contains the display of the calendar table in "week" view
40 +* CalendarViewMonthSheet: // contains the display of the calendar table in "month" view
41 +* CalendarViewYearSheet?
42 +* CalendarFormSheet: // contains the form for adding new events
43 +* CalendarEventListSheet: // contains the list of events for the specific calendar, with edit and delete links if the user has editing rights
44 +
45 +Category class properties:
46 +* title(Title: text): // the title of the category
47 +* description(Description: text): // a short description of the category
48 +
49 +==Functionality==
50 +
51 +* Add events: // 1. Button which opens a modal window, allowing the user to insert details and save || 2. Complete form on the page. The users enters all the details and, after submission, he is redirected back to the calendar in view mode
52 +* 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)
53 +* Import/export: // tbd
54 +* Microformats support: // tbd
55 +* 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
56 +* RSS notifications: // tbd
57 +* Email notifications: // emails with information about the event are sent to the calendar creator and to the selected users (when?)
58 +* 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
59 +* Privacy settings on calendar
60 +* Display events on categories: // the viewer can select a category and only events from that category will be displayed in the calendar event
61 +* Event details on hover: // when the user moves the mouse over an event in the calendar table details about the event (startin&ending time, location, description) are displayed