aboutsummaryrefslogtreecommitdiffstats
path: root/doc/white-papers/calendar
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@helixcode.com>2000-02-28 13:20:23 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2000-02-28 13:20:23 +0800
commit181979b2b9889a073c9ffb1aa8b4f774af62560f (patch)
tree4b2368e01b2c3f88efae5f88520cd958198f5a38 /doc/white-papers/calendar
parent139df8a8f32364d73cb6c612dbf74fd77f45882f (diff)
downloadgsoc2013-evolution-181979b2b9889a073c9ffb1aa8b4f774af62560f.tar.gz
gsoc2013-evolution-181979b2b9889a073c9ffb1aa8b4f774af62560f.tar.zst
gsoc2013-evolution-181979b2b9889a073c9ffb1aa8b4f774af62560f.zip
Section for the personal calendar server.
2000-02-28 Federico Mena Quintero <federico@helixcode.com> * calendar.sgml: Section for the personal calendar server. svn path=/trunk/; revision=1970
Diffstat (limited to 'doc/white-papers/calendar')
-rw-r--r--doc/white-papers/calendar/ChangeLog4
-rw-r--r--doc/white-papers/calendar/calendar.sgml102
2 files changed, 103 insertions, 3 deletions
diff --git a/doc/white-papers/calendar/ChangeLog b/doc/white-papers/calendar/ChangeLog
index 819f68905c..47b3e30c41 100644
--- a/doc/white-papers/calendar/ChangeLog
+++ b/doc/white-papers/calendar/ChangeLog
@@ -1,3 +1,7 @@
+2000-02-28 Federico Mena Quintero <federico@helixcode.com>
+
+ * calendar.sgml: Section for the personal calendar server.
+
2000-02-25 Federico Mena Quintero <federico@helixcode.com>
* calendar.sgml: New file for the Evolution calendaring white paper.
diff --git a/doc/white-papers/calendar/calendar.sgml b/doc/white-papers/calendar/calendar.sgml
index a8c8e53ee6..6d6cb7da5e 100644
--- a/doc/white-papers/calendar/calendar.sgml
+++ b/doc/white-papers/calendar/calendar.sgml
@@ -1,5 +1,7 @@
<!doctype article PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
-<!entity Evolution "<productname>Evolution</productname>">
+<!entity Evolution "<application>Evolution</application>">
+<!entity CUA "<acronym>CUA</acronym>">
+<!entity PCS "<acronym>PCS</acronym>">
]>
<article class="whitepaper" id="calendar">
@@ -41,9 +43,103 @@
<title>Introduction</title>
<para>
+ Calendaring is an important part of a groupware suite. A
+ calendaring framework will allow a user to keep a personal
+ calendar and have several applications use it. Such
+ applications could be a graphical calendar client that the user
+ employs to schedule appointments and keep track of his time, a
+ <productname>Palm Pilot</productname> synchronization client, or
+ a simple alarm or reminder utility. A comprehensive calendaring
+ framework will also allow multiple users to schedule
+ appointments between each other; for example, a project director
+ may want to schedule a weekly meeting with the rest of the
+ project members, or a person who owns a large house may want to
+ schedule a big party with his friends. The attendees will then
+ want to reply with messages such as, &ldquo;I will
+ attend&rdquo;, or &ldquo;I will attend only if the proposed time
+ is changed&rdquo;.
+ </para>
+
+ <para>
The &Evolution; groupware suite provides a framework for
- developing calendaring applications. This includes handling of
- appointments, &ldquo;to do&rdquo; lists, and journal entries.
+ developing calendaring applications, as well as a graphical
+ calendar client or calendar user agent (&CUA;) and a personal
+ calendar server (&PCS;).
+ </para>
+
+ <para>
+ The following sections explain the basic calendaring framework,
+ the functions of the calendar user agent and the personal
+ calendar server, and the relationship between the two.
+ </para>
+ </sect1>
+
+ <!-- Personal Calendar Server -->
+
+ <sect1 id="pcs">
+ <title>Personal Calendar Server</title>
+
+ <para>
+ The personal calendar server (&PCS;) provides centralized
+ management and storage of a user's personal calendar. Multiple
+ clients can connect to the &PCS; simultaneously to query and
+ modify the user's calendar in a synchronized fashion. The main
+ features of the &PCS; are as follows:
</para>
+
+ <formalpara>
+ <title>Storage</title>
+
+ <para>
+ The &PCS; is responsible for loading and saving calendars.
+ Centralizing the loading and saving functionality allows
+ multiple clients to use the same calendar at the same time
+ without having to worry about each other.
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Basic Queries</title>
+
+ <para>
+ The &PCS; provides functions to do basic queries on a
+ calendar, for example, a client can ask the server for a list
+ of all the appointments in the calendar, or for all the data
+ for a specific appointment.
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Recurrence and Alarm Queries</title>
+
+ <para>
+ Clients can ask the &PCS; for a list of the appointments that
+ occur within a specified time range; for example a graphical
+ client that has a per-week view could ask the &PCS; for all
+ the appointments that occur in a particular week. This
+ includes multiple occurrences of a single recurring event; for
+ example, the object for &ldquo;a 1-hour meeting that occurs on
+ every Tuesday and Thursday&rdquo; is represented inside the
+ &PCS; as a single event with a recurrence rule. Similarly,
+ clients can ask the &PCS; for a list of events that have
+ alarms that trigger within a specified time range.
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Notification of Changes</title>
+
+ <para>
+ This is the most important function of the &PCS;, as it allows
+ multiple calendar clients to maintain a unified view of the
+ calendar between the server and themselves. When a client
+ asks the &PCS; to modify or remove an event, the &PCS;
+ notifies all the clients that are connected to it about the
+ change. The policy is that &ldquo;the server is always
+ right&rdquo;; clients can act as dumb views onto the
+ calendar's data and they will be notified by the &PCS; when
+ something changes.
+ </para>
+ </formalpara>
</sect1>
</article>