
Let's have it as it's common to be, which means top level src/ for sources, single data/ for data, and so on.
114 lines
3.7 KiB
Plaintext
114 lines
3.7 KiB
Plaintext
<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:
|
|
-->
|