aboutsummaryrefslogtreecommitdiffstats
path: root/doc/devel/preface.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/devel/preface.sgml')
-rw-r--r--doc/devel/preface.sgml113
1 files changed, 113 insertions, 0 deletions
diff --git a/doc/devel/preface.sgml b/doc/devel/preface.sgml
new file mode 100644
index 0000000000..fdaa824a8b
--- /dev/null
+++ b/doc/devel/preface.sgml
@@ -0,0 +1,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:
+-->