1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
<preface id="introduction">
<title>Introduction</title>
<para>
This is the &Evolution; Developer's Guide or programming guide
for the &Evolution; groupware suite. If you are a programmer
and you wish to use &Evolution;'s functionality from your own
applications or if you wish to modify the &Evolution; core code,
you should read this guide.
</para>
<para>
If you are an end-user of &Evolution; you do not need to read
this guide; please read the &Evolution; User's Guide instead.
</para>
<para>
This guide contains the information you need to know to do the
following:
<itemizedlist>
<listitem>
<para>
Write applications that use &Evolution;'s data
repositories via the &Wombat; personal information server.
Examples of this would be a <application>GNOME
Panel</application> applet that displays today's
appointments, or a telephone dialer application that uses
the contents of the &Evolution; Addressbook.
</para>
</listitem>
<listitem>
<para>
Write applications that use the &Camel; mail library.
This includes extending &Evolution;'s own mail component
to perform additional functions.
</para>
</listitem>
<listitem>
<para>
Write new components for the &Evolution; Shell. Instead
of writing a stand-alone application, you can provide your
users with the benefit of having integrated views of their
data from within Evolution.
</para>
</listitem>
<listitem>
<para>
Write new modules for the &Evolution; Executive Summary.
This allows you to present commonly-accessed information
in a convenient fashion directly in the &Evolution; Shell.
</para>
</listitem>
<listitem>
<para>
Modify the core &Evolution; code to add new features or
change its architecture.
</para>
</listitem>
</itemizedlist>
</para>
<sect1 id="organization">
<title>Organization of this Guide</title>
<para>
This guide is organized in two big sections. The first is a
programming guide, which consists of one part for each one of
&Evolution;'s components: there are separate parts for the
calendar, the addressbook, the mailer, the executive summary,
and the shell. Each part gives a description of the
architecture of its corresponding component, and also gives
information about the component's internal architecture and
some implementation details.
</para>
<para>
The second section of this guide is a reference guide for
&Evolution;'s programming interfaces. We have separated these
into public and private interfaces. The public ones are those
that most people will need to use when writing extensions or
third-party components; the private interfaces are those used
internally in &Evolution;. Even if you do not intend to
modify the &Evolution; core code, it may be useful to know a
bit about the way it is organized internally.
</para>
<para>
&Evolution; is free software, and we want you as a programmer
to make the most of it. We have provided many useful
interfaces that you can use in your own applications. Still,
we want you to view &Evolution; as a framework for building
groupware applications, and this may occasionally involve
making changes to its core code. We want you to learn from
&Evolution;'s design because we think it marks an important
milestone in the development of large-scale free software
applications. We want you to modify it as you see fit. Free
software gives you this freedom, and we want the whole world
to benefit from it.
</para>
</sect1>
</preface>
<!--
Local variables:
mode: sgml
sgml-parent-document: ("evolution-devel-guide.sgml" "book" "book" "")
End:
-->
|